Ukukhishwa kwe-kernel ye-Linux 5.11

Ngemuva kwezinyanga ezimbili zokuthuthuka, uLinus Torvalds wethule ukukhululwa kwe-Linux kernel 5.11. Phakathi kwezinguquko eziphawuleka kakhulu: ukusekelwa kwe-Intel SGX enclaves, indlela entsha yokubamba izingcingo zesistimu, ibhasi elisizayo elibonakalayo, ukuvinjelwa kokuhlanganisa amamojula ngaphandle kwe-MODULE_LICENSE(), imodi yokuhlunga okusheshayo yamakholi wesistimu ku-seccomp, ukunqanyulwa kokusekelwa ia64 architecture, ukudluliselwa kobuchwepheshe be-WiMAX egatsheni "lesiteji", ikhono lokuhlanganisa i-SCTP ku-UDP.

Inguqulo entsha ihlanganisa ukulungiswa okungu-15480 okuvela kubathuthukisi abangu-1991, usayizi wesichibi ungu-72 MB (ushintsho luthinte amafayela angu-12090, imigqa yekhodi engu-868025 yengeziwe, imigqa engu-261456 isusiwe). Cishe u-46% wazo zonke izinguquko ezethulwe ku-5.11 zihlobene nezishayeli zedivayisi, cishe u-16% wezinguquko zihlobene nokubuyekeza ikhodi eqondene nezakhiwo zehadiwe, u-13% uhlobene nesitaki senethiwekhi, u-3% uhlobene nezinhlelo zamafayela, futhi u-4% zihlobene nesistimu ye-kernel yangaphakathi.

