I-Linux kernel 5.14

I-Linux kernel 5.14

Ngemuva kwezinyanga ezimbili zokuthuthuka, uLinus Torvalds kwethulwa ukukhishwa kwe-kernel Linux 5.14. Phakathi kwezinguquko eziphawuleka kakhulu: izingcingo ezintsha ze-quotactl_fd() kanye ne-memfd_secret() zesistimu, ukususwa kwe-ide namashayeli angavuthiwe, isilawuli esisha se-I/O esibalulekile seqembu, imodi ye-SCHED_CORE yokuhlela umsebenzi, ingqalasizinda yokudala izilayishi zohlelo ze-BPF eziqinisekisiwe.

Inguqulo entsha ihlanganisa ukulungiswa okungu-15883 okuvela kubathuthukisi abangu-2002, usayizi wesichibi ungu-69 MB (ushintsho luthinte amafayela angu-12580, imigqa yekhodi engu-861501 yengeziwe, imigqa engu-321654 isusiwe). Cishe u-47% wazo zonke izinguquko ezethulwe ku-5.14 zihlobene nezishayeli zedivayisi, cishe u-14% wezinguquko zihlobene nokubuyekeza ikhodi eqondene nezakhiwo zehadiwe, u-13% uhlobene nesitaki senethiwekhi, u-3% uhlobene nezinhlelo zamafayela, futhi u-3% zihlobene nesistimu ye-kernel yangaphakathi.

