Ukukhishwa kwe-kernel ye-Linux 6.3

Ngemuva kwezinyanga ezimbili zokuthuthuka, uLinus Torvalds ukhiphe i-Linux 6.3 kernel. Phakathi kwezinguquko eziphawuleka kakhulu: ukuhlanza amapulatifomu e-ARM aphelelwe yisikhathi kanye nama-graphic drivers, ukuhlanganiswa okuqhubekayo kokusekelwa kolimi lwe-Rust, insiza ye-hwnoise, ukusekelwa kwezakhiwo zesihlahla esibomvu-mnyama ku-BPF, imodi ye-BIG TCP ye-IPv4, ibhentshimakhi ye-Dhrystone eyakhelwe ngaphakathi, ikhono lokukhubaza ukubulawa ku-memfd, ukusekelwa kokudala abashayeli be-HID usebenzisa i-BPF, izinguquko zenziwe ku-Btrfs ukunciphisa ukuhlukaniswa kweqembu le-block.

Inguqulo entsha yamukele ukulungiswa kwe-15637 kusuka kubathuthukisi be-2055; usayizi wesichibi - 76 MB (izinguquko zithinte amafayela angu-14296, imigqa yekhodi engu-1023183 ingeziwe, imigqa engu-883103 isusiwe). Uma kuqhathaniswa, kunguqulo yangaphambilini, ukulungiswa okungu-16843 kwahlongozwa kubathuthukisi abangu-2178; usayizi wesiqephu - 62 MB. Cishe u-39% wazo zonke izinguquko ezethulwe ku-6.3 kernel zihlobene nezishayeli zedivayisi, cishe u-15% wezinguquko zihlobene nokubuyekeza ikhodi eqondene nezakhiwo zehadiwe, u-10% uhlobene nesitaki senethiwekhi, u-5% kumasistimu wefayela, kanye no-3. % kumasistimu angaphansi e-kernel.