Okuqanjiwe okuyinhloko:

  • I-Disk Subsystem, I/O kanye ne-File Systems
    • Izinketho ezimbalwa zokukhweza zengezwe kuma-Btrfs ukuze zisetshenziswe lapho kubuyiselwa idatha kusistimu yefayela eyonakele: "recue=ignorebadroots" ukuze ifakwe, naphezu kokulimala kwezinye izihlahla zempande (ubukhulu, i-uuid, i-data reloc, idivayisi, i-csum, indawo yamahhala), " hlenga=i-ignoredatacsums” ukuze ukhubaze ukuhlola kwe-checksum yedatha kanye "nokusindisa=konke" ukuze unike amandla kanyekanye izindlela ze-'ignorebadroots', 'ignoredatacsums' kanye ne-'nologreplay'. Inketho yokukhweza "inode_cache", ebihoxisiwe ngaphambilini, ayiqhubeki. Ikhodi ilungiselelwe ukusebenzisa usekelo lwamabhulokhi anemethadatha nedatha encane kunosayizi wekhasi (PAGE_SIZE), kanye nosekelo lwemodi yokwabiwa kwendawo eklanyiwe. Izicelo ezingenabuffered (Direct IO) zihanjiswe kungqalasizinda ye-iomap. Ukusebenza kwenani lemisebenzi kuthuthukisiwe; kwezinye izimo, ukusheshisa kungafinyelela amashumi wamaphesenti.
    • I-XFS isebenzisa ifulege "lokulungisa", elibonisa isidingo sokukhanda. Uma leli fulegi lisethiwe, isistimu yefayela ayikwazi ukukhwezwa kuze kube yilapho ifulegi lisethwa kabusha isisetshenziswa se-xfs_repair.
    • I-Ext4 inikeza kuphela ukulungiswa kweziphazamisi nokulungiselelwa, kanye nokuhlanza amakhodi.
    • Ukuthunyelwa kabusha kwamasistimu wefayela akhwezwe phezu kwe-NFS kuvunyelwe (okungukuthi, ingxenye efakwe nge-NFS manje ingathunyelwa nge-NFS futhi isetshenziswe njengenqolobane emaphakathi).
    • Ikholi yesistimu ye-close_range(), evumela inqubo yokuvala bonke ububanzi bezichazi zefayela ezivulekile ngesikhathi esisodwa, yengeze inketho CLOSE_RANGE_CLOEXEC yokuvala izichazi kumodi ye-close-on-exec.
    • Isistimu yefayela ye-F2FS yengeza izingcingo ezintsha ze-ioctl() ukuze zivumele ukulawulwa kwesikhala somsebenzisi ukuthi yimaphi amafayela agcinwa ngendlela ecindezelwe. Kwengezwe inketho yokukhweza ethi "compress_mode=" ukuze ukhethe ukuthi uzosibeka yini isibambi sokucindezela ohlangothini lwe-kernel noma esikhaleni somsebenzisi.
    • Kunikezwe ikhono lokukhweza i-Overlayfs ngezinqubo ezingavunyelwe kusetshenziswa indawo yamagama yomsebenzisi ehlukile. Ukuze kuqinisekiswe ukuthotshelwa kwemodeli yokuphepha, ukuhlolwa kwekhodi okuphelele kwenziwa. I-Overlayfs futhi yengeza amandla okusebenzisa amakhophi ezithombe zesistimu yefayela ngokukhubaza ukuhlola kwe-UUID.
    • Isistimu yefayela ye-Ceph yengeze usekelo lwephrothokholi ye-msgr2.1, evumela ukusetshenziswa kwe-algorithm ye-AES-GCM lapho kuthunyelwa idatha ngefomu elibethelwe.
    • Imojula ye-dm-multipath isebenzisa ikhono lokucabangela ukuhambisana kwe-CPU (“i-IO affinity”) lapho kukhethwa umzila wezicelo ze-I/O.
  • Imemori kanye nezinsizakalo zesistimu
    • Indlela entsha yokuvimbela ikholi yesistimu yengeziwe, ngokusekelwe ku-prctl(), ekuvumela ukuthi ukhiqize okuhlukile esikhaleni somsebenzisi uma ufinyelela ikholi yesistimu ethile futhi ulingise ukuqaliswa kwayo. Lokhu kusebenza kuyadingeka ku-Wine naku-Proton ukuze kulingise izingcingo zesistimu ye-Windows, okudingekayo ukuze kuqinisekiswe ukuhambisana nemidlalo nezinhlelo ezenza ngokuqondile amakholi wesistimu ngokudlula i-Windows API (isibonelo, ukuvikela ekusetshenzisweni okungagunyaziwe).
    • Ikholi yesistimu ye-userfaultfd(), edizayinelwe ukuphatha amaphutha ekhasi (ukufinyelela kumakhasi ememori angabelwe) esikhaleni somsebenzisi, manje inamandla okukhubaza ukuphatha okuhlukile okwenzeka kuleveli ye-kernel ukuze kwenziwe kube nzima kakhulu ukuxhaphaza ubungozi obuthile.
    • Isistimu engaphansi ye-BPF yengeze usekelo lwesitoreji sasendaweni somsebenzi, esihlinzeka ngedatha ebophezela kwisibambi se-BPF esithile.
    • Ukubalwa kokusetshenziswa kwememori izinhlelo ze-BPF kuklanywe kabusha ngokuphelele - isilawuli seqembu siphakanyiswe esikhundleni se-memlock rlimit yokuphatha ukusetshenziswa kwememori ezintweni ze-BPF.
    • Indlela ye-BTF (ifomethi yohlobo lwe-BPF), ehlinzeka ngolwazi lokuhlola uhlobo ku-BPF pseudocode, inikeza usekelo lwamamojula e-kernel.
    • Kwengezwe ukusekelwa kokuvala shaqa(), renameat2() kanye nezingcingo zesistimu ze-unlinkat() ku-interface ye-io_uring asynchronous I/O. Lapho ushayela i-io_uring_enter(), ikhono lokucacisa isikhathi sokuvala lengeziwe (ungahlola usekelo lwe-agumenti ukuze ucacise ukuphela kwesikhathi usebenzisa ifulegi le-IORING_FEAT_EXT_ARG).
    • Isakhiwo se-ia64 esisetshenziswa kuma-Intel Itanium processors sithuthelwe esigabeni sezintandane, okusho ukuthi ukuhlolwa kuphelile. I-Hewlett Packard Enterprise iyekile ukwamukela ama-oda emishini emisha ye-Itanium, futhi i-Intel yenza kanjalo ngonyaka odlule.
    • Usekelo lwezinhlelo ezisekelwe ekwakhiweni kwe-MicroBlaze ezingafaki iyunithi yokuphatha inkumbulo (i-MMU) kunqanyuliwe. Izinhlelo ezinjalo azizange zibonwe ekuphileni kwansuku zonke isikhathi eside.
    • Okwezakhiwo ze-MIPS, usekelo lokuhlolwa kokufakwa kwekhodi lwengeziwe kusetshenziswa insiza ye-gcov.
    • Usekelo olungeziwe lwebhasi elingumsizi elibonakalayo lokusebenzelana namadivayisi emisebenzi eminingi ahlanganisa ukusebenza okudinga abashayeli abahlukene (isibonelo, amakhadi enethiwekhi anosekelo lwe-Ethernet ne-RDMA). Ibhasi lingasetshenziswa ukunikeza umshayeli oyinhloko nowesibili kudivayisi, ezimeni lapho ukusetshenziswa kwesistimu engaphansi ye-MFD (Multi-Function Devices) kuyinkinga.
    • Ngokwakhiwa kwe-RISC-V, ukwesekwa kungeziwe kusistimu yokwabiwa kwenkumbulo ye-CMA (Contiguous Memory Allocator), elungiselelwe ukwaba izindawo ezinkulu zenkumbulo ezihlangene kusetshenziswa amasu okunyakaza kwekhasi lememori. Ku-RISC-V, amathuluzi nawo asetshenziswa ukuze akhawulele ukufinyelela ku-/dev/mem futhi acabangele ukuphazamisa isikhathi sokucubungula.
    • Kuzinhlelo ze-32-bit ARM, ukwesekwa kungeziwe kuthuluzi lokususa iphutha le-KASan (Kernel address sanitizer), elisiza ukuhlonza amaphutha lapho usebenza ngenkumbulo. Ku-64-bit ARM, ukusetshenziswa kwe-KASan kuguqulelwe ukusebenzisa omaka be-MTE (MemTag).
    • Kwengezwe ikholi yesistimu ye-epoll_pwait2() ukuvumela ukuphela kwesikhathi ngokunemba kwe-nanosecond (ikholi ye-epoll_wait iphatha ama-millisecond).
    • Isistimu yokwakha manje ibonisa iphutha uma izama ukwakha amamojula e-kernel alayishekayo lapho ilayisensi yekhodi ingachazwanga kusetshenziswa i-MODULE_LICENSE() macro. Kusukela manje, ukusebenzisa i-EXPORT_SYMBOL() macro emisebenzini emile nakho kuzodala iphutha lokwakha.
    • Ukwesekwa okwengeziwe kokumepha izinto ze-GEM kumemori esetshenziselwa i-I/O, okwenze kwaba nokwenzeka ukusheshisa umsebenzi nge-framebuffer kwezinye izakhiwo.
    • I-Kconfig yehlise ukusekelwa kwe-Qt4 (ngenkathi igcina ukusekelwa kwe-Qt5, GTK kanye nama-Ncurses).
  • I-Virtualization kanye Nokuphepha
    • Ukusekela imodi yokuphendula okusheshayo kwengezwe ocingweni lwesistimu ye-seccomp(), ekuvumela ukuthi unqume ngokushesha ukuthi ikholi yesistimu ethile ivunyelwe noma ivinjelwe ngokusekelwe ku-bitmap yesenzo esiqhubekayo enamathiselwe kunqubo, engadingi ukusebenza. isiphathi se-BPF.
    • Izingxenye ze-kernel ezihlanganisiwe zokudala nokuphatha i-enclave ngokusekelwe kubuchwepheshe be-Intel SGX (Software Guard eXtensions), okuvumela izinhlelo zokusebenza ukuthi zikhiphe ikhodi ezindaweni ezihlukanisiwe zenkumbulo ezibethelwe, lapho lonke uhlelo lunokufinyelela okulinganiselwe.
    • Njengengxenye yesinyathelo sokukhawulela ukufinyelela kusuka endaweni yomsebenzisi kuya ku-MSR (irejista yemodeli ethile), ubhalela irejista ye-MSR_IA32_ENERGY_PERF_BIAS, ekuvumela ukuthi uguqule imodi yokucubungula amandla okusebenza (“okuvamile”, “ukusebenza”, “ukonga amandla”) , akuvunyelwe.
    • Ikhono lokukhubaza ukuthuthwa kwemisebenzi ebaluleke kakhulu phakathi kwama-CPU lisusiwe egatsheni le-kernel-rt kumasistimu esikhathi sangempela.
    • Kuzinhlelo ze-ARM64, amandla okusebenzisa omaka be-MTE (i-MemTag, Isandiso sokumaka iMemori) kumakheli enkumbulo yesibambi sesignali lengeziwe. Ukusetshenziswa kwe-MTE kunikwe amandla ngokucacisa inketho ye-SA_EXPOSE_TAGBITS ku-sigaction() futhi ikuvumela ukuthi uhlole ukusetshenziswa okulungile kwezikhombisi ukuze uvimbele ukuxhashazwa kobungozi obubangelwa ukufinyelela amabhulokhi ememori avele akhululiwe, ukuchichima kwebhafa, ukufinyelela ngaphambi kokuqaliswa, nokusebenzisa ngaphandle umongo wamanje.
    • Kwengezwe ipharamitha ye-"DM_VERITY_VERIFY_ROOTHASH_SIG_SECONDARY_KEYRING", evumela isistimu engaphansi ye-dm-verity ukuthi ihlole amasiginesha e-hash ezitifiketi ezibekwe okhiye besibili. Eqinisweni, ukusetha kukuvumela ukuthi uqinisekise hhayi kuphela izitifiketi ezakhelwe ku-kernel, kodwa futhi nezitifiketi ezilayishwe ngesikhathi sokusebenza, okwenza kube lula ukuvuselela izitifiketi ngaphandle kokubuyekeza yonke i-kernel.
    • I-Linux yemodi yomsebenzisi yengeze usekelo lwemodi yokumisa-kuya-kungenzi lutho, ekuvumela ukuthi umise indawo ezungezile futhi usebenzise isignali ye-SIGUSR1 ukuze uvuke kumodi yokulala.
    • Umshini we-virtio-mem, okuvumela ukuthi uxhume ngokushisa futhi unqamule inkumbulo emishinini ebonakalayo, yengeze ukusekelwa kwe-Big Block Mode (BBM), eyenza kube nokwenzeka ukudlulisa noma ukuthatha inkumbulo ngamabhulokhi amakhulu kunosayizi wenkumbulo ye-kernel. vimba, okudingekayo ukuze ukwandise i-VFIO ku-QEMU.
    • Ukusekelwa kwe-CHACHA20-POLY1305 cipher kungeziwe ekusetshenzisweni kwekernel kwe-TLS.
  • Isistimu engaphansi yenethiwekhi
    • Ku-802.1Q (VLAN), indlela yokulawula ukuhluleka kokuxhumeka (i-CFM, Ukuphathwa Kwephutha Lokuxhumana) isetshenzisiwe, ekuvumela ukuthi uhlonze, uqinisekise futhi uhlukanise ukwehluleka kumanethiwekhi anamabhuloho abonakalayo (I-Virtual Bridged Networks). Isibonelo, i-CFM ingasetshenziselwa ukuhlukanisa izinkinga kumanethiwekhi ahlanganisa izinhlangano ezizimele eziningi abasebenzi bazo abanokufinyelela kumishini yabo kuphela.
    • Usekelo olungeziwe lokuhlanganisa amaphakethe ephrothokholi ye-SCTP kumaphakethe e-UDP (RFC 6951), okuvumela ukuthi usebenzise i-SCTP kumanethiwekhi anabahumushi bamakheli amadala abangasekeli ngokuqondile i-SCTP, kanye nokusebenzisa i-SCTP kumasistimu anganikezi ukufinyelela okuqondile ku-IP. ungqimba.
    • Ukuqaliswa kobuchwepheshe be-WiMAX kuyiswe kusiteji futhi kuhlelelwe ukususwa ngokuzayo uma bengekho abasebenzisi abadinga i-WiMAX. I-WiMAX ayisasetshenziswa kumanethiwekhi omphakathi, futhi ku-kernel okuwukuphela komshayeli i-WiMAX engasetshenziswa ngayo umshayeli we-Intel 2400m ophelelwe yisikhathi. Ukusekelwa kwe-WiMAX kuye kwanqanyulwa kusilungisi senethiwekhi ye-NetworkManager ngo-2015. Njengamanje, i-WiMax isicishe yathathelwa indawo ubuchwepheshe obufana ne-LTE, HSPA+ ne-Wi-Fi 802.11n.
    • Umsebenzi wenziwe ukuze kuthuthukiswe ukusebenza kokucubungula ithrafikhi ye-TCP engenayo kumodi ye-zerocopy, i.e. ngaphandle kokukopisha okwengeziwe kumabhafa amasha. Kuthrafikhi yosayizi omaphakathi, ukumboza amashumi noma amakhulu amakhilobhayithi edatha, ukusebenzisa i-zerocopy esikhundleni se-recvmsg() kusebenza kahle kakhulu. Isibonelo, izinguquko ezifakiwe zenze kwaba nokwenzeka ukwandisa ukusebenza kahle kokucubungula ithrafikhi yesitayela se-RPC ngemilayezo engu-32 KB uma usebenzisa i-zerocopy ngo-60-70%.
    • Kwengezwe amakholi amasha e-ioctl() ukuze kudalwe amabhuloho enethiwekhi ahlanganisa izixhumanisi eziningi ze-PPP. Amandla ahlongozwayo avumela ozimele ukuthi basuke esiteshini esisodwa baye kwesinye, isibonelo besuka ku-PPPoE baye kuseshini ye-PPPoL2TP.
    • Ukuhlanganiswa kungqikithi ye-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. Ukukhishwa okusha kwethula usekelo lwenketho ye-ADD_ADDR yokukhangisa amakheli e-IP atholakalayo angaxhunywa kukho lapho wengeza ukugeleza okusha kuxhumo olukhona lwe-MPTCP.
    • Kwengezwe amandla okumisa izenzo uma isabelomali sokuvota soxhumano seqiwe (ukuvota okumatasa). Imodi ye-SO_BUSY_POLL ebitholakala ngaphambilini ibisho ukushintshela ku-softirq lapho ibhajethi isiphelile. Kuzinhlelo zokusebenza ezidinga ukuqhubeka nokusebenzisa ukuvota, kuhlongozwa inketho entsha SO_PREFER_BUSY_POLL.
    • I-IPv6 isebenzisa usekelo lwezindlela ze-SRv6 End.DT4 kanye ne-End.DT6, ezisetshenziselwa ukudala ama-IPv4 L3 VPNs abasebenzisi abaningi kanye namadivayisi we-VRF (umzila obonakalayo nokudlulisa).
    • I-Netfilter ihlanganise ukuqaliswa kwezinkulumo ezimisiwe, okwenze kwaba nokwenzeka ukucacisa izinkulumo eziningi zesici ngasinye sohlu olusethiwe.
    • Ama-API engezwe kusitaki esingenantambo esingu-802.11 ukuze kulungiswe imikhawulo yamandla e-SAR, kanye namapharamitha we-AE PWE kanye ne-HE MCS. Umshayeli we-Intel iwlwifi wengeze usekelo lwebanga le-6GHz (Ultra High Band). Umshayeli we-Qualcomm Ath11k wengeze ukusekela kobuchwepheshe be-FILS (Fast Initial Link Setup, esezingeni njenge-IEEE 802.11ai), obukuvumela ukuthi ukhiphe ukubambezeleka kokuzulazula phakathi nokufuduka usuka endaweni ethile yokufinyelela uye kwenye.
  • Izinsiza
    • Umshayeli we-amdgpu unikeza ukwesekwa kwe-AMD "Green Sardine" APU (Ryzen 5000) kanye ne-"Dimgrey Cavefish" GPU (Navi 2), kanye nokwesekwa kokuqala kwe-AMD Van Gogh APU nge-Zen 2 core ne-RDNA 2 GPU (Navi 2). Kungezwe usekelo lwezihlonzi ze-Renoir APU ezintsha (ezisekelwe ku-Zen 2 CPU ne-Vega GPU).
    • Umshayeli we-i915 wamakhadi evidiyo e-Intel usekela ubuchwepheshe be-IS (Integer scaling) ngokusetshenziswa kwesihlungi sokukhulisa isikali kucatshangelwa isimo samaphikseli angomakhelwane (I-Nearest- neighbour interpolation) ukuze kutholwe umbala wamaphikseli angekho. Ukusekelwa kwamakhadi e-Intel DG1 ahlukene kunwetshiwe. Usekelo lobuchwepheshe be-“Big Joiner” selusetshenzisiwe, obukhona kusukela kuma-chips e-Ice Lake / Gen11 futhi kuvumela ukusetshenziswa kwe-transcoder eyodwa ukucubungula imifudlana emibili, ngokwesibonelo, ukuze kukhishwe isikrini se-8K nge-DisplayPort eyodwa. Kwengezwe imodi yokushintsha ngokulinganayo phakathi kwamabhafa amabili kumemori yevidiyo (i-async flip).
    • Umshayeli we-nouveau ungeze ukusekelwa kokuqala kwama-NVIDIA GPU asuselwa ku-Ampere microarchitecture (GA100, GeForce RTX 30xx), kuze kube manje kukhawulelwe kumathuluzi okulawula amamodi evidiyo.
    • Ukwesekwa okwengeziwe kwephrothokholi ye-3WIRE esetshenziswa kumaphaneli e-LCD. Usekelo olungeziwe lwamaphaneli we-novatek nt36672a, TDO tl070wsh30, Innolux N125HCE-GN1 kanye ne-ABT Y030XX067A 3.0. Ngokwehlukana, singaqaphela ukusekelwa kwephaneli yama-smartphones e-OnePlus 6 ne-6T, okwenze kwaba nokwenzeka ukuhlela ukulayishwa kwe-kernel engashintshiwe kumadivayisi.
    • Kungezwe usekelo lwesilawuli somsingathi wokuqala we-Intel we-USB4, i-Maple Ridge.
    • Usekelo olungeziwe lwe-Allwinner H6 I2S, Amadivayisi e-Analog ADAU1372, Intel Alderlake-S, GMediatek MT8192, NXP i.MX HDMI ne-XCVR, i-Realtek RT715 kanye namakhodekhi omsindo we-Qualcomm SM8250.
    • Ukwengezwa okungeziwe kwamabhodi e-ARM, amadivayisi nezinkundla: I-Galaxy Note 10.1, Microsoft Lumia 950 XL, NanoPi R1, FriendlyArm ZeroPi, Elimo Initium SBC, Broadcom BCM4908, Mediatek MT8192/MT6779/MT8167, MStar Infinity2M 730PC , Arm 382, Arm 98, 3236 Nuvo, 750 Nuvo I-Mikrotik esekelwe ku-Marvell Prestera 8DX64, amaseva ane-Nuvoton NPCM30 BMC, Kontron i.MXXNUMXM Mini, Espressobin Ultra, “Trogdor” Chromebook, Kobol HeliosXNUMX, Engicam PXXNUMX.Core.
    • Usekelo olwakhelwe ngaphakathi lwekhonsoli yokudlala ye-Ouya esekelwe ku-NVIDIA Tegra 3.

Ngaso leso sikhathi, i-Latin American Free Software Foundation yenza inguqulo ye-5.11 kernel yamahhala - i-Linux-libre 5.11-gnu, esulwe izici ze-firmware namashayeli aqukethe izingxenye ezingezona zamahhala noma izigaba zekhodi, ububanzi bawo bunomkhawulo. ngomkhiqizi. Ukukhishwa okusha kuhlanza abashayeli be-qat_4xxx (crypto), lt9611uxcm (dsi/hdmi bridge), ccs/smia++ (sensor), ath11k_pci, nxp transceiver yomsindo nesilawuli se-mhi pci. Ikhodi yokuhlanza i-blob ebuyekeziwe kubashayeli nakuzinhlelo ezingaphansi i-amdgpu, btqca, btrtl, btsb, i915 csr. Kukhutshazwe ama-blob amasha ku-m3 rproc, i-idt82p33 ptp clock kanye ne-qualcomm arm64.

Source: opennet.ru

Engeza amazwana