Kutulutsidwa kwa kernel ya Linux 6.3

Pambuyo pa miyezi iwiri yachitukuko, Linus Torvalds adapereka kutulutsidwa kwa Linux kernel 6.3. Zina mwa zosintha zodziwika bwino: kuyeretsa nsanja za ARM ndi madalaivala azithunzi, kupitiliza kuphatikiza chithandizo cha chilankhulo cha dzimbiri, kugwiritsa ntchito hwnoise, kuthandizira mitengo yofiyira yakuda mu BPF, BIG TCP mode ya IPv4, benchmark ya Dhrystone, kuthekera koletsa. kuphedwa mu memfd, kuthandizira kupanga madalaivala a HID pogwiritsa ntchito BPF, zosintha zapangidwa ku Btrfs kuti muchepetse kugawikana kwamagulu a block.

Mtundu watsopanowu umaphatikizapo kukonza kwa 15637 kuchokera kwa opanga 2055; kukula kwa chigamba - 76 MB (zosintha zinakhudza mafayilo a 14296, mizere ya 1023183 ya code inawonjezeredwa, mizere 883103 inachotsedwa). Poyerekeza, mtundu wakale udapereka zosintha 16843 kuchokera kwa opanga 2178; kukula kwa chigamba ndi 62 MB. Pafupifupi 39% ya zosintha zonse zomwe zimayambitsidwa mu 6.3 kernel zimagwirizana ndi madalaivala a chipangizo, pafupifupi 15% ya zosintha zimagwirizana ndi kukonzanso kachidindo kamangidwe ka ma hardware, 10% ikugwirizana ndi stack network, 5% ikugwirizana ndi mafayilo amafayilo, ndi 3% imagwirizana ndi ma kernel subsystems amkati.