Ukuqamba okusha okubalulekile ku-kernel 6.3:

  • Imemori kanye nezinsizakalo zesistimu
    • Ukuhlanzwa okuphawulekayo kwekhodi ehlobene namabhodi e-ARM amadala nangasetshenziswanga kuye kwenziwa, okuye kwanciphisa usayizi wemithombo ye-kernel ngemigqa eyizinkulungwane ezingu-150. Kukhishwe izinkundla ze-ARM ezingaphezu kuka-40.
    • Kusetshenziswe ikhono lokudala abashayeli bamadivayisi okokufaka ane-HID (Human Interface Device) interface esetshenziswa ngendlela yezinhlelo ze-BPF.
    • Kuqhutshekwe nokuthuthwa kusuka egatsheni le-Rust-for-Linux yokusebenza okwengeziwe okuhlobene nokusebenzisa i-Rust njengolimi lwesibili lokuthuthukisa abashayeli namamojula we-kernel. Ukusekelwa kokugqwala akunikwa amandla ngokuzenzakalelayo, futhi akuholeli ekufakweni kwe-Rust njengokuncika kwe-kernel yokwakha okuyisibopho. Ukusebenza okunikezwayo ekukhishweni kwangaphambilini kunwetshiwe ngokusekelwa kwezinhlobo ze-Arc (ukusetshenziswa kwezikhombisi ngesibalo sereferensi), i-ScopeGuard (i-cleanup yenziwa uma iphuma endaweni), kanye ne-ForeignOwnable (ihlinzeka ngokunyakaza kwesikhombi phakathi kwekhodi engu-C kanye ne-Rust) . Imojuli ekhishiwe 'boleka' kuphakheji 'i-alloc' (hlobo 'Inkomo' kanye nesici esithi 'ToOwned'). Kuyaphawulwa ukuthi isimo sokusekela i-Rust ku-kernel sesivele siseduze nokwamukela amamojula okuqala abhalwe ku-Rust ku-kernel.
    • I-Linux yemodi yomsebenzisi (esebenzisa i-kernel njengenqubo yomsebenzisi) ezinhlelweni ze-x86-64 isekela ikhodi ebhalwe ku-Rust. Usekelo olungeziwe lokwakha i-Linux yemodi yomsebenzisi kusetshenziswa i-clang ene-link-time optimizations enikwe amandla (LTO).
    • Kwengezwe insiza ye-hwnoise ukulandelela ukubambezeleka okubangelwa ukuziphatha kwezingxenyekazi zekhompuyutha. Ukuchezuka ngesikhathi sokusebenza (i-jitter) kunqunywa lapho ukucubungula ukuphazamiseka kukhutshaziwe, kudlula i-microsecond eyodwa emizuzwini eyi-10 yokubala.
    • Imojula ye-kernel yengezwe ngokusetshenziswa kwebhentshimakhi ye-Dhrystone engasetshenziswa ukuhlola ukusebenza kwe-CPU ekucushweni ngaphandle kwezingxenye zesikhala somsebenzisi (isibonelo, esigabeni sokuthuthwa kwama-SoC amasha asebenzisa ukulayishwa kwe-kernel kuphela).
    • Kwengezwe inketho yomugqa womyalo we-kernel ethi "cgroup.memory=nobpf" ukuze ukhubaze ukubalwa kwememori kokusetshenziswa kwezinhlelo ze-BPF, okungaba usizo kumasistimu aneziqukathi ezingazodwa.
    • Ezinhlelweni ze-BPF, kuhlongozwa ukuqaliswa kwesakhiwo sedatha yesihlahla esibomvu-emnyama, esebenzisa i-kfunc + kptr (bpf_rbtree_add, bpf_rbtree_remove, bpf_rbtree_first) esikhundleni sokwengeza uhlobo olusha lwemephu.
    • Endleleni yokulandelana okungaqaliswa kabusha (i-rseq, ukulandelana okuqalwa kabusha) yengeze ikhono lokudlulisa izihlonzi zesenzo esifanayo (i-ID ye-memory-map concurrency) ekhonjwe ngenombolo ye-CPU ezinqubweni. I-Rseq ihlinzeka ngendlela yokusebenza ngokushesha kwe-athomu okuthi, uma iphazanyiswa olunye uchungechunge, ihlanzwe futhi izanywe kabusha.
    • Amaphrosesa e-ARM asekela imiyalo ye-SME 2 (Scalable Matrix Extension).
    • Okwezakhiwo ze-s390x ne-RISC-V RV64, ukusekelwa kwendlela ye-"BPF trampoline" kuyasetshenziswa, okuvumela ukuncishiswa okungaphezulu lapho kudluliswa izingcingo phakathi kwe-kernel nezinhlelo ze-BPF.
    • Kumasistimu anamaphrosesa asekelwe ekwakhiweni kwe-RISC-V, ukusetshenziswa kwemiyalelo ethi "ZBB" kuqalisiwe ukusheshisa ukusebenza kwentambo.
    • Okwamasistimu asekelwe ekwakhiweni kwesethi yemiyalo ye-LoongArch (esetshenziswa ku-Loongson 3 5000 processors kanye nokusebenzisa i-RISC ISA entsha efana ne-MIPS ne-RISC-V), ukusekelwa kwe-kernel address space randomization (KASLR), ukususwa kwe-kernel enkumbulweni (ukuthutha ), amaphoyinti ezingxenyekazi zekhompuyutha ame kanye nendlela ye-kprobe.
    • I-DAMOS (I-Data Access Monitoring-based Operation Schemes) indlela, ekuvumela ukuthi ukhulule inkumbulo ngokususelwa kubuningi bokufinyelela kwenkumbulo, isekela izihlungi ukuze zingafaki izindawo ezithile zenkumbulo ekucutshungulweni ku-DAMOS.
    • Umtapo wolwazi omncane we-C we-Nolibc usebenzisa ukusekela kwezakhiwo ze-s390 kanye nesethi yemiyalelo ye-Arm Thumb1 (ngaphezu kosekelo lwe-ARM, AArch64, i386, x86_64, RISC-V kanye ne-MIPS).
    • I-Objtool ilungiselelwe ukusheshisa ukwakhiwa kwe-kernel nokunciphisa ukusetshenziswa kwenkumbulo ephakeme ngesikhathi sokwakha (uma wakha i-kernel kumodi ye-"allyesconfig", azikho izinkinga ngokuqedwa okuphoqelekile kwezinqubo kumasistimu ane-32 GB ye-RAM).
    • Ukusekelwa kokuhlanganiswa kwe-kernel yi-Intel ICC compiler kunqanyuliwe, osekunesikhathi eside ingasebenzi futhi akekho ozwakalise isifiso sokuyilungisa.
  • I-Disk Subsystem, I/O kanye ne-File Systems
    • I-tmpfs isekela ukufakwa kwemephu ye-ID yomsebenzisi wesistimu yefayela, esetshenziselwa ukwenza imephu yamafayela omsebenzisi othile endaweni yangaphandle egxunyekiwe komunye umsebenzisi ohlelweni lwamanje.
    • Ku-Btrfs, ukunciphisa ukuhlukaniswa kwamaqembu amabhulokhi, ububanzi buhlukaniswa ngosayizi lapho kwabiwa amabhlogo, i.e. noma yiliphi iqembu lamabhulokhi manje likhawulelwe kokuncane (kufika ku-128KB), okuphakathi (kufika ku-8MB), nezinga elikhulu. Ukuqaliswa kwe-raid56 kuhlelwe kabusha. Ikhodi eklanywe kabusha yokuhlola amasheke. Ukulungiselelwa kokusebenza kwenziwe ukuze kusheshiswe umsebenzi wokuthumela izikhathi ezingafika kweziyi-10 ngokufaka kunqolobane isikhathi semibhalo kanye nokukhipha imiyalo kuphela lapho kudingeka. 10x imisebenzi esheshayo ye-fiemap ngokweqa ukuhlola kwe-backlink kudatha eyabiwe (izifinyezo). Ukusebenza ngemethadatha kusheshiswa ngo-XNUMX% ngokuthuthukisa usesho lokhiye kuzakhiwo ze-b-tree.
    • Ukusebenza okuthuthukisiwe kwe-ext4 FS ngokuvumela izinqubo eziningi ngesikhathi esisodwa ukwenza imisebenzi ye-I/O eqondile kumabhulokhi anikezwe ngaphambili kusetshenziswa izingidi ze-inode ezabiwe esikhundleni sokukhiya okukhethekile.
    • Ku-f2fs, kwenziwe umsebenzi wokuthuthukisa ukufundeka kwekhodi. Kulungiswe izindaba ezibalulekile ezihlobene nokubhala kwe-athomu kanye nenqolobane yezinga elisha.
    • I-EROFS (Isistimu Yefayela Efundwa Kuphela Ethuthukisiwe), eklanyelwe ukusetshenziswa kuma-partitions okufunda kuphela, isebenzisa ikhono lokuhlanganisa imisebenzi yokucindezelwa kwefayela elicindezelwe ku-CPU ukuze kwehliswe ukubambezeleka kokufinyelela idatha.
    • Isihleli se-BFQ I/O sengeze usekelo lwamadrayivu ediski asotha athuthukile, njengalawo asebenzisa amadrayivu alawulwa ngokuhlukene amaningi (Multi Actuator).
    • Ukusekelwa kokubethelwa kwedatha kusetshenziswa i-algorithm ye-AES-SHA2 yengezwe ekusetshenzisweni kweklayenti neseva ye-NFS.
    • Uhlelo olungaphansi lwe-FUSE (Filesystems In User Space) lwengeze usekelo lwendlela yokwandisa imibuzo, ekuvumela ukuthi ufake ulwazi olwengeziwe embuzweni. Ngokusekelwe kulesi sici, ukungezwa kwezihlonzi zeqembu esicelweni se-FS kuyenziwa, okudingekayo ukuze kucatshangelwe amalungelo okufinyelela lapho udala izinto ku-FS (dala, mkdir, symlink, mknod).
  • I-Virtualization kanye Nokuphepha
    • I-hypervisor ye-KVM yezinhlelo ze-x86 yengeza usekelo lwama-hypercall e-Hyper-V andayo futhi iwahlinzeka ngokudlulisela isibambi esisebenza endaweni yokubamba indawo yomsebenzisi. Ushintsho lwenza kwaba nokwenzeka ukusebenzisa ukwesekwa kokwethulwa kwesidleke kwe-Hyper-V hypervisor.
    • I-KVM yenza kube lula ukukhawulela ukufinyelela kohlelo lwezivakashi kumicimbi ye-PMU (Performance Monitor Unit) ehlobene nokukalwa kokusebenza.
    • Indlela ye-memfd, ekuvumela ukuthi ukhombe indawo yenkumbulo ngesichazi sefayela esidluliselwe phakathi kwezinqubo, yengezwe ikhono lokudala izindawo lapho ukukhishwa kwekhodi kunqatshelwe khona (i-memfd engasebenziseki) futhi akunakwenzeka ukusetha amalungelo okubulala ku- esizayo.
    • Umsebenzi omusha we-PR_SET_MDWE we-prctl wengeziwe ukuze uvimbele imizamo yokufaka amalungelo okufinyelela kumemori avumela kokubili ukubhala nokwenziwa ngesikhathi esisodwa.
    • Ukuvikelwa ekuhlaselweni kwesigaba se-Specter kwengezwe futhi kwasebenza ngokuzenzakalelayo, ngokusekelwe kumodi ezenzakalelayo ye-IBRS (I-Indirect Indirect Branch Restricted Speculation) ehlongozwa kuma-processor we-AMD Zen 4, ekuvumela ukuthi uvumelane ngokuguquguqukayo futhi ukhubaze ukukhishwa okuqagelayo kwemiyalelo ngesikhathi sokucubungula ukuphazamiseka. , izingcingo zesistimu, nokushintsha kokuqukethwe. Ukuvikelwa okuhlongozwayo kuholela ekuphakameni okuphansi uma kuqhathaniswa nokuvikelwa kwe-Retpoline.
    • Ibhekana nokuba sengozini okungase kudlule ukuvikelwa kokuhlasela kwe-Specter v2 uma kusetshenziswa ubuchwepheshe be-multithreading ngesikhathi esisodwa (SMT noma i-Hyper-Threading) futhi okubangelwa ukukhubaza indlela ye-STIBP (I-Single Thread Indirect Branch Predictors) lapho kukhethwa imodi yokuvikela ye-IBRS.
    • Kuzinhlelo ezisekelwe ku-ARM64, i-"virtconfig" yokwakha ithagethi entsha yengeziwe, okuthi, uma ikhethiwe, isebenze kuphela isethi encane yezingxenye ze-kernel ezidingekayo ukuze kuqaliswe ezinhlelweni ze-virtualization.
    • Usekelo olungeziwe lokuhlunga amakholi wesistimu kusetshenziswa indlela ye-seccomp ye-architecture ye-m68k.
    • Usekelo olungeziwe lwamadivayisi e-AMD Ryzen processors eyakhelwe ngaphakathi e-CRB TPM2 (Command Response Buffer) asekelwe kubuchwepheshe be-Microsoft Pluton.
  • Isistimu engaphansi yenethiwekhi
    • Isixhumi esibonakalayo se-netlink sengeziwe ukuze kulungiselelwe isendlalelo esingaphansi se-PLCA (Physical Layer Collision Avoidance), esichazwe ekucacisweni kwe-IEEE 802.3cg-2019 futhi sisetshenziswe ku-802.3cg (10Base-T1S) amanethiwekhi e-Ethernet alungiselelwe ukuxhuma amadivayisi e-IoT nezinhlelo zezimboni. Ukusetshenziswa kwe-PLCA kuthuthukisa ukusebenza kumanethiwekhi okwabelwana ngawo e-Ethernet yemidiya.
    • Ukusekelwa kwe-API "yezandiso ezingenantambo" yokuphatha i-WiFi 7 (802.11be) ukuxhumana okungenantambo kunqanyuliwe, njengoba le API ingafaki zonke izilungiselelo ezidingekayo. Uma uzama ukusebenzisa i-API "yezandiso ezingenantambo", eqhubeka nokusekelwa njengesendlalelo esilingisiwe, isexwayiso manje sizoboniswa kumadivayisi amaningi amanje.
    • Imibhalo enemininingwane ku-netlink API isilungisiwe (yenzelwe abathuthukisi be-kernel kanye nonjiniyela bezinhlelo zokusebenza zesikhala somsebenzisi). Insiza ye-ynl-gen-c isetshenziswe ukuze kukhiqizwe ikhodi ye-C ngokusekelwe kuzicaciso ze-YAML zephrothokholi ye-Netlink.
    • Usekelo lwenketho ye-IP_LOCAL_PORT_RANGE yengezwe kumasokhethi enethiwekhi ukuze kwenziwe lula ukulungiselelwa koxhumano oluphumayo ngokusebenzisa abahumushi bekheli ngaphandle kokusebenzisa i-SNAT. Uma usebenzisa ikheli le-IP elifanayo kubasingathi abaningi, i-IP_LOCAL_PORT_RANGE ivumela umsingathi ngamunye ukuthi asebenzise ububanzi bakhe bezimbobo zenethiwekhi eziphumayo, kanye nasesangweni lokudlulisa amaphakethe ngokusekelwe ezinombolweni zembobo.
    • Ku-MPTCP (MultiPath TCP), ikhono lokuphatha ukusakaza okuxubile okusebenzisa i-IPv4 ne-IPv6 iphrothokholi liyasetshenziswa. I-MPTCP iyisandiso sephrothokholi ye-TCP yokuhlela ukusebenza koxhumano lwe-TCP nokulethwa kwamaphakethe ngesikhathi esisodwa emizileni embalwa ngokusebenzisa ukuxhumana kwenethiwekhi okuboshelwe kumakheli e-IP ahlukene.
    • Ku-IPv4, ithuba lokusebenzisa isandiso se-BIG TCP liyasetshenziswa, okuvumela ukukhulisa usayizi wephakethe we-TCP kufika ku-4 GB ukuze kuthuthukiswe ukusebenza kwamanethiwekhi angaphakathi anesivinini esiphezulu sezikhungo zedatha. Lokhu kwanda kosayizi wephakethe ngenkambu kanhlokweni engu-16-bit kufinyelelwa ngokusebenzisa amaphakethe "e-jumbo" anosayizi wesihloko se-IP esimiswe ukuze sibe ngu-0 kanye nosayizi wangempela odluliswa endaweni ehlukile ye-32-bit kunhlokweni enamathiselwe ehlukile.
    • Ipharamitha entsha ye-sysctl default_rps_mask yengeziwe, lapho ungasetha khona ukulungiselelwa okuzenzakalelayo kwe-RPS (Yamukela Iphakethe Lokuqondisa), enesibopho sokusabalalisa ukucutshungulwa kwethrafikhi engenayo kuwo wonke ama-CPU cores kuleveli yesibambi esiphazamisayo.
    • Kuyekiwe ukusekela imikhakha yolayini ukuze kukhawulwe i-CBQ (umugqa osekelwe ekilasini), i-ATM (amasekhethi abonakalayo e-ATM), i-dsmark (umaka wesevisi ohlukile), i-tcindex (inkomba yokulawula ithrafikhi), kanye nethrafikhi ye-RSVP (iphrothokholi yokubhuka izisetshenziswa). Lezi ziqondiso sezishiywe isikhathi eside futhi akekho owayezimisele ukuqhubeka nokweseka.
  • Izinsiza
    • Kukhishwe zonke izishayeli zezithombe ezisuselwa ku-DRI1: i-i810 (amakhadi ezithombe ahlanganisiwe e-Intel 8xx), i-mga (Matrox GPU), i-r128 (i-ATI Rage 128 GPU ehlanganisa amakhadi we-Rage Fury, i-XPERT 99 kanye ne-XPERT 128), i-savage (S3 Savage GPU), sis ( I-Crusty SiS GPU), i-tdfx (3dfx Voodoo) kanye ne-(VIA IGP), eye yahoxiswa ngo-2016 futhi ayizange isekelwe e-Mesa kusukela ngo-2012.
    • Kukhishwe izishayeli ze-framebuffer (fbdev) eziphelelwe yisikhathi omap1, s3c2410, tmiofb kanye ne-w100fb.
    • Umshayeli we-DRM ungeziwe we-VPU (Versatile Processing Unit) ehlanganiswe ne-Intel Meteor Lake (isizukulwane se-14) CPUs, eklanyelwe ukusheshisa ukubona kwekhompyutha nokusebenza komshini wokufunda. Umshayeli usetshenziswa kusetshenziswa i-subsystem ethi "accel", okuhloswe ngayo ukuhlinzeka ngosekelo lwama-accelerator ekhompyutha, olungahlinzekwa kokubili ngendlela yama-ASIC ahlukene nanjengamabhulokhi e-IP ngaphakathi kwe-SoC ne-GPU.
    • Umshayeli we-i915 (Intel) unweba ukusekelwa kwamakhadi ezithombe ze-Intel Arc (DG2/Alchemist), wethula ukwesekwa kokuqala kwe-Meteor Lake GPUs, futhi kuhlanganisa nokusekelwa kwe-Intel Xe HP 4tile GPUs.
    • Umshayeli we-amdgpu wengeza usekelo lobuchwepheshe be-AdaptiveSync kanye nekhono lokusebenzisa i-Secure Display enezibonisi eziningi. Usekelo olubuyekeziwe lwe-DCN 3.2 (Display Core Next), SR-IOV RAS, VCN RAS, SMU 13.x kanye ne-DP 2.1.
    • Usekelo olungeziwe lwezingxenyekazi ze-SM8350, SM8450 SM8550, SDM845 ne-SC8280XP kumshayeli we-msm (GPU Qualcomm Adreno).
    • Umshayeli we-Nouveau ulahle usekelo lwamakholi amadala e-ioctl.
    • Usekelo lokuhlola lwe-NPU VerSilicon (VeriSilicon Neural Network Processor) lwengezwe kumshayeli we-etnaviv.
    • Umshayeli we-pata_parport wamadrayivu e-IDE axhunywe ngembobo ehambisanayo uqalisiwe. Umshayeli owengeziwe wenze kwaba nokwenzeka ukususa umshayeli omdala we-PARIDE ku-kernel futhi uthuthukise uhlelo olungaphansi lwe-ATA. Umkhawulo womshayeli omusha ukungakwazi ukuxhuma ngesikhathi esisodwa iphrinta nediski ngembobo ehambisanayo.
    • Kwengezwe umshayeli we-ath12k wamakhadi angenantambo asekelwe kuma-chips e-Qualcomm anosekelo lwe-Wi-Fi 7. Usekelo olungeziwe lwamakhadi angenantambo asekelwe kuma-chips e-RealTek RTL8188EU.
    • Kungezwe ukusekelwa kwamabhodi angama-46 asekelwe ekwakhiweni kwe-ARM64, okuhlanganisa i-Samsung Galaxy tab A (2015), Samsung Galaxy S5, BananaPi R3, Debix Model A, EmbedFire LubanCat 1/2, Facebook Greatlakes, Orange Pi R1 Plus, Tesla FSD, kanye namadivayisi isekelwe ku-SoC Qualcomm MSM8953 (Snapdragon 610), SM8550 (Snapdragon 8 Gen 2), SDM450 kanye ne-SDM632, i-Rockchips RK3128 TV box, RV1126 Vision, RK3588, RK3568, RK3566, RK3588, RK3328, RK3, RK642AM654, RK68 AM69 XNUMX/AMXNUMX / AMXNUMX).

Ngaso leso sikhathi, i-Latin American Free Software Foundation yakha okuhlukile kwe-kernel 6.3 yamahhala - Linux-libre 6.3-gnu, esulwe ku-firmware nezinto zomshayeli eziqukethe izingxenye ezingezona zamahhala noma izigaba zekhodi, ububanzi bayo obunqunyelwe umenzi. Ekukhishweni okungu-6.3, ama-blobs ahlanzwa kubashayeli abasha be-ath12k, aw88395, kanye ne-peb2466, kanye nasemafayilini amasha we-devicetree wamadivayisi we-qcom asekelwe ku-AArch64. Ikhodi yokuhlanza i-blob ebuyekeziwe ku-amdgpu, xhci-rcar, qcom-q6v5-pas, sp8870, av7110 abashayeli namasistimu angaphansi, kanye nezishayeli zamakhadi e-DVB ane-software yokukhipha ikhodi kanye namafayela e-BPF asehlanganiswe ngaphambilini. Kumiswe abashayeli be-purge mga, r128, tm6000, cpia2 kanye no-r8188eu njengoba bekhishiwe ku-kernel. Ukuhlanza i-blob yomshayeli we-i915 okuthuthukisiwe.

Source: opennet.ru

Engeza amazwana