main emisha:

  • i-disk subsystem, okokufaka/okuphumayo kanye nezinhlelo zefayela:
    • kweqembu kwenziwe isilawuli esisha se-I/O - rq-qos, esingalawula ukucubungula kuqala kwezicelo zokuvimba amadivayisi akhiqizwa amalungu eqembu ngalinye. Usekelo olusha lwesilawuli olubalulekile lwengeziwe kusihleli se-I/O sosuku lokugcina lwe-mq;
    • kusistimu yefayela ye-ext4 kwenziwe umyalo omusha we-ioctl EXT4_IOC_CHECKPOINT, ophoqelela konke okwenziwayo okusalindile kusuka kulogi namabhafa ahlotshaniswayo kudiski, futhi kusula indawo esetshenziswa ilogu kusitoreji. Ushintsho lwalungiswa njengengxenye yesinyathelo sokuvimbela ukuvuza kolwazi ezinhlelweni zamafayela;
    • kwe Btrfs yethulwe Ukulungiselelwa kokusebenza: Ngokususa ukugawulwa kwemithi okungadingekile kwezibaluli ezinwetshiwe ngesikhathi sokwenziwa kwe-fsync, ukusebenza kwemisebenzi ejulile enezibaluli ezinwetshiwe kukhuphuke kufika ku-17%. Ukwengeza, lapho kwenziwa imisebenzi yokunquma engathinti izinga, ukuvumelanisa okugcwele kukhutshaziwe, okunciphise isikhathi sokusebenza ngo-12%. Isilungiselelo sengeziwe kuma-sysfs ukuze kukhawulwe umkhawulokudonsa we-I/O lapho kuhlolwa i-FS. Kwengezwe amakholi e-ioctl ukuze kukhanselwe ukukhulisa usayizi kanye nokususa ukusebenza kwedivayisi;
    • ku-XFS isebenze kabusha ukuqaliswa kwe-cache ye-buffer, edluliselwa ekwabiweni kwamakhasi ememori kwimodi ye-batch. Ukusebenza kahle kwe-cache;
    • I-F2FS yengeze inketho yokusebenza kumodi yokufunda kuphela futhi yasebenzisa imodi yokugcinwa kwesikhashana yebhulokhi ecindezelwe (compress_cache) ukuze kuthuthukiswe ukusebenza kokufunda okungahleliwe. Usekelo lwenziwe lokucindezela amafayela afakwe kumephu kumemori kusetshenziswa umsebenzi we-mmap(). Ukukhubaza ngokukhetha ukucindezelwa kwefayela ngemaski, kuhlongozwe inketho entsha ye-nocompress;
    • kwenziwe umsebenzi kumshayeli we-exFAT ukuthuthukisa ukuhambisana nokugcinwa kwamakhamera athile edijithali;
    • wengeze ikholi yesistimu I-quotactl_fd(), okuvumela ukuthi uphathe ama-quota hhayi ngefayela ledivayisi ekhethekile, kodwa ngokucacisa isichazi sefayela esihlotshaniswa nesistimu yefayela lapho kusetshenziswa khona isabelo;
    • Abashayeli bakudala bamadivayisi avinjiwe ane-interface ye-IDE basusiwe ku-kernel; sekuyisikhathi eside bathathelwa indawo yi-libata subsystem. Ukusekelwa kwamadivayisi amadala kugcinwe ngokugcwele, izinguquko zithinta kuphela ikhono lokusebenzisa abashayeli bakudala, lapho usebenzisa amadrayivu abizwa ngokuthi /dev/hd*, hhayi /dev/sd*;
    • Umshayeli "oluhlaza" ukhishiwe ku-kernel, enikeza ukufinyelela okungavimbeli ukuvimba amadivayisi nge-interface /dev/raw. Lokhu kusebenza kudala kusetshenziswa ezinhlelweni kusetshenziswa ifulegi le-O_DIRECT;
  • inkumbulo namasevisi esistimu:
    • imodi entsha yokushejula isetshenziswe kusihleli somsebenzi SCHED_CORE, okukuvumela ukuthi ulawule ukuthi yiziphi izinqubo ezingasebenza ndawonye kumongo ofanayo we-CPU. Inqubo ngayinye inganikezwa isihlonzi sekhukhi esichaza ububanzi bokwethembana phakathi kwezinqubo (isibonelo, okomsebenzisi ofanayo noma isiqukathi). Lapho ehlela ukukhishwa kwekhodi, umhleli angaqinisekisa ukuthi umgogodla owodwa we-CPU wabiwa kuphela phakathi kwezinqubo ezihlotshaniswa nomnikazi ofanayo, ezingasetshenziswa ukuvimba okunye ukuhlasela kwe-Specter ngokuvimbela imisebenzi ethembekile nengathenjelwa ekusebenzeni kuchungechunge olufanayo lwe-SMT (Hyper Threading) ;
    • kumshini weqembu, ukusekelwa komsebenzi wokubulala sekuqalisiwe, okukuvumela ukuthi ubulale zonke izinqubo ezihlobene neqembu ngesikhathi esisodwa (thumela i-SIGKILL) ngokubhala "1" kufayela elibonakalayo elithi cgroup.kill;
    • amakhono anwetshiwe ahlobene nokusabela ekutholweni kokukhiya okuhlukanisiwe (“izikhiye ezihlukanisiwe”) ezenzeka lapho ufinyelela idatha engaqondile enkumbulweni ngenxa yokuthi lapho kusetshenziswa umyalo we-athomu, idatha yeqa imigqa emibili yenqolobane ye-CPU. Ukuvinjwa okunjalo kuholela ekwehleni okuphawulekayo kokusebenza, ngakho-ke ngaphambili kwakungenzeka ukunqamula ngokuqinile isicelo esibangele ukuvinjelwa. Ukukhishwa okusha kungeza ipharamitha yomugqa womyalo we-kernel “split_lock_detect=ratelimit:N”, ekuvumela ukuthi uchaze umkhawulo wohlelo olubanzi kuzinga lokukhiya ngomzuzwana, ngemva kokweqa lapho noma iyiphi inqubo eyaba umthombo wokukhiya okuhlukanisiwe izoba khona. baphoqeleke ukuthi bame ama-20 ms esikhundleni sokunqamula;
    • Isilawuli somkhawulokudonsa weqoqo CFS (CFS isilawuli somkhawulokudonsa), esinquma ukuthi singakanani isikhathi sokucubungula esingabelwa iqoqo ngalinye, sinamandla okuchaza imikhawulo enqunyelwe ubude besikhathi obuthile besenzo, okuvumela ukulawulwa okungcono kwemithwalo ezwelayo ukubambezeleka. Isibonelo, ukusetha i-cpu.cfs_quota_us kuya ku-50000 kanye ne-cpu.cfs_period_us ukuya ku-100000 kuzovumela iqembu lezinqubo ukuthi lichithe u-100ms wesikhathi se-CPU njalo ngo-50ms;
    • kwengezwe ingqalasizinda yokuqala yokwakha izilayishi zezinhlelo ze-BPF, ezizophinde zivumele ukulandwa kwezinhlelo ze-BPF ezisayinwe ngokhiye othembekile wedijithali;
    • wengeze umsebenzi omusha we-futex FUTEX_LOCK_PI2, osebenzisa isibali sikhathi se-monotonic ukubala isikhathi sokuvala, esicabangela isikhathi esichithwa isistimu kumodi yokulala;
    • ngesakhiwo se-RISC-V, ukusekelwa kwamakhasi amakhulu enkumbulo (Transparent Huge-Pages) kanye nekhono lokusebenzisa KFENCE ukukhomba amaphutha lapho usebenza ngenkumbulo;
    • ocingweni lwe-madvise() uhlelo, oluhlinzeka ngendlela yokwandisa ukuphathwa kwememori yenqubo, kwengezwe Amafulegi we-MADV_POPULATE_READ kanye ne-MADV_POPULATE_WRITE ukuze enze "iphutha lekhasi" kuwo wonke amakhasi ememori afakwe kumephu yokufunda noma ukubhala imisebenzi, ngaphandle kokwenza ukufunda noma ukubhala kwangempela (okuzenzakalelayo). Ukusetshenziswa kwamafulegi kungaba usizo ekwehliseni ukubambezeleka ekusebenzeni kohlelo, sibonga ukuqaliswa okusebenzayo kwesibambi "sephutha lekhasi" kuwo wonke amakhasi angabiwe ngesikhathi esisodwa, ngaphandle kokulinda ukufinyelela kwangempela kuwo;
    • ohlelweni lokuhlola iyunithi kuthini kwengezwe ukusekelwa kokuhlolwa kokuhlolwa endaweni ye-QEMU;
    • ama-tracers amasha angeziwe: "umsindo"ukulandelela ukubambezeleka kwezinhlelo zokusebenza okubangelwa ukuphathwa kokuphazamiseka, kanye "ne-timerlat" ukubonisa ulwazi oluningiliziwe mayelana nokubambezeleka lapho uvuka kusignali yesibali sikhathi;
  • i-virtualization nokuphepha:
    • kungezwe ikholi yesistimu memfd_secret(), okuvumela ukuthi udale indawo yememori yangasese endaweni yekheli elingalodwa, elibonakala kuphela kwinqubo yomnikazi, engabonakali kwezinye izinqubo futhi engafinyeleleki ngokuqondile ku-kernel;
    • kusistimu yokuhlunga ikholi ye-seccomp, lapho uhambisa izibambi zokukhiya endaweni yomsebenzisi, kungenzeka ukusebenzisa ukusebenza kwe-athomu eyodwa ukuze udale isichazi sefayela somsebenzi ongasodwa futhi usibuyisele lapho ucubungula ucingo lwesistimu. Umsebenzi ohlongozwayo uyaxazulula inkinga ngokuphazamiseka kwesibambi esikhaleni somsebenzisi lapho isignali ifika;
    • kungezwe indlela entsha ukuphatha umkhawulo wensiza endaweni yegama ye-ID yomsebenzisi, ehlanganisa izibali ze-rlimit ezingazodwana kumsebenzisi "kundawo yegama lomsebenzisi". Ushintsho luxazulula inkinga ngokusetshenziswa kwezinto zokubala ezivamile lapho umsebenzisi oyedwa eqhuba izinqubo ezitsheni ezahlukene;
    • i-hypervisor ye-KVM yezinhlelo ze-ARM64 yengeze amandla okusebenzisa isandiso se-MTE (MemTag, Memory Tagging Extension) ezinhlelweni zezivakashi, ezikuvumela ukuthi ubophe amathegi ekusebenzeni ngakunye kokwabiwa kwenkumbulo futhi uhlele ukuhlola ukusetshenziswa okufanele kwezikhombisi ukuvimba ukuxhashazwa ubungozi obubangelwa ukufinyelela kumabhulokhi enkumbulo asevele ekhululiwe, izigcinalwazi ezichichimayo, ukufinyelela ngaphambi kokuqaliswa nokusetshenziswa ngaphandle komongo wamanje;
    • Ukuqinisekiswa Kwesikhombi okunikezwa iplathifomu ye-ARM64 manje kungalungiselelwa ngokuhlukile ku-kernel nendawo yomsebenzisi. Ubuchwepheshe bukuvumela ukuthi usebenzise iziqondiso ezikhethekile ze-ARM64 ukuze uqinisekise amakheli okubuyisela usebenzisa amasiginesha edijithali agcinwe kumabhithi angaphezulu angasetshenzisiwe esikhombi ngokwaso;
    • kumodi yomsebenzisi ye-Linux kwengezwe ukwesekwa kokusetshenziswa kwabashayeli bamadivayisi e-PCI ngebhasi le-PCI elibonakalayo, elisetshenziswa umshayeli we-PCI-over-virtio;
    • kumasistimu we-x86, usekelo olungeziwe lwedivayisi ye-virtio-iommu paravirtualized, ekuvumela ukuthi uthumele izicelo ze-IOMMU, njenge-ATTACH, DETACH, MAP ne-UNMAP, phezu kwezinto zokuhamba ngaphandle kokulingisa amathebula ekhasi lememori;
    • Kuma-Intel CPUs, kusukela emndenini wakwaSkylake kuya eCoffee Lake, ukusetshenziswa kwe-Intel TSX (Transactional Synchronization Extensions), ehlinzeka ngamathuluzi okuthuthukisa ukusebenza kwezinhlelo zokusebenza ezinemicu eminingi ngokususa ngokuguquguqukayo ukusebenza kokuvumelanisa okungadingekile, kukhutshazwa ngokuzenzakalelayo. Izandiso zivaliwe ngenxa yamathuba okuhlasela Zombieload, ukukhohlisa ukuvuza kolwazi ngamashaneli ezinkampani zangaphandle okwenzeka ngesikhathi sokusebenza kwendlela yokuphazamiseka kokusebenza okuvumelanayo (TAA, TSX Asynchronous Abortion);
  • isistimu engaphansi yenethiwekhi:
    • ukuhlanganiswa okuqhubekayo emnyombweni we-MPTCP (MultiPath TCP), isandiso sephrothokholi ye-TCP yokuhlela ukusebenza koxhumano lwe-TCP nokulethwa kwamaphakethe ngesikhathi esisodwa emizileni eminingana ngokusebenzisa ukuxhumana kwenethiwekhi okuhlukile okuhlotshaniswa namakheli e-IP ahlukene. Kumagazini omusha kungezwe indlela yokubeka izinqubomgomo zakho ze-traffic hashing ze-IPv4 kanye ne-IPv6 (inqubomgomo ye-hash ye-multipath), okwenza kube nokwenzeka esikhaleni somsebenzisi ukunquma ukuthi yiziphi izinkambu emaphaketheni, okuhlanganisa nalawo ahlanganisiwe, azosetshenziswa lapho kubalwa i-hashi enquma ukukhetha kwendlela. okwephakethe;
    • ukwesekwa kwesokhethi kungeziwe ku-virtual transport virtio SOCK_SEQPACKET (ukudluliswa okuhlelekile nokuthembekile kwamadathagramu);
    • Amandla endlela yesokhethi ye-SO_REUSEPORT anwetshiwe, okuvumela amasokhethi ambalwa okulalela ukuthi axhumeke embobeni eyodwa ngesikhathi esisodwa ukuze athole uxhumano nokusabalalisa kwezicelo ezingenayo ngesikhathi esisodwa kuwo wonke amasokhethi axhunywe nge-SO_REUSEPORT, okwenza kube lula ukudalwa kwezinhlelo zokusebenza zeseva ezinezintambo eziningi. . Kunguqulo entsha kwengezwe kusho ukudlulisa ukulawula kwenye isokhethi uma kwenzeka ukwehluleka lapho kusetshenzwa isicelo ngesokhethi ekhethiwe ekuqaleni (ixazulula inkinga ngokulahleka kokuxhumeka komuntu ngamunye lapho uqala kabusha izinsizakalo);
  • okokusebenza:
    • kumshayeli we-amdgpu kwenziwe ukusekelwa kochungechunge olusha lwe-AMD Radeon RX 6000 lwama-GPU, olubhalwe ngekhodi ukuthi “Beige Goby” (Navi 24) kanye ne-“Yellow Carp”, kanye nokusekelwa okuthuthukisiwe kwe-Aldebaran GPU (gfx90a) kanye ne-Van Gogh APU. Kwengezwe ikhono lokusebenza kanyekanye namaphaneli e-eDP ambalwa. Ku-APU Renoir, usekelo lokusebenza ngamabhafa abethelwe kumemori yevidiyo (TMZ, Trusted Memory Zone) selusetshenzisiwe. Ukwesekwa okungeziwe kwamakhadi wezithombe ezishisayo-ukukhipha. Kuma-GPU e-Radeon RX 6000 (Navi 2x) nama-AMD GPU amadala, ukusekelwa kwendlela yokonga amandla ye-ASPM (Active State Power Management) kunikwe amandla ngokuzenzakalela, ngaphambilini ebinikwe amandla kuphela kuma-Navi 1x, Vega kanye ne-Polaris GPU;
    • kuma-chips e-AMD, ukusekelwa kwenkumbulo ebonakalayo okwabelwana ngayo (i-SVM, inkumbulo ebonakalayo eyabiwe) yengezwe ngokusekelwe ohlelweni olungaphansi lwe-HMM (Heterogeneous memory management), oluvumela ukusetshenziswa kwamadivayisi anamayunithi awo okulawula inkumbulo (MMU, iyunithi yokulawula inkumbulo), engafinyelela inkumbulo eyinhloko. Kubandakanya ukusebenzisa i-HMM, ungakwazi ukuhlela isikhala sekheli esabelwe phakathi kwe-GPU ne-CPU, lapho i-GPU ikwazi ukufinyelela inkumbulo eyinhloko yenqubo;
    • wengeze ukwesekwa kobuchwepheshe bokuqala I-AMD Smart Shift, eshintsha ngokushintshashintshayo amapharamitha okusetshenziswa kwamandla e-CPU ne-GPU kumakhompyutha aphathekayo ane-chipset nekhadi lemifanekiso le-AMD ukuze kuthuthukiswe ukusebenza lapho kudlalwa, ukuhlelwa kwevidiyo nokunikezwa kwe-3D;
    • kumshayeli we-i915 wamakhadi evidiyo e-Intel ifakiwe ukwesekwa kwe-Intel Alderlake P chips;
    • wengeze umshayeli we-drm/hyperv we-adaptha yehluzo ebonakalayo ye-Hyper-V;
    • kungezwe i-simpledrm graphics driver esebenzisa i-EFI-GOP noma i-VESA framebuffer ehlinzekwe yi-UEFI firmware noma i-BIOS ukuze ikhiphe. Inhloso enkulu yomshayeli ukuhlinzeka ngamakhono okukhiphayo okuyisithombe phakathi nezigaba zokuqala zokuqalisa, ngaphambi kokuthi kusetshenziswe umshayeli ogcwele we-DRM. Umshayeli angasetshenziswa futhi njengesixazululo sesikhashana semishini engakabi nawo abashayeli bomdabu be-DRM;
    • kwengezwe usekelo lwekhompuyutha yonke-in-one Ukusajingijolo Pi 400;
    • Kwengezwe umshayeli we-dell-wmi-privacy ukusekela amaswishi e-hardware yekhamera nemakrofoni afakwe kuma-laptops akwa-Dell;
    • kumalaptop eLenovo kungezwe I-WMI interface yokushintsha imingcele ye-BIOS nge-sysfs /sys/class/firmware-attributes/;
    • kunwetshiwe ukusekelwa kwamadivayisi ane-interface ye-USB4;
    • kwengezwe ukusekelwa kwamakhadi omsindo nama-codec AmLogic SM1 TOACODEC, Intel AlderLake-M, NXP i.MX8, NXP TFA1, TDF9897, Rockchip RK817, Qualcomm Quinary MI2 kanye ne-Texas Instruments TAS2505. Ukusekelwa komsindo okuthuthukisiwe kumakhompyutha aphathekayo e-HP nawe-ASUS. Kwengeziwe ama-patches ukuze kuncishiswe ukubambezeleka ngaphambi kokuba umsindo uqale ukudlala kumadivayisi ane-USB interface.

Umthombo - opennet.ru.

Source: linux.org.ru