Ukukhutshwa kwe-kernel ye-Linux 6.3

Emva kweenyanga ezimbini zophuhliso, uLinus Torvalds ukhuphe iLinux 6.3 kernel. Phakathi kwezona nguqu ziphawulekayo: ukucoca amaqonga e-ARM aphelelwe lixesha kunye nabaqhubi bemizobo, ukuhlanganiswa okuqhubekayo kwenkxaso yolwimi lwe-Rust, i-hwnoise utility, inkxaso yezakhiwo zomthi obomvu-omnyama kwi-BPF, imo ye-BIG TCP ye-IPv4, i-benchmark ye-Dhrystone eyakhelwe-ngaphakathi, ukukwazi ukukhubaza. ukuphunyezwa kwi-memfd, inkxaso yokudala abaqhubi be-HID usebenzisa i-BPF, utshintsho lwenziwe kwi-Btrfs ukunciphisa ukuhlukana kweqela lebhloko.

Inguqulelo entsha yamkele ukulungiswa kwe-15637 kubaphuhlisi be-2055; ubungakanani be-patch - 76 MB (utshintsho oluchaphazelekayo kwiifayile ze-14296, i-1023183 imigca yekhowudi eyongeziweyo, imigca ye-883103 isusiwe). Ukuthelekisa, kwinguqulo yangaphambili, ukulungiswa kwe-16843 kwacetywayo kubaphuhlisi be-2178; ubungakanani bepetshi - 62 MB. Ngokumalunga ne-39% yazo zonke iinguqu ezifakwe kwi-6.3 kernel zihambelana nabaqhubi besixhobo, malunga ne-15% yeenguqu zihambelana nokuhlaziya ikhowudi ethile kwi-architectures ye-hardware, i-10% inxulumene ne-stack networking stack, i-5% kwiinkqubo zefayile, kunye ne-3. % kwiinkqubo ezisezantsi zekernel.

