Wara xahrejn ta 'żvilupp, Linus Torvalds rilaxx tal-qalba . Fost l-aktar bidliet notevoli: appoġġ għall-GPUs AMD Navi, proċessuri Zhaoxi u teknoloġija tal-ġestjoni tal-enerġija Intel Speed Select, il-kapaċità li tuża struzzjonijiet umwait biex tistenna mingħajr ma tuża ċikli,
il-mod ta '"utilizzation clamping" iżid l-interattività għal CPUs asimmetriċi, is-sejħa tas-sistema pidfd_open, il-kapaċità li tuża indirizzi IPv4 mis-subnet 0.0.0.0/8, il-possibbiltà ta' aċċelerazzjoni tal-ħardwer nftables, appoġġ HDR fis-subsistema DRM, integrazzjoni tal-ACRN iperviżur.
В rilaxx ġdid, Linus fakkar lill-iżviluppaturi kollha dwar ir-regola ewlenija tal-iżvilupp tal-qalba - iż-żamma tal-istess imġieba għall-komponenti tal-ispazju tal-utent. Bidliet fil-qalba m'għandhom bl-ebda mod ikissru applikazzjonijiet li diġà qed jaħdmu jew iwasslu għal rigressjonijiet fil-livell tal-utent. F'dan il-każ, ksur ta 'mġieba jista' jikkawża mhux biss bidla fl-ABI, it-tneħħija ta 'kodiċi skadut, jew id-dehra ta' żbalji, iżda wkoll l-impatt indirett ta 'titjib utli li jaħdem b'mod korrett. Bħala eżempju illustrattiv kien hemm utli fil-kodiċi Ext4, li jnaqqas in-numru ta 'aċċessi drajv billi jiskonnettja l-qari minn qabel tat-tabella inode għal talbiet żgħar I/O.
L-ottimizzazzjoni wasslet għall-fatt li, minħabba tnaqqis fl-attività tad-diska, l-entropija għall-ġeneratur ta’ numru aleatorju getrandom() bdiet takkumula aktar bil-mod u f’xi konfigurazzjonijiet, taħt ċerti ċirkostanzi, l-iffriżar setgħu jiġu osservati waqt it-tagħbija sakemm il-pool entropy kien mimlija. Peress li l-ottimizzazzjoni hija tassew utli, qamet diskussjoni fost l-iżviluppaturi li fiha kien propost li tissewwa l-problema billi tiddiżattiva l-mod ta 'imblukkar default tas-sejħa getrandom() u żżid bandiera fakultattiva biex tistenna l-entropija, iżda bidla bħal din taffettwa l- kwalità tan-numri każwali fl-istadju inizjali tat-tagħbija.
Il-verżjoni l-ġdida tinkludi 15794 soluzzjoni minn 1974 żviluppatur,
daqs tal-garża - 92 MB (bidliet affettwati 13986 fajls, miżjuda 258419 linja ta 'kodiċi,
599137 ringieli mneħħija). Madwar 39% ta 'kollha ppreżentata f'5.3
il-bidliet huma relatati mas-sewwieqa tal-apparat, madwar 12% tal-bidliet għandhom
attitudni lejn l-aġġornament tal-kodiċi speċifiku għall-arkitetturi tal-ħardwer, 11%
relatati mal-munzell tan-netwerk, 3% għal sistemi ta 'fajls u 3% għal interni
sottosistemi tal-qalba.
:
- Servizzi ta' memorja u sistema
- Żvilupp kontinwu tal-funzjonalità 'pidfd' biex tgħin fl-immaniġġjar ta' sitwazzjonijiet ta' użu mill-ġdid tal-PID (pidfd huwa assoċjat ma' proċess speċifiku u ma jinbidilx, filwaqt li PID jista' jiġi assoċjat ma' proċess ieħor wara li jintemm il-proċess attwali assoċjat ma' dak il-PID). Preċedentement kien miżjud mal-qalba
Sejħa tas-sistema pidfd_send_signal() u l-bandiera CLONE_PIDFD fis-sejħa clone() biex tikseb pidfd għall-użu f'idfd_send_signal(). L-użu ta' clone() bil-bandiera CLONE_PIDFD jista' jikkawża problemi mal-maniġers tas-servizz jew mas-sistema ta' terminazzjoni tal-forza barra mill-memorja tal-pjattaforma Android. F'dan il-każ, sejħa għal fork() jew clone() mingħajr CLONE_PIDFD tintuża biex tibda.Kernel 5.3 introduċa s-sejħa tas-sistema , li jippermettilek li tikseb pidfd verifikabbli għal proċess eżistenti arbitrarju li ma nħoloqx billi ssejjaħ clone() bil-bandiera CLONE_PIDFD. Żid ukoll appoġġ għall-votazzjoni pidfd bl-użu ta 'poll() u epoll(), li jippermetti lill-maniġers tal-proċessi jsegwu t-terminazzjoni ta' proċessi arbitrarji mingħajr biża 'ta' kundizzjoni tar-razza jekk PID jiġi assenjat għal proċess ġdid. Il-mekkaniżmu biex jiġi nnotifikat li proċess assoċjat mal-pidfd intemm huwa l-istess bħal notifika li l-proċess tifel tiegħu spiċċa;
- L-appoġġ għall-mekkaniżmu tal-pinning tat-tagħbija ġie miżjud mal-iskedar tal-kompiti (), li jippermettilek taderixxi mal-firxiet tal-frekwenza minimi jew massimi, skont il-kompiti attivi fuq is-CPU. Il-mekkaniżmu ppreżentat iħaffef il-kompiti li jaffettwaw direttament il-kwalità tal-esperjenza tal-utent billi jmexxi dawn il-kompiti tal-inqas fit-tarf t'isfel tal-frekwenza "rikjesta". Ħidmiet bi prijorità baxxa li ma jaffettwawx ix-xogħol tal-utent huma mnedija bl-użu tal-limitu ta 'fuq tal-frekwenza "permess". Il-limiti huma stabbiliti permezz tal-attributi sched_uclamp_util_min u sched_uclamp_util_max fis-sejħa tas-sistema sched_setattr().
- Appoġġ miżjud għat-teknoloġija tal-ġestjoni tal-enerġija , disponibbli fuq servers magħżula bi proċessuri Intel Xeon. Din it-teknoloġija tippermettilek li tissettja s-settings tal-prestazzjoni u tal-fluss tal-partizzjoni għal cores CPU differenti, li jippermettilek tipprijoritizza l-prestazzjoni għall-kompiti mwettqa fuq ċerti qlub, billi tissagrifika l-prestazzjoni fuq qlub oħra;
- Proċessi fl-ispazju tal-utent l-abbiltà li tistenna għal żmien qasir mingħajr ma tuża loops billi tuża l-istruzzjoni umwait. Din l-istruzzjoni, flimkien mal-istruzzjonijiet umonitor u tpause, se jiġu offruti fiċ-ċipep "Tremont" li jmiss ta 'Intel, u se jippermettu l-implimentazzjoni ta' dewmien li huma effiċjenti fl-enerġija u ma jaffettwawx il-prestazzjoni ta 'ħjut oħra meta tuża Hyper Threading;
- Għall-arkitettura RISC-V, ġie miżjud appoġġ għal paġni kbar tal-memorja;
- Il-mekkaniżmu ta 'traċċar ta' kprobes żied il-kapaċità li dereference pointers tal-kernel għall-ispazju tal-utent, li jista 'jintuża, pereżempju, biex jevalwa l-kontenut ta' strutturi mgħoddija għas-sejħiet tas-sistema. Ġiet miżjuda wkoll il-kapaċità li jiġu installati kontrolli fl-istadju tal-but.
- Miżjud l-għażla PREEMPT_RT mal-fajl tal-konfigurazzjoni għal tħaddim f'ħin reali. Il-kodiċi innifsu biex jappoġġja l-modalità f'ħin reali għadu ma ġiex miżjud mal-qalba, iżda d-dehra tal-għażla hija sinjal tajjeb li l-epika fit-tul Irqajja Realtime-Preempt qed joqorbu lejn it-tlestija;
- Miżjud is-sejħa tas-sistema clone3() bl-implimentazzjoni ta 'verżjoni aktar estensibbli tal-interface clone(), li tippermetti li tispeċifika numru akbar ta' bnadar;
- Miżjud bpf_send_signal() handler, li jippermetti lill-programmi BPF jibagħtu sinjali lil proċessi arbitrarji;
- Għal avvenimenti perf fl-ambjent tal-hypervisor KVM, ġie miżjud mekkaniżmu ġdid ta 'filtrazzjoni tal-avvenimenti, li jippermetti lill-amministratur jiddetermina t-tipi ta' avvenimenti li huma permessi jew mhux permessi għall-monitoraġġ fuq in-naħa tas-sistema mistiedna;
- Il-kapaċità li jiġu pproċessati programmi b'linji ġiet miżjuda mal-mekkaniżmu ta 'verifika tal-applikazzjoni tal-eBPF jekk l-eżekuzzjoni tal-linja hija limitata u ma tistax twassal biex jinqabeż il-limitu fuq in-numru massimu ta' struzzjonijiet;
- Żvilupp kontinwu tal-funzjonalità 'pidfd' biex tgħin fl-immaniġġjar ta' sitwazzjonijiet ta' użu mill-ġdid tal-PID (pidfd huwa assoċjat ma' proċess speċifiku u ma jinbidilx, filwaqt li PID jista' jiġi assoċjat ma' proċess ieħor wara li jintemm il-proċess attwali assoċjat ma' dak il-PID). Preċedentement kien miżjud mal-qalba
- Sottosistema tad-disk, I/O u sistemi ta' fajls
- Is-sistema tal-fajls XFS issa tappoġġja bypass inode multi-threaded (pereżempju, meta tiċċekkja l-kwoti). Ġew miżjuda ioctls ġodda BULKSTAT u INUMBERS, li jipprovdu aċċess għall-karatteristiċi li dehru fil-ħames edizzjoni tal-format FS, bħall-ħin tat-twelid tal-inode u l-abbiltà li jiġu stabbiliti l-parametri BULKSTAT u INUMBERS għal kull grupp AG (Gruppi ta 'Allokazzjoni);
- F'Ext4 vojt fid-direttorji (blokki mhux marbuta).
bandiera "i" (immutabbli) għal fajls miftuħa (il-kitba hija pprojbita f'sitwazzjoni jekk il-bandiera ġiet issettjata fi żmien meta l-fajl kien diġà miftuħ); - Btrfs jipprovdi definizzjoni ta' implimentazzjoni mgħaġġla ta' crc32c fuq l-arkitetturi kollha;
- Fis-CIFS, il-kodiċi għall-appoġġ smbdirect tneħħa bħala żvilupp sperimentali. SMB3 żied il-kapaċità li juża algoritmi kriptografiċi fil-mod GCM. Miżjud għażla ta 'muntatura ġdida biex jiġu estratti l-parametri tal-mod mill-entrati ACE (Access Control Entry). Ottimizzat il-prestazzjoni tas-sejħa open();
- Miżjud għażla għal F2FS biex tillimita l-kollettur taż-żibel meta taħdem fil-punt ta 'kontroll = mod tiddiżattiva. Miżjud ioctl biex jitneħħew firxiet ta 'blokki minn F2FS, li jippermetti aġġustamenti tad-daqs tal-partizzjoni fuq il-fly. Żid il-ħila li tpoġġi fajl ta 'skambju f'F2FS biex tipprovdi I/O dirett. Appoġġ miżjud għall-pinning ta 'fajl u l-allokazzjoni ta' blokki għal fajls simili għall-utenti kollha;
- Miżjud appoġġ għal operazzjonijiet asinkroniċi sendmsg() u recvmsg() mal-interface għal input/output asinkroniku io_uring;
- Appoġġ għall-kompressjoni bl-użu tal-algoritmu zstd u l-abbiltà li tivverifika immaġini FS iffirmati ġew miżjuda mas-sistema tal-fajls UBIFS;
- Ceph FS issa jappoġġja t-tikketti tas-sigurtà SELinux għall-fajls;
- Għal NFSv4, ġiet implimentata għażla ta 'muntaġġ ġdida "nconnect=", li tiddetermina n-numru ta' konnessjonijiet stabbiliti mas-server. It-traffiku bejn dawn il-konnessjonijiet se jitqassam bl-użu tal-ibbilanċjar tat-tagħbija. Barra minn hekk, is-server NFSv4 issa joħloq direttorju /proc/fs/nfsd/clients b'informazzjoni dwar il-klijenti attwali, inkluża informazzjoni dwar il-fajls li fetħu;
- Virtualization u Sigurtà
- Il-qalba tinkludi hypervisor għal apparati inkorporati , li hija miktuba b'għajnejha biex tkun lesta għal kompiti f'ħin reali u adattabilità għall-użu f'sistemi kritiċi għall-missjoni. L-ACRN jipprovdi overhead minimu, jiggarantixxi latenza baxxa u rispons adegwat meta jinteraġixxi mat-tagħmir. Jappoġġja l-virtwalizzazzjoni tar-riżorsi tas-CPU, I/O, subsistema tan-netwerk, grafika u operazzjonijiet tal-ħoss. L-ACRN jista 'jintuża biex iħaddem magni virtwali iżolati multipli f'unitajiet ta' kontroll elettroniċi, dashboards, sistemi ta 'informazzjoni tal-karozzi, apparati IoT tal-konsumatur u teknoloġija inkorporata oħra;
- Fil-Linux tal-Utent-mode Mod ta 'vjaġġar fil-ħin, li jippermettilek tnaqqas jew tħaffef il-ħin f'ambjent UML virtwali biex tagħmilha aktar faċli biex tiddibaggja kodiċi relatat mal-ħin. Barra minn hekk, ġie miżjud parametru
time-travel-start, li jippermetti li l-arloġġ tas-sistema jibda minn mument speċifikat f'format epoch; - Għażliet ġodda tal-linja tal-kmand tal-kernel “init_on_alloc” u “init_on_free” ġew miżjuda, meta speċifikati, iż-żero ta’ żoni ta’ memorja allokati u meħlusa huwa attivat (mili b’żerijiet għal malloc u ħielsa), li jippermetti żieda fis-sigurtà minħabba overhead ta’ inizjalizzazzjoni addizzjonali;
- Sewwieq ġdid miżjud bl-implimentazzjoni ta 'apparat paravirtualizzat li jippermettilek li tibgħat talbiet IOMMU bħal ATTACH, DETACH, MAP u UNMAP fuq it-trasport virtio mingħajr ma jimita t-tabelli tal-paġna tal-memorja;
- Sewwieq ġdid miżjud , li jirrappreżenta aċċess għal apparati ta' ħażna mmappjati għal spazju ta' indirizz fiżiku, bħal NVDIMMs;
- Implimenta l-abbiltà li tehmeż ċwievet kriptografiċi ma 'utent jew spazju tal-isem tan-netwerk (ċwievet isiru inaċċessibbli barra mill-ispazju tal-isem magħżul), kif ukoll jipproteġu ċwievet bl-użu ta' ACLs;
- Lis-sottosistema kripto appoġġ għal algoritmu ta' hashing mhux kriptografiku veloċi ħafna , li l-veloċità tagħha tiddependi fuq il-prestazzjoni tal-memorja;
- Subsistema tan-netwerk
- Ippermetta l-ipproċessar tal-indirizzi IPv4 fil-medda 0.0.0.0/8, li qabel ma kienx disponibbli għall-użu. Introduzzjoni ta' dan is-subnet iqassam 16-il miljun indirizz IPv4 ieħor;
- F'Netfilter għal nftables appoġġ għal mekkaniżmi ta 'aċċelerazzjoni tal-ħardwer għall-iffiltrar tal-pakketti permezz tal-użu ta' sewwieqa miżjuda . Tabelli sħaħ tar-regoli bil-ktajjen kollha jistgħu jitqiegħdu fuq in-naħa tal-adapters tan-netwerk. L-abilitazzjoni ssir billi torbot il-bandiera NFT_TABLE_F_HW mat-tabella. Jappoġġja metadejta sempliċi tal-protokoll ta 'Layer 3 u Layer 4, jaċċetta/tiċħad azzjonijiet, mappings mill-IP u portijiet tan-netwerk tal-mittent/riċevitur u t-tip ta' protokoll;
- appoġġ integrat ta 'traċċar ta' konnessjoni għal pontijiet tan-netwerk, li ma jeħtieġx l-użu tas-saff ta 'emulazzjoni br_netfilter;
- F'nf_tables appoġġ għall-modulu SYNPROXY, li jirreplika funzjonalità simili minn iptables, u l-abbiltà li jiċċekkjaw regoli għal għażliet individwali fil-header IPv4 hija implimentata wkoll;
- Żid il-ħila li tehmeż programmi BPF mas-sejħiet tas-sistema setsockopt() u getsockopt(), li, per eżempju, tippermettilek tehmeż il-handlers tal-aċċess tiegħek stess għal dawn is-sejħiet. Barra minn hekk, ġie miżjud punt ta 'sejħa (ganċ) ġdid, li bih tista' torganizza sejħa għall-programm BPF darba għal kull intervall RTT (round-trip-time, ping time);
- Għal IPv4 u IPv6 mekkaniżmu ġdid għall-ħażna tad-dejta tar-routing nexthop immirat biex iżid l-iskalabbiltà tat-tabelli tar-routing. It-testijiet urew li meta tintuża s-sistema l-ġdida, sett ta’ 743 elf rotta tgħabba fil-qalba f’4.3 sekondi biss;
- Għall-Bluetooth funzjonalità meħtieġa biex tappoġġja LE ping;
- Оборудование
- appoġġ għall-proċessuri x86 tal-kumpanija kompatibbli , żviluppat bħala riżultat ta 'proġett konġunt bejn VIA Technologies u l-Muniċipalità ta' Shanghai. Il-familja ZX CPU hija mibnija fuq l-arkitettura x86-64 Isaija, li tkompli l-iżvilupp tat-teknoloġija ;
- Is-subsistema DRM (Direct Rendering Manager), kif ukoll is-sewwieqa tal-grafika amdgpu u i915, żiedu appoġġ għall-parsing, l-ipproċessar u l-bgħit ta’ metadejta HDR (medda dinamika għolja) permezz tal-port HDMI, li jippermettu l-użu ta’ pannelli HDR u skrins kapaċi wiri firxiet ta' luminożità addizzjonali;
- Is-sewwieq amdgpu żied l-appoġġ inizjali għall-AMD NAVI GPU (RX5700), li jinkludi s-sewwieq bażi, il-kodiċi tal-interazzjoni tal-iskrin (DCN2), il-GFX u l-appoġġ tal-komputazzjoni (GFX10),
SDMA 5 (Sistema DMA0), ġestjoni tal-enerġija u encoders/decoders multimedjali (VCN2). amdgpu jtejjeb ukoll l-appoġġ għall-karti bbażati fuq Vega12 u Vega20 GPUs, li għalihom ġew miżjuda memorja addizzjonali u kapaċitajiet ta 'ġestjoni tal-enerġija; - Appoġġ miżjud għall-karti bbażati fuq VegaM GPUs lis-sewwieq amdkfd (għal GPU diskreti, bħal Fiji, Tonga, Polaris);
- Fis-sewwieq DRM għal kards tal-vidjo Intel għaċ-ċipep Icelake modalità ġdida ta 'korrezzjoni gamma b'ħafna segmenti. Miżjud l-abbiltà li toħroġ permezz DisplayPort fil-format YCbCr4:2:0. Firmware ġdid miżjud għal SKL, BXT, KBL, GLK u ICL. Ġiet implimentata l-abbiltà li titfi l-enerġija tal-iskrin fil-modalità asinkronika. appoġġ għall-iffrankar u r-restawr tal-kuntest tar-rendi għal ċipep Ironlake (gen5) u gen4 (Broadwater - Cantiga), li jippermettilek tirrestawra l-istat tal-GPU mill-ispazju tal-utent meta tiċċaqlaq minn operazzjoni ta 'lott għal oħra;
- Is-sewwieq Nouveau jipprovdi skoperta taċ-chipset NVIDIA Turing TU116;
- Il-kapaċitajiet tas-sewwieq DRM/KMS għall-aċċeleraturi tal-iskrin ARM Komeda (Mali D71) ġew estiżi, appoġġ għall-iskala, saffi maqsuma/għaqda, rotazzjoni, kitba differita, AFBC, SMMU u formati ta 'kodifikazzjoni tal-kulur Y0L2, P010, YUV420_8/10BIT għandha ġew miżjuda;
- Is-sewwieq MSM iżid appoġġ għas-serje A540 GPU Adreno użata fil-proċessuri Qualcomm, kif ukoll appoġġ għall-kontrollur MSM8998 DSI għal Snapdragon 835;
- Sewwieqa miżjuda għall-pannelli LCD Samsung S6E63M0, Armadeus ST0700, EDT ETM0430G0DH6, OSD101T2045-53TS,
Evervision VGG804821, FriendlyELEC HD702E, KOE tx14d24vm1bpa, TFC S9700RTWV43TR-01B, EDT ET035012DM6 u VXT VL050-8048NT-C01; - sewwieq biex jippermetti għodod ta 'aċċelerazzjoni tad-dekodifikazzjoni
vidjows disponibbli f'Amlogic Meson SoC; - Fis-sewwieq v3d (għall-Broadcom Video Core V GPU użat fil-Raspberry Pi) deher Dispaċċ ta' shaders tal-kompjuter;
- sewwieq għal tastieri SPI u trackpads użati f'mudelli moderni ta 'laptops Apple MacBook u MacBookPro;
- protezzjoni addizzjonali għal sejħiet ioctl assoċjati mas-sewwieq tal-floppy, u s-sewwieq innifsu huwa mmarkat bħala mhux miżmuma
(“orfni”), li jimplika t-terminazzjoni tal-ittestjar tagħha. Is-sewwieq għadu maħżun fil-qalba, iżda l-operat korrett tiegħu mhuwiex garantit. Is-sewwieq huwa kkunsidrat skadut, peress li huwa diffiċli li ssib tagħmir tax-xogħol għall-ittestjar tiegħu - id-drajvs esterni kurrenti kollha, bħala regola, jużaw l-interface USB. - Driver cpufreq għal bordijiet Raspberry Pi, li jippermettilek tikkontrolla b'mod dinamiku bidliet fil-frekwenza tal-proċessur;
- Appoġġ miżjud għal ARM SoC Mediatek mt8183 il-ġdid (4x Cortex-A73 + 4x Cortex-A53), TI J721E (2x Cortex-A72 + 3x Cortex-R5F + 3 DSPs + MMA) u Amlogic G12B (4x Cortex-A73 + 2x Cortex- A53 ), kif ukoll bordijiet:
- ,
- Aspeed BMC,
- Microsoft Olympus BMC,
- Kontron SMARC,
- Novtech Meerkat96 (i.MX7),
- ST Micro Avenger96,
- Google Cheza (Qualcomm SDM845),
- Qualcomm Dragonboard 845c (Qualcomm SDM845),
- Hugsun X99 TV Box (Rockchip RK3399),
- Khadas Edge/Edge-V/Kaptan (Rockchip RK3399),
- HiHope RZ/G2M,
- NXP LS1021A-TSN.
Fl-istess ħin, il-Fondazzjoni tas-Software Ħieles tal-Amerika Latina
għażla - , imneħħi minn elementi tal-firmware u tas-sewwieq li jkun fihom komponenti mhux ħielsa jew sezzjonijiet tal-kodiċi, li l-ambitu tagħhom huwa limitat mill-manifattur. Fir-rilaxx il-ġdid, it-tagħbija tal-blob hija diżattivata fis-sewwieqa qcom, hdcp drm, allegro-dvt u meson-vdec.
Kodiċi aġġornat tat-tindif blob fis-sewwieqa u sottosistemi amdgpu, i915, netx, r8169, brcmfmac, rtl8188eu, adreno, si2157, pvrusb2, touchscreen_dmi, sewwieq tal-ħoss għal skylake, kif ukoll fid-dokumentazzjoni tal-mikrokodiċi.
Sors: opennet.ru