Zatsopano zazikulu mu kernel 6.3:

  • Memory ndi ntchito zadongosolo
    • Kuyeretsa kwakukulu kwa code komwe kumagwirizanitsidwa ndi matabwa akale ndi osagwiritsidwa ntchito a ARM kunachitika, zomwe zinapangitsa kuti kuchepetsa kukula kwa kernel source code ndi mizere 150 zikwi. Mapulatifomu opitilira 40 akale a ARM achotsedwa.
    • Kuthekera kopanga madalaivala a zida zolowera ndi mawonekedwe a HID (Human Interface Device), omwe akhazikitsidwa ngati mapulogalamu a BPF, akhazikitsidwa.
    • Kusamutsa kuchokera ku nthambi ya Rust-for-Linux ya magwiridwe antchito owonjezera okhudzana ndi kugwiritsa ntchito chilankhulo cha Rust ngati chilankhulo chachiwiri pakupanga madalaivala ndi ma module a kernel kwapitilira. Thandizo la dzimbiri silimathandizidwa mwachisawawa, ndipo sizimapangitsa kuti Dzimbiri liphatikizidwe ngati kudalira kofunikira kwa kernel. Ntchito zomwe zatulutsidwa m'mabuku am'mbuyomu zakulitsidwa kuti zithandizire mitundu ya Arc (kukwaniritsa zolozera zowerengera), ScopeGuard (kuyeretsa mukachoka pamalopo) ndi ForeignOwnable (imapereka zolozera pakati pa C ndi Rust code). Gawo la 'ngongole' (mtundu wa 'Ng'ombe' ndi khalidwe la 'ToOwned') lachotsedwa pa phukusi la 'alloc'. Zikudziwika kuti dziko la Rust kuthandizira mu kernel latsala pang'ono kuyamba kuvomereza ma modules oyambirira olembedwa mu Rust mu kernel.
    • Linux-mode Linux (yoyendetsa kernel ngati njira yogwiritsira ntchito) pamakina a x86-64 imathandizira ma code olembedwa m'chinenero cha Rust. Thandizo lowonjezera pomanga Linux-mode Linux pogwiritsa ntchito clang yokhala ndi ulalo-nthawi yabwino (LTO) yothandizidwa.
    • Wowonjezera hwnoise utility kutsatira kuchedwa chifukwa cha hardware. Kupatuka pa nthawi yogwirira ntchito (jitter) kumatsimikiziridwa pamene kusokoneza kwayimitsidwa, kupitirira microsecond imodzi pamphindi 10 zowerengera.
    • Onjezani gawo la kernel lomwe limagwiritsa ntchito benchmark ya Dhrystone, yomwe ingagwiritsidwe ntchito kuwunika magwiridwe antchito a CPU pamasinthidwe opanda magawo ogwiritsira ntchito (mwachitsanzo, potengera ma SoC atsopano omwe amangoyika kernel).
    • Wowonjezera kernel command line parameter "cgroup.memory=nobpf", yomwe imalepheretsa kukumbukira kukumbukira mapulogalamu a BPF, omwe angakhale othandiza pamakina omwe ali ndi zotengera zakutali.
    • Pamapulogalamu a BPF, kukhazikitsidwa kwa dongosolo la data la mtengo wofiyira-wakuda kumaperekedwa, komwe kumagwiritsa ntchito kfunc + kptr (bpf_rbtree_add, bpf_rbtree_remove, bpf_rbtree_first) m'malo mowonjezera mtundu watsopano wa mapu.
    • Makina otsatizana oyambiranso (rseq, kutsatizananso) kwawonjezera kuthekera kosinthira zozindikiritsa zofananira (ID ya memory-map concurrency) kumayendedwe, odziwika ndi nambala ya CPU. Rseq imapereka njira yochitira ntchito mwachangu ma atomu, omwe ngati asokonezedwa ndi ulusi wina amatsukidwa ndikuyesedwanso.
    • Ma processor a ARM amathandizira malangizo a SME 2 (Scalable Matrix Extension).
    • Pazomangamanga za s390x ndi RISC-V RV64, chithandizo cha makina a "BPF trampoline" chakhazikitsidwa, chomwe chimalola kuchepetsa kupitilira apo kusamutsa mafoni pakati pa mapulogalamu a kernel ndi BPF.
    • Pa machitidwe omwe ali ndi mapurosesa otengera mapangidwe a RISC-V, kugwiritsa ntchito malangizo a "ZBB" kumayendetsedwa kuti afulumizitse ntchito za zingwe.
    • Kwa machitidwe ozikidwa pamapangidwe a LoongArch malangizo (omwe amagwiritsidwa ntchito mu purosesa ya Loongson 3 5000 ndikukhazikitsa RISC ISA yatsopano, yofanana ndi MIPS ndi RISC-V), chithandizo cha kernel address space randomization (KASLR), kusintha kwa kukumbukira kernel (kusamuka). ), mfundo za hardware zimakhazikitsidwa kuyimitsa ndi makina a kprobe.
    • Makina a DAMOS (Data Access Monitoring-based Operation Schemes), omwe amakulolani kumasula kukumbukira kutengera kuchuluka kwa kukumbukira kukumbukira, imathandizira zosefera kuti zichotse malo ena okumbukira kuti asagwiritsidwe ntchito mu DAMOS.
    • Laibulale ya Nolibc yaying'ono ya C imapereka chithandizo cha kamangidwe ka s390 ndi malangizo a Arm Thumb1 (kuphatikiza pakuthandizira kwa ARM, AArch64, i386, x86_64, RISC-V ndi MIPS).
    • Objtool yakonzedwa kuti ifulumizitse kusonkhana kwa kernel ndikuchepetsa kukumbukira kukumbukira nthawi zambiri (pomanga kernel mu "allyesconfig" mode, palibe mavuto ndi kuthetsa mokakamiza kwa machitidwe omwe ali ndi 32 GB ya RAM).
    • Thandizo la msonkhano wa kernel ndi Intel ICC compiler yatha, yomwe yakhala yosagwira ntchito kwa nthawi yaitali ndipo palibe amene wasonyeza kuti akufuna kukonza.
  • Disk Subsystem, I/O ndi File Systems
    • tmpfs imathandizira kupanga ma ID a ogwiritsa ntchito pamafayilo okwera, omwe amagwiritsidwa ntchito kuti afananize mafayilo a wogwiritsa ntchito pagawo lakunja lokhazikitsidwa ndi wogwiritsa ntchito wina pamakina apano.
    • Mu Btrfs, kuti muchepetse kugawikana kwa magulu a midadada, miyeso imagawidwa ndi kukula pogawa midadada, i.e. gulu lililonse la midadada tsopano malire ang'onoang'ono (mpaka 128KB), sing'anga (mpaka 8 MB) ndi mbali yaikulu. Kukhazikitsidwa kwa raid56 kwasinthidwanso. Khodi yowunikira macheke yasinthidwanso. Kukhathamiritsa kwa magwiridwe antchito kwapangidwa kuti kufulumizitsa ntchito yotumizako mpaka ka 10 posunga nthawi yosungira ndikusunga malamulo pokhapokha pakufunika. Ntchito za Fiemap tsopano zathamanga katatu podumpha macheke a backlink a data yogawana (zithunzi). Kugwira ntchito ndi metadata kwafulumizitsidwa ndi 10% pokulitsa kusaka kwa makiyi mumitengo ya b-tree.
    • Ntchito ya fayilo ya ext4 yasinthidwa mwa kulola njira zingapo kuti nthawi imodzi zigwire ntchito zachindunji za I / O pazida zomwe zidagawidwiratu pogwiritsa ntchito zokhoma zogawana m'malo mwa zotsekera zokhazokha.
    • Mu f2fs, ntchito yachitika kuti ma code awerengedwe bwino. Kuthetsa nkhani zofunika zokhudzana ndi zolemba za atomiki ndi cache yatsopano.
    • Dongosolo la fayilo la EROFS (Enhanced Read-Only File System), lomwe lakonzedwa kuti ligwiritsidwe ntchito m'magawo owerengera okha, limagwiritsa ntchito kuthekera komangiriza magwiridwe antchito amafayilo oponderezedwa ku CPU kuti muchepetse kuchedwa mukapeza deta.
    • Wokonza BFQ I/O wawonjezera chithandizo cha ma drive oyendetsa ma disk otsogola, monga omwe amagwiritsa ntchito ma drive amamutu angapo oyendetsedwa padera (Multi Actuators).
    • Kuthandizira kubisa kwa data pogwiritsa ntchito AES-SHA2 algorithm yawonjezedwa kwa kasitomala wa NFS ndikukhazikitsa seva.
    • Thandizo la njira yowonjezera mafunso yawonjezeredwa ku FUSE (Filesystems In User Space) subsystem, kulola kuti chidziwitso chowonjezera chiyikidwe pafunso. Kutengera izi, ndizotheka kuwonjezera zizindikiritso zamagulu ku pempho la FS, zomwe ndizofunikira kuti muganizire za ufulu wopeza popanga zinthu mu FS (kupanga, mkdir, symlink, mknod).
  • Virtualization ndi Chitetezo
    • KVM hypervisor ya machitidwe a x86 yawonjezera chithandizo cha Hyper-V yowonjezera ma hypercalls ndikupereka kutumiza kwawo kwa wothandizira omwe akuyendetsa malo omwe amachitiramo malo ogwiritsira ntchito. Kusinthaku kudapangitsa kuti zitheke kukhazikitsa chithandizo chokhazikitsa zisa za Hyper-V hypervisor.
    • KVM imapangitsa kuti zikhale zosavuta kuletsa alendo kulowa nawo zochitika za PMU (Performance Monitor Unit) zokhudzana ndi kuyeza kwa magwiridwe antchito.
    • Makina a memfd, omwe amakulolani kuti muzindikire malo okumbukira kupyolera mu fayilo yofotokozera yomwe imasamutsidwa pakati pa ndondomeko, yawonjezera mphamvu yopangira madera omwe kupha ma code ndikoletsedwa (non-executable memfd) ndipo n'zosatheka kukhazikitsa maufulu ophedwa m'tsogolomu. .
    • Opareshoni yatsopano ya prctl PR_SET_MDWE yawonjezedwa yomwe imaletsa kuyesa kuloleza ufulu wolowa m'makumbukiro womwe umalola nthawi imodzi kulemba ndi kuphedwa.
    • Kutetezedwa motsutsana ndi Specter class yawonjezedwa ndikuyatsidwa mwachisawawa, kutengera njira ya IBRS (Enhanced Indirect Branch Restricted Speculation) yomwe imapangidwa mu mapurosesa a AMD Zen 4, omwe amalola kulola ndikuletsa kutsata kongopeka kwa malangizo panthawi yosokoneza, kuyimba foni ndi makina. kusintha kwa nkhani. Chitetezo chomwe chikufunsidwa chimabweretsa kutsika kwapamwamba poyerekeza ndi chitetezo cha Retpoline.
    • Kukonza chiwopsezo chomwe chimalola kuti chitetezedwe motsutsana ndi kuukira kwa Specter v2 mukamagwiritsa ntchito ukadaulo wamitundu yambiri (SMT kapena Hyper-Threading) komanso chifukwa choletsa makina a STIBP (Single Thread Indirect Branch Predictors) posankha njira yachitetezo ya IBRS.
    • Pamakina otengera kamangidwe ka ARM64, chandamale chatsopano cha "virtconfig" chawonjezedwa, ikasankhidwa, magawo ochepera a kernel omwe amafunikira kuti ayambitse machitidwe a virtualization amayatsidwa.
    • Pamamangidwe a m68k, kuthandizira pakusefera mafoni pogwiritsa ntchito makina a seccomp awonjezedwa.
    • Thandizo lowonjezera la zida za CRB TPM2 (Command Response Buffer) zomangidwa mu purosesa ya AMD Ryzen, kutengera ukadaulo wa Microsoft Pluton.
  • Network subsystem
    • Mawonekedwe a netlink awonjezedwa kuti akonze PLCA (Physical Layer Collision Avoidance) sublayer, yofotokozedwa mu IEEE 802.3cg-2019 specifications ndipo amagwiritsidwa ntchito mu 802.3cg (10Base-T1S) Ethernet maukonde okongoletsedwa kulumikiza Internet of Things zipangizo ndi mafakitale machitidwe. Kugwiritsa ntchito PLCA kumawongolera magwiridwe antchito mumanetiweki a Ethernet okhala ndi media media.
    • Thandizo la "zowonjezera zopanda zingwe" API yoyang'anira ma WiFi 7 (802.11be) opanda zingwe zasiyanitsidwa popeza API iyi siyimayika zoikamo zonse zofunika. Mukayesa kugwiritsa ntchito "zowonjezera zopanda zingwe" API, yomwe ikupitilizabe kuthandizidwa ngati gawo lotsatiridwa, chenjezo liziwonetsedwa pazida zambiri zamakono.
    • Zolemba zatsatanetsatane za netlink API zakonzedwa (za oyambitsa ma core komanso opanga mapulogalamu ogwiritsira ntchito malo). Ntchito ya ynl-gen-c yakhazikitsidwa kuti ipange C khodi kutengera ma YAML a protocol ya Netlink.
    • Thandizo la njira ya IP_LOCAL_PORT_RANGE yawonjezedwa kumasoketi kuti muchepetse masinthidwe a maulalo otuluka kudzera mwa omasulira maadiresi osagwiritsa ntchito SNAT. Mukamagwiritsa ntchito adilesi imodzi ya IP pa makamu angapo, IP_LOCAL_PORT_RANGE imatheketsa kugwiritsa ntchito madoko osiyanasiyana otuluka pamtundu uliwonse, ndikupititsa patsogolo mapaketi kutengera manambala adoko pachipata.
    • Kwa MPTCP (MultiPath TCP), kuthekera kokonza mitsinje yosakanikirana pogwiritsa ntchito ma protocol a IPv4 ndi IPv6 kwakhazikitsidwa. MPTCP ndikuwonjezera kwa protocol ya TCP yokonzekera kugwira ntchito kwa kulumikizana kwa TCP ndi kutumiza mapaketi nthawi imodzi m'njira zingapo kudzera pamaneti osiyanasiyana olumikizidwa ndi ma adilesi osiyanasiyana a IP.
    • Kwa IPv4, ndizotheka kugwiritsa ntchito kukulitsa kwa BIG TCP, komwe kumakupatsani mwayi wowonjezera kukula kwa paketi ya TCP mpaka 4GB kuti mukwaniritse magwiridwe antchito othamanga kwambiri apakati pa data. Kuwonjezeka kofanana kwa paketi ndi kukula kwa mutu wa 16-bit kumatheka kupyolera mu kukhazikitsa mapaketi a "jumbo", kukula kwa mutu wa IP womwe umayikidwa ku 0, ndipo kukula kwake kwenikweni kumafalitsidwa mosiyana 32-bit. munda mu mutu wophatikizidwa wosiyana.
    • A sysctl parameter default_rps_mask yawonjezedwa, momwe mungakhazikitsire kasinthidwe ka RPS (Receive Packet Steering), yomwe ili ndi udindo wogawa kukonzanso kwa magalimoto omwe akubwera kudutsa ma CPU cores pamlingo wosokoneza.
    • Kuthandizira njira zoyendetsera mizere yochepetsera CBQ (mizere yotengera kalasi), ATM (mabwalo amtundu wa ATM), dsmark (chizindikiritso chosiyana cha ntchito), tcindex (mlozera wowongolera magalimoto) ndi RSVP (resource reservation protocol) zathetsedwa. Maphunzirowa adasiyidwa kwa nthawi yayitali ndipo palibe amene akufuna kupitiliza chithandizo chawo.
  • Zida
    • Yachotsa madalaivala onse azithunzi a DRI1: i810 (makadi akale a Intel 8xx), mga (Matrox GPU), r128 (ATI Rage 128 GPU, kuphatikiza makadi a Rage Fury, XPERT 99 ndi XPERT 128), savage (S3 Savage GPU), sis (Crusty SiS GPU), tdfx (3dfx Voodoo) ndi kudzera (VIA IGP), zomwe zidatsitsidwa mu 2016 ndipo sizinathandizidwe ku Mesa kuyambira 2012.
    • Madalaivala ochotsa cholowa (fbdev) omap1, s3c2410, tmiofb ndi w100fb.
    • Dalaivala wa DRM wawonjezedwa pamagawo a VPU (Versatile Processing Unit) ophatikizidwa mu Intel Meteor Lake CPU (m'badwo wa 14), wopangidwa kuti afulumizitse ntchito zokhudzana ndi masomphenya apakompyuta ndi kuphunzira pamakina. Dalaivala amayendetsedwa pogwiritsa ntchito "accel" subsystem, yomwe cholinga chake ndi kupereka chithandizo kwa ma computational accelerators, omwe atha kuperekedwa mwanjira ya ma ASIC kapena ngati ma IP atsekera mkati mwa SoC ndi GPU.
    • Dalaivala wa i915 (Intel) amakulitsa chithandizo cha makadi ojambula a Intel Arc (DG2/Alchemist), amapereka chithandizo choyambirira cha Meteor Lake GPUs, ndipo amaphatikizapo chithandizo cha Intel Xe HP 4tile GPUs.
    • Dalaivala wa amdgpu amawonjezera chithandizo chaukadaulo wa AdaptiveSync komanso kuthekera kogwiritsa ntchito Secure Display mode yokhala ndi zowonetsera zingapo. Zothandizira zosinthidwa za DCN 3.2 (Display Core Next), SR-IOV RAS, VCN RAS, SMU 13.x ndi DP 2.1.
    • Dalaivala wa msm (Qualcomm Adreno GPU) wawonjezera thandizo kwa nsanja za SM8350, SM8450 SM8550, SDM845 ndi SC8280XP.
    • Dalaivala wa Nouveau sagwiritsanso ntchito mafoni akale a ioctl.
    • Thandizo loyesera la NPU VerSilicon (VeriSilicon Neural Network processor) lawonjezedwa kwa dalaivala wa etnaviv.
    • Dalaivala wa pata_parport wakhazikitsidwa pamagalimoto a IDE olumikizidwa kudzera pa doko lofananira. Dalaivala wowonjezeredwa adatilola kuchotsa woyendetsa wakale wa PARIDE pa kernel ndikusintha kachitidwe ka ATA kamakono. Cholepheretsa dalaivala watsopano ndikulephera kulumikiza chosindikizira ndi disk panthawi imodzi kudzera pa doko lofanana.
    • Wowonjezera ath12k dalaivala wamakhadi opanda zingwe pa tchipisi ta Qualcomm tothandizira Wi-Fi 7. Thandizo lowonjezera la makadi opanda zingwe pa tchipisi ta RealTek RTL8188EU.
    • Thandizo lowonjezera la ma board 46 okhala ndi mapurosesa otengera kamangidwe ka ARM64, kuphatikiza 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, ndi komanso zipangizo zochokera SoC Qualcomm MSM8953 (Snapdragon 610), SM8550 (Snapdragon 8 Gen 2), SDM450 ndi SDM632, Rockchips RK3128 TV bokosi, RV1126 Vision, RK3588, RK3568, RK3566, RK3588/K3328, RK3AM, RK642AM, RK654AM, RK68AM ndi RK69AM XNUMX XNUMX/ AMXNUMX/AMXNUMX).

Nthawi yomweyo, Latin American Free Software Foundation idapanga mtundu wa kernel 6.3 yaulere kwathunthu - Linux-libre 6.3-gnu, yochotsedwa pazinthu za firmware ndi madalaivala okhala ndi zida zopanda ufulu kapena magawo a code, kukula kwake malire ndi wopanga. Potulutsidwa 6.3, ma blobs adatsukidwa m'madalaivala atsopano a ath12k, aw88395 ndi peb2466, komanso mafayilo atsopano amtundu wa zida za qcom kutengera kamangidwe ka AArch64. Ma code oyeretsera ma blob osinthidwa m'madalaivala ndi ma subsystems amdgpu, xhci-rcar, qcom-q6v5-pas, sp8870, av7110, komanso madalaivala a makhadi a DVB okhala ndi ma decoding komanso mafayilo a BPF opangidwa kale. Kuyeretsa kwa madalaivala a mga, r128, tm6000, cpia2 ndi r8188eu kwayimitsidwa kuyambira pomwe adachotsedwa mu kernel. Kuyeretsa bwino kwa i915 driver blob.

Source: opennet.ru

Kuwonjezera ndemanga