Izinto ezintsha eziphambili kwi-kernel 6.3:

  • Iinkonzo zememori kunye nenkqubo
    • Ukucocwa okuphawulekayo kwekhowudi ehambelana neebhodi ze-ARM ezindala kunye ezingasetyenziswanga zenziwe, eziye zanciphisa ubungakanani bemithombo ye-kernel ngemigca eyi-150 yamawaka. Isuswe ngaphezulu kwamaqonga amadala e-ARM angama-40.
    • Iphunyezwe isakhono sokudala abaqhubi bezixhobo zokufaka nge-HID (Isixhobo soNxibelelwano loMntu) ujongano oluphunyezwe ngendlela yeenkqubo zeBPF.
    • Ukuqhubeka nokuthuthwa ukusuka kwi-Rust-for-Linux yesebe lemisebenzi eyongezelelweyo enxulumene nokusebenzisa iRust njengolwimi lwesibini lokuphuhlisa abaqhubi kunye neemodyuli ze-kernel. Inkxaso yomhlwa ayenzelwanga ngokungagqibekanga, kwaye ayibangeli ukuba iRust ibandakanywe njengokuxhomekeka kolwakhiwo lwekernel olunyanzelekileyo. Ukusebenza okunikezelweyo kukukhutshwa kwangaphambili kwandiswe ngenkxaso yeendidi ze-Arc (ukuphunyezwa kwezikhombisi ezinobalo lwereferensi), i-ScopeGuard (icoca xa ingaphandle komda isenziwa), kunye ne-ForeignOwnable (ibonelela ngentshukumo yesalathisi phakathi kwe-C kunye nekhowudi ye-Rust) . Imodyuli esusiweyo 'boleka' kwiphakheji 'i-alloc' (uhlobo 'Inkomo' kunye ne-trait 'ToOwned'). Kuphawulwe ukuba imeko yenkxaso ye-Rust kwi-kernel sele isondele ekuqaliseni ukwamkela iimodyuli zokuqala ezibhalwe kwi-Rust kwi-kernel.
    • Imowudi yomsebenzisi iLinux (esebenzisa ikernel njengenkqubo yomsebenzisi) kwiinkqubo ze-x86-64 ixhasa ikhowudi ebhalwe kwiRust. Inkxaso eyongeziweyo yokwakha i-User-mode ye-Linux isebenzisa i-clang ene-link-time optimizations enikwe amandla (LTO).
    • Kongezwe into eluncedo ye-hwnoise ukulandelela ulibaziseko olubangelwa kukuziphatha kwehardware. Ukuphambuka kwixesha lokwenziwa kwemisebenzi (i-jitter) kuchongwa xa ukucutshungulwa kokuphazamiseka kuvaliwe, kudlula i-microsecond enye kwimizuzu eyi-10 yokubala.
    • Imodyuli ye-kernel yongezwe kunye nokuphunyezwa kwe-benchmark ye-Dhrystone engasetyenziselwa ukuvavanya ukusebenza kwe-CPU kuqwalaselo ngaphandle kwamacandelo esithuba somsebenzisi (umzekelo, kwinqanaba lokubeka i-SoCs entsha ezalisekisa ukulayishwa kwe-kernel kuphela).
    • Kongezwe "cgroup.memory=nobpf" ukhetho lomgca womyalelo we-kernel ukuvala ukusetyenziswa kwememori ukuphendulwa kweenkqubo ze-BPF, ezinokuba luncedo kwiinkqubo ezinezikhongozeli ezizimeleyo.
    • Kwiinkqubo ze-BPF, ukuphunyezwa kwesakhiwo sedatha yomthi obomvu-omnyama kuyacetywa, esebenzisa i-kfunc + kptr (bpf_rbtree_add, bpf_rbtree_remove, bpf_rbtree_first) endaweni yokongeza uhlobo olutsha lwemephu.
    • Kwindlela yolandelelwano oluphinda luqaliswe (i-rseq, ulandelelwano oluphinda luqalelwe) yongeze ukukwazi ukudlula iziphawuli ezihambelanayo (i-ID yememori-yemephu yeconcurrency) echongwe ngenombolo ye-CPU kwiinkqubo. I-Rseq ibonelela ngeendlela zokusebenza ngokukhawuleza kwe-atom, ethi, ukuba iphazamiseke ngomnye umsonto, icocwe kwaye izanywe kwakhona.
    • Iiprosesa ze-ARM zixhasa imiyalelo ye-SME 2 (Scalable Matrix Extension).
    • Kwi-architecture ye-s390x kunye ne-RISC-V RV64, inkxaso ye-"BPF trampoline" indlela iphunyeziwe, evumela ukunciphisa i-overhead xa kudluliswa iifowuni phakathi kwe-kernel kunye ne-BPF iinkqubo.
    • Kwiinkqubo ezinamaprosesa asekelwe kwi-architecture ye-RISC-V, ukusetyenziswa kwe "ZBB" imiyalelo iphunyeziwe ukukhawulezisa ukusebenza kweentambo.
    • Kwiinkqubo ezisekelwe kwi-LoongArch yomyalelo we-architecture iseti (esetyenziswa kwi-Loongson 3 5000 processors kunye nokuphumeza i-RISC ISA entsha efana ne-MIPS kunye ne-RISC-V), inkxaso ye-kernel yendawo ye-randomization (KASLR), ukufuduka kwe-kernel kwimemori (ukufuduka ), iindawo zehardware ziyeka kunye nendlela ye kprobe.
    • I-DAMOS (i-Data Access Monitoring-based Operation Schemes) indlela, evumela ukuba ukhulule imemori esekelwe kwi-frequency yokufikelela kwimemori, ixhasa izihlungi ukuba zingabandakanyi iindawo ezithile zememori ekusebenzeni kwi-DAMOS.
    • Ithala leencwadi elisezantsi le-C leNolibc liphumeza inkxaso yoyilo lwe-s390 kunye neseti yemiyalelo yeArm Thumb1 (ukongeza kwinkxaso ye-ARM, AArch64, i386, x86_64, RISC-V kunye ne-MIPS).
    • I-Objtool iye yalungiselelwa ukukhawulezisa i-kernel yakha kunye nokunciphisa ukusetyenziswa kwememori ephezulu ngexesha lokwakha (xa ukwakhiwa kwe-kernel kwimodi ye-"allyesconfig", akukho ngxaki ngokupheliswa okunyanzelekileyo kweenkqubo kwiinkqubo nge-32 GB ye-RAM).
    • Inkxaso yendibano ye-kernel yi-Intel ICC compiler iye yanqunyanyiswa, eye yaphelelwa ngumsebenzi ixesha elide kwaye akukho mntu ubonise umnqweno wokuyilungisa.
  • Inkqubo engaphantsi kweDisk, I/O kunye neeNkqubo zeFayile
    • I-tmpfs ixhasa i-ID yendlela yefayile enyusiweyo yokwenza imaphu ye-ID yomsebenzisi, esetyenziselwa ukwenza imephu yefayile ethile yomsebenzisi kwindawo enyusiweyo yangaphandle komnye umsebenzisi kwinkqubo yangoku.
    • Kwi-Btrfs, ukunciphisa ukuhlukana kwamaqela eebhloko, imilinganiselo ihlukaniswe ngobukhulu xa kunikwa iibhloko, okt. naliphi na iqela leebhloko ngoku lilinganiselwe kwizinto ezincinci (ukuya kwi-128KB), phakathi (ukuya kwi-8MB), kunye nobukhulu obukhulu. Ukuphunyezwa kogqogqo56 kuye kwahlengahlengiswa. Ikhowudi ehlaziyiweyo yokutshekisha iitshekhi. Ukwandiswa kokusebenza kwenziwe ukukhawulezisa umsebenzi wokuthumela ukuya kuthi ga kumaxesha ali-10 ngogcino lwexesha lolawulo kunye nokuphumeza imiyalelo kuphela xa kuyimfuneko. I-10x ngokukhawuleza imisebenzi ye-fiemap ngokutsiba i-backlink checks kwidatha ekwabelwana ngayo (i-snapshots). Ukusebenza ngemethadatha kukhawuleziswa nge-XNUMX% ngokunyusa ukukhangela izitshixo kwizakhiwo ze-b-tree.
    • Ukusebenza okuphuculweyo kwe-ext4 FS ngokuvumela iinkqubo ezininzi ukuba ngaxeshanye zenze imisebenzi ye-I/O ngokuthe ngqo kwiibhloko ezabiwe kwangaphambili zisebenzisa izitshixo ze-inode ezabelwanayo endaweni yezitshixo ezikhethekileyo.
    • Kwiif2fs, kwenziwe umsebenzi wokuphucula ukufundeka kwekhowudi. Imiba ebalulekileyo elungisiweyo enxulumene nokubhalwa kweatom kunye ne-cache entsha.
    • Eyenzelwe izahlulo zokufunda kuphela, i-EROFS (iNkqubo yeFayile eYongezelelweyo eFundiweyo kuphela) inamandla okubopha imisebenzi yokunciphisa ifayile ecinezelekileyo kwi-CPU yokunciphisa ukufikelela kwedatha.
    • Umcwangcisi we-BFQ we-I/O wongeze inkxaso yokuqhubela phambili kweediski zokujikeleza, ezifana nezo zisebenzisa iidrive ezilawulwa ngokwahlukeneyo (Multi Actuator).
    • Inkxaso ye-encryption yedatha usebenzisa i-algorithm ye-AES-SHA2 yongezwe ekuphunyezweni komthengi we-NFS kunye neseva.
    • I-FUSE (Iifayile zefayile kwiNdawo yoMsebenzisi) yongeze inkxaso yendlela yokwandiswa kombuzo, ekuvumela ukuba ubeke ulwazi olongezelelweyo kumbuzo. Ngokusekelwe kulo mboniso, ukongezwa kwezichasi zeqela kwisicelo seFS siphunyeziwe, eziyimfuneko ukuba zithathele ingqalelo amalungelo okufikelela xa udala izinto kwiFS (yenza, mkdir, symlink, mknod).
  • Ukwenziwa kweVirtual kunye noKhuseleko
    • I-hypervisor ye-KVM yeesistim ze-x86 yongeza inkxaso ye-hypercalls eyandisiweyo ye-Hyper-V kwaye ibonelele ngesibambi esisebenza kwindawo yokusingatha indawo yomsebenzisi. Utshintsho lwenza ukuba kube lula ukuphumeza inkxaso yokuqaliswa kwe-Hyper-V hypervisor.
    • I-KVM yenza kube lula ukunqanda ukufikelela kwenkqubo yeendwendwe kwi-PMU (iYunithi yokuHlola iNtsebenzo) imicimbi enxulumene nomlinganiselo wokusebenza.
    • Indlela ye-memfd, ekuvumela ukuba uchonge indawo yememori ngokuchaza ifayile egqithisiweyo phakathi kweenkqubo, yongezwe amandla okwenza iindawo apho ukuphunyezwa kwekhowudi kuthintelwe (engaphunyezwayo memfd) kwaye akunakwenzeka ukuseta amalungelo ophumezo kwi kwixesha elizayo.
    • Umsebenzi omtsha we-PR_SET_MDWE we-prctl wongezwe ukuvala iinzame zokubandakanya amalungelo okufikelela kwimemori avumela zombini ukubhala nokwenziwa ngaxeshanye.
    • Ukukhuselwa ngokuchasene nohlaselo lweklasi yeSpecter yongezwe kwaye yenziwe ngokungagqibekanga, ngokusekwe kwi-IBRS (Imo eyongeziweyo yeSebe eliThintelweyo eliThintelweyo) imowudi ezenzekelayo ecetywayo kwi-AMD Zen 4 processors, ekuvumela ukuba ulungelelanise kwaye ukhubaze ukuphunyezwa kokuqikelelwa kwemiyalelo ngexesha lokuphazamiseka. , iifowuni zesistim, kunye nokutshintsha imeko. Ukhuseleko olucetywayo lukhokelela kwi-overhead ephantsi xa kuthelekiswa nokhuseleko lwe-Retpoline.
    • Ijongana nokuba semngciphekweni okunokuthi kudlule ukhuseleko lohlaselo lweSpecter v2 xa usebenzisa itekhnoloji yemultithreading ngaxeshanye (SMT okanye iHyper-Threading) kwaye ibangelwa kukukhubaza i-STIBP (I-Single Thread Indirect Branch Predictors) xa ukhetha indlela yokukhusela ye-IBRS.
    • Kwiinkqubo ezisekwe kwi-ARM64, i-"virtconfig" entsha ekujoliswe kuyo yongeziwe, ethi, xa ikhethiwe, ivule kuphela iseti esezantsi yamacandelo e-kernel afunekayo ukuqalisa kwiinkqubo ze-virtualization.
    • Inkxaso eyongeziweyo yenkqubo yokucoca iifowuni kusetyenziswa indlela ye-seccomp yolwakhiwo lwe-m68k.
    • Inkxaso eyongeziweyo yeeprosesa ze-AMD Ryzen ezakhelwe ngaphakathi zeCRB TPM2 (Command Response Buffer) izixhobo ezisekwe kubuchwephesha beMicrosoft Pluton.
  • Inkqubo engaphantsi yothungelwano
    • I-netlink interface yongezwa ukulungiselela i-PLCA (i-Physical Layer Collision Avoidance) i-sublayer, echazwe kwi-IEEE 802.3cg-2019 inkcazo kwaye isetyenziswe kwi-802.3cg (10Base-T1S) inethiwekhi ye-Ethernet elungiselelwe ukudibanisa izixhobo ze-IoT kunye neenkqubo zoshishino. Ukusetyenziswa kwe-PLCA kuphucula ukusebenza kumanethiwekhi e-Ethernet ekwabelwana ngayo.
    • Inkxaso ye-API "yolwandiso olungenacingo" yokulawula i-WiFi 7 (802.11be) ujongano olungenazingcingo luyekiwe, ekubeni le API ayiquki zonke izicwangciso eziyimfuneko. Xa uzama ukusebenzisa "izandiso ezingenacingo" API, eqhubeka nokuxhaswa njengomaleko oxeliweyo, isilumkiso ngoku siya kuboniswa uninzi lwezixhobo zangoku.
    • Amaxwebhu aneenkcukacha kwi-netlink API sele elungisiwe (kubaphuhlisi bekernel kunye nabaphuhlisi bezicelo zesithuba somsebenzisi). Umsebenzi we-ynl-gen-c uphunyeziwe ukwenza i-C-code esekelwe kwiinkcukacha ze-YAML ze-Netlink protocol.
    • Inkxaso ye-IP_LOCAL_PORT_RANGE ukhetho longezwe kwiisokethi zenethiwekhi ukwenza lula ulungelelwaniso loqhagamshelo oluphumayo ngokusebenzisa abaguquleli beedilesi ngaphandle kokusebenzisa iSNAT. Xa usebenzisa idilesi ye-IP efanayo kwiinginginya ezininzi, IP_LOCAL_PORT_RANGE ivumela umamkeli ngamnye ukuba asebenzise uluhlu lwayo lwamazibuko othungelwano aphumayo, nakwisango lokuthumela iipakethi ezisekelwe kumanani ezibuko.
    • Kwi-MPTCP (i-MultiPath TCP), ukukwazi ukucubungula imisinga edibeneyo esebenzisa i-IPv4 kunye ne-IPv6 protocols iphunyeziwe. I-MPTCP lulwandiso lweprotocol ye-TCP yokuququzelela ukusebenza koqhagamshelwano lwe-TCP nokuhanjiswa kweepakethi ngaxeshanye kwiindlela ezininzi ngokusebenzisa ujongano lwenethiwekhi eyahlukeneyo ebotshelelwe kwiidilesi ezahlukeneyo ze-IP.
    • Kwi-IPv4, ithuba lokusebenzisa ulwandiso lwe-BIG TCP luphunyeziwe, oluvumela ukwandisa ubukhulu bepakethe ye-TCP ukuya kwi-4 GB ukuze kulungiswe ukusebenza kwenethiwekhi yangaphakathi ye-high-speed yamaziko edatha. Oku kwanda kwipakethi yepakethi ene-16-bit ye-header field iphunyezwa ngokuphumeza iipakethi ze-"jumbo" ezinobukhulu bentloko ye-IP ebekwe kwi-0 kunye nobukhulu bokwenene obuthunyelwe kwintsimi ye-32-bit kwi-header eyahlukileyo eqhotyoshelweyo.
    • Iparamitha entsha ye-sysctl i-default_rps_mask yongeziwe, apho unokuseta i-RPS engagqibekanga (Yamkela iPakethi yokuLawula) uqwalaselo, olunoxanduva lokusasaza ukusetyenzwa kwetrafikhi engenayo kwii-CPU cores kwinqanaba lomphathi wokuphazamiseka.
    • Iyekiwe inkxaso kumacandelo emigca ukuze ithintele i-CBQ (i-class-based queuing), i-ATM (i-ATM virtual circuits), i-dsmark (i-differentiated service marker), i-tcindex (i-index-control index), kunye ne-RSVP (resource reservation protocol) traffic. Ezi zifundo ziye zayekwa ixesha elide kwaye akukho mntu wayezimisele ukuqhubeka nenkxaso yakhe.
  • Izixhobo
    • Kususwe zonke iidrifs ezisekelwe kwi-DRI1: i810 (amakhadi egraphics e-Intel 8xx amadala ahlanganisiweyo), mga (Matrox GPU), r128 (ATI Rage 128 GPU kuquka neRage Fury, XPERT 99 kunye ne-XPERT 128 amakhadi), savage (S3 Savage GPU), sis ( I-Crusty SiS GPU), i-tdfx (3dfx Voodoo) kunye ne-VIA IGP), eziye zachithwa kwi-2016 kwaye azizange zixhaswe kwi-Mesa ukususela kwi-2012.
    • Isusiwe i-framebuffer ephelelwe lixesha (fbdev) abaqhubi omap1, s3c2410, tmiofb kunye ne-w100fb.
    • Umqhubi we-DRM wongezwe kwi-VPU (i-Versatile Processing Unit) ehlanganiswe kwi-Intel Meteor Lake (isizukulwana se-14) i-CPUs, eyenzelwe ukukhawulezisa umbono wekhompyutheni kunye nokusebenza komatshini wokufunda. Umqhubi uphunyezwa usebenzisa i-subsystem "accel", ejolise ekunikeni inkxaso ye-accelerators ye-computing, enokuthi ibonelelwe zombini ngendlela ye-ASICs eyahlukileyo kunye neebhloko ze-IP ngaphakathi kwe-SoC kunye ne-GPU.
    • Umqhubi we-i915 (Intel) wandisa inkxaso ye-Intel Arc (DG2/Alchemist) amakhadi emizobo ecacileyo, wazisa inkxaso yokuqala ye-Meteor Lake GPUs, kwaye ibandakanya inkxaso ye-Intel Xe HP 4tile GPUs.
    • Umqhubi we-amdgpu wongeza inkxaso yetekhnoloji ye-AdaptiveSync kunye nokukwazi ukusebenzisa iSiboniso esiKhuselekileyo esineziboniso ezininzi. Inkxaso ehlaziyiweyo ye-DCN 3.2 (I-Display Core Next), i-SR-IOV RAS, i-VCN RAS, i-SMU 13.x kunye ne-DP 2.1.
    • Inkxaso eyongeziweyo ye-SM8350, SM8450 SM8550, SDM845 kunye ne-SC8280XP iiplatifomu kumqhubi we-msm (GPU Qualcomm Adreno).
    • Umqhubi weNouveau uye walahla inkxaso yeefowuni ze-ioctl ezindala.
    • Inkxaso yovavanyo ye-NPU VerSilicon (i-VeriSilicon Neural Network Processor) yongezwe kumqhubi we-etnaviv.
    • Umqhubi we pata_parport we IDE drives ezidityaniswe ngezibuko ezihambelanayo ziphunyeziwe. Umqhubi owongeziweyo wenze ukuba kube nokwenzeka ukususa umqhubi omdala wePARIDE kwi-kernel kwaye uphucule inkqubo engaphantsi ye-ATA. Umda womqhubi omtsha kukungakwazi ukuqhagamshela ngaxeshanye umshicileli kunye nediski ngokusebenzisa izibuko ezinxuseneyo.
    • Umqhubi we-ath12k wongeziwe wamakhadi angenazingcingo asekelwe kwiitshiphusi ze-Qualcomm ezinenkxaso ye-Wi-Fi 7. Inkxaso eyongeziweyo yamakhadi angenazingcingo asekelwe kwiichips ze-RealTek RTL8188EU.
    • Inkxaso eyongeziweyo yeebhodi ze-46 ezisekelwe kwi-architecture ye-ARM64, kuquka i-Samsung Galaxy tab A (2015), i-Samsung Galaxy S5, i-BananaPi R3, i-Debix Model A, i-EmbedFire LubanCat 1/2, i-Facebook Greatlakes, i-Orange Pi R1 Plus, i-Tesla FSD, kunye nezixhobo. isekelwe kwi-SoC Qualcomm MSM8953 (Snapdragon 610), SM8550 (Snapdragon 8 Gen 2), SDM450 kunye SDM632, Rockchips RK3128 TV box, RV1126 Vision, RK3588, RK3568, RK3566, RK3588, RK3328, RK3 AMTI, RK642, RK654 AMTI 68AM69, RKXNUMXAMXNUMXAMXNUMXAM, RKXNUMX AMTI RKXNUMX no RKXNUMX AMTI kunye RKXNUMX no RKTI XNUMX XNUMX/AMXNUMX / AMXNUMX).

Kwangelo xesha, iLatin American Free Software Foundation yenze okwahlukileyo kwe-kernel yasimahla 6.3 - Linux-libre 6.3-gnu, ecinyiweyo ye-firmware kunye nezinto zomqhubi eziqulethe izinto ezingahlawulelwayo okanye amacandelo ekhowudi, umda wawo ulinganiselwe umenzi. Ekukhutshweni kwe-6.3, iiblobhu zacocwa kwi-ath12k entsha, i-aw88395, kunye nabaqhubi be-peb2466, kunye neefayile zesixhobo ezitsha zezixhobo ze-qcom ezisekelwe kwi-AArch64. Ikhowudi yokucoca iiblobs ezihlaziyiweyo kubaqhubi kunye ne-subsystems amdgpu, xhci-rcar, qcom-q6v5-pas, sp8870, av7110, kunye nabaqhubi be-DVB-amakhadi ane-software yokuchaza kunye neefayile ze-BPF ezihlanganiswe kwangaphambili. Kuyekiwe abaqhubi be-purge mga, r128, tm6000, cpia2 kunye ne-r8188eu njengoko besusiwe kwi-kernel. Ukuphuculwa kwe-i915 yokucoca iblob yomqhubi.

umthombo: opennet.ru

Yongeza izimvo