Linux 6.3 kjarnaútgáfa

Eftir tveggja mánaða þróun kynnti Linus Torvalds útgáfu Linux kjarna 6.3. Nokkrar af athyglisverðustu breytingunum eru: hreinsun á eldri ARM kerfum og grafískum reklum, áframhaldandi samþætting Rust tungumálastuðnings, hwnoise gagnsemi, stuðningur við rauðsvört trjámannvirki í BPF, BIG TCP ham fyrir IPv4, innbyggt Dhrystone viðmið, getu. til að slökkva á keyrslu í memfd, styðja við að búa til HID rekla með BPF, hafa verið gerðar breytingar á Btrfs til að draga úr sundrun blokkarhópa.

Nýja útgáfan inniheldur 15637 lagfæringar frá 2055 forriturum; plástrastærð - 76 MB (breytingar höfðu áhrif á 14296 skrár, 1023183 línum af kóða var bætt við, 883103 línum var eytt). Til samanburðar bauð fyrri útgáfan upp á 16843 lagfæringar frá 2178 forriturum; plásturstærð er 62 MB. Um 39% allra breytinga sem kynntar eru á 6.3 kjarnanum tengjast tækjastýrðum, um það bil 15% breytinga tengjast uppfærslukóða sem er sértækur fyrir vélbúnaðararkitektúr, 10% tengjast netstaflanum, 5% tengjast skráarkerfum og 3% tengjast innri kjarna undirkerfum.

Helstu nýjungar í kjarna 6.3:

  • Minni og kerfisþjónusta
    • Framkvæmt var umtalsverð hreinsun á kóða sem tengist gömlum og ónotuðum ARM töflum sem gerði það mögulegt að minnka stærð frumkóðans kjarna um 150 þúsund línur. Meira en 40 gamlir ARM pallar hafa verið fjarlægðir.
    • Möguleikinn á að búa til rekla fyrir inntakstæki með HID (Human Interface Device) viðmóti, útfærð í formi BPF forrita, hefur verið innleidd.
    • Flutningur frá Rust-for-Linux greininni á viðbótarvirkni sem tengist notkun Rust tungumálsins sem annað tungumál til að þróa rekla og kjarnaeiningar hefur haldið áfram. Ryðstuðningur er ekki virkur sjálfgefið og leiðir ekki til þess að Ryð sé innifalið sem nauðsynleg kjarnabygging. Virknin sem boðið er upp á í fyrri útgáfum hefur verið stækkuð til að styðja við gerðirnar Arc (útfærsla ábendinga með viðmiðunartölu), ScopeGuard (hreinsun þegar farið er út fyrir svið) og ForeignOwnable (veitir flutning ábendinga á milli C og Rust kóða). 'Lána' einingin (tegund 'Kýr' og eiginleiki 'ToOwned') hefur verið fjarlægð úr 'alloc' pakkanum. Það er tekið fram að ástand Rust stuðnings í kjarnanum er nú þegar nálægt því að byrja að samþykkja fyrstu einingar sem skrifaðar eru í Rust inn í kjarnann.
    • Notendahamur Linux (keyrandi kjarnann sem notendaferli) á x86-64 kerfum útfærir stuðning fyrir kóða skrifaðan á Rust tungumálinu. Bætti við stuðningi við að byggja upp Linux notendaham með því að nota clang með tenglatíma fínstillingu (LTO) virkt.
    • Bætt við hwnoise tóli til að fylgjast með töfum af völdum vélbúnaðar. Frávik í framkvæmdartíma aðgerða (jitter) eru ákvörðuð þegar truflunarvinnsla er óvirk og fara yfir eina míkrósekúndu á hverja 10 mínútna útreikninga.
    • Bætti við kjarnaeiningu sem útfærir Dhrystone viðmiðið, sem hægt er að nota til að meta frammistöðu örgjörva í stillingum án notendarýmishluta (til dæmis á flutningsstigi fyrir nýja SoCs sem aðeins útfæra kjarnahleðslu).
    • Bætt við kjarna skipanalínubreytu „cgroup.memory=nobpf“ sem gerir minnisnotkun óvirka fyrir BPF forrit, sem getur verið gagnlegt fyrir kerfi með einangruð ílát.
    • Fyrir BPF forrit er lögð til útfærsla á rauð-svörtu trégagnaskipulaginu, sem notar kfunc + kptr (bpf_rbtree_add, bpf_rbtree_remove, bpf_rbtree_first) í stað þess að bæta við nýrri kortlagningargerð.
    • Vélbúnaður endurræsanlegra raða (rseq, endurræsanlegrar raðir) hefur bætt við möguleikanum á að flytja samhliða framkvæmdaauðkenni (samhliða auðkenni minniskorts) í ferla, auðkennd með CPU númerinu. Rseq veitir leið til að framkvæma fljótt aðgerðir í frumeindakerfi, sem, ef truflað er af öðrum þræði, er hreinsað upp og reynt aftur.
    • ARM örgjörvar styðja SME 2 (Scalable Matrix Extension) leiðbeiningar.
    • Fyrir s390x og RISC-V RV64 arkitektúra hefur stuðningur við „BPF trampólín“ vélbúnaðinn verið innleiddur, sem gerir kleift að lágmarka kostnað þegar símtöl eru flutt á milli kjarna og BPF forrita.
    • Í kerfum með örgjörva sem byggja á RISC-V arkitektúr er notkun „ZBB“ leiðbeininga útfærð til að flýta fyrir strengjaaðgerðum.
    • Fyrir kerfi sem byggjast á LoongArch leiðbeiningasetti arkitektúr (notað í Loongson 3 5000 örgjörvunum og innleiða nýja RISC ISA, svipað og MIPS og RISC-V), stuðningur við slembivalssvæði kjarna (KASLR), breytingar á staðsetningu kjarnaminni (flutningur). ), vélbúnaðarpunktar eru innleiddir stöðva og kprobe vélbúnaður.
    • DAMOS (Data Access Monitoring-based Operation Schemes) vélbúnaðurinn, sem gerir þér kleift að losa minni út frá tíðni minnisaðgangs, styður síur til að útiloka ákveðin minnissvæði frá vinnslu í DAMOS.
    • Nolibc lágmarks staðall C bókasafnið veitir stuðning fyrir s390 arkitektúrinn og Arm Thumb1 leiðbeiningasettið (auk stuðning fyrir ARM, AArch64, i386, x86_64, RISC-V og MIPS).
    • Objtool hefur verið fínstillt til að flýta fyrir kjarnasamsetningu og draga úr hámarks minnisnotkun við samsetningu (þegar kjarnann er byggður í „allyesconfig“ ham eru nú engin vandamál með þvingaða lokun á ferlum á kerfum með 32 GB af vinnsluminni).
    • Stuðningur við kjarnasamsetningu með Intel ICC þýðanda hefur verið hætt, sem hefur verið óvirkur í langan tíma og enginn hefur lýst yfir vilja til að laga það.
  • Diska undirkerfi, I/O og skráarkerfi
    • tmpfs útfærir stuðning við að kortleggja notendaauðkenni uppsettra skráakerfa, notað til að passa við skrár tiltekins notanda á uppsettri erlendri skipting við annan notanda á núverandi kerfi.
    • Í Btrfs, til að draga úr sundrungu blokkahópa, er umfangi skipt eftir stærð við úthlutun blokka, þ.e. hvaða hópur blokkir sem er er nú takmarkaður við lítil (allt að 128KB), meðalstór (allt að 8 MB) og stór. Raid56 útfærslan hefur verið endurskoðuð. Kóðinn til að athuga eftirlitstölur hefur verið endurunninn. Hagræðingar hafa verið gerðar til að flýta sendingaraðgerðinni um allt að 10 sinnum með því að vista tíma fyrir möppur í skyndiminni og framkvæma skipanir aðeins þegar nauðsyn krefur. Fiemap aðgerðir eru nú þrisvar sinnum hraðari með því að sleppa bakslagathugunum fyrir sameiginleg gögn (skyndimyndir). Aðgerðum með lýsigögnum hefur verið flýtt um 10% með því að hagræða leit að lyklum í b-tré mannvirkjum.
    • Frammistaða ext4 skráarkerfisins hefur verið bætt með því að leyfa mörgum ferlum að framkvæma samtímis beinar I/O aðgerðir á fyrirfram úthlutuðum blokkum með því að nota sameiginlega inode læsa í stað einkalása.
    • Í f2fs hefur verið unnið að því að bæta læsileika kóða. Leysti mikilvæg mál sem tengjast atómskrifum og nýju umfangs skyndiminni.
    • EROFS (Enhanced Read-Only File System) skráarkerfið, hannað til notkunar í skrifvarið skiptingum, útfærir getu til að binda afþjöppunaraðgerðir þjappaðs skráarefnis við CPU til að draga úr leynd þegar aðgangur er að gögnum.
    • BFQ I/O tímaáætlunarbúnaðurinn hefur bætt við stuðningi við háþróaða snúnings diskadrif, eins og þá sem nota mörg sérstýrð höfuðdrif (Multi Actuators).
    • Stuðningur við dulkóðun gagna með AES-SHA2 reikniritinu hefur verið bætt við NFS biðlara og netþjónaútfærslu.
    • Stuðningur fyrir stækkunarkerfi fyrirspurna hefur verið bætt við FUSE (Filesystems In User Space) undirkerfið, sem gerir kleift að setja viðbótarupplýsingar í fyrirspurnina. Byggt á þessum eiginleika er hægt að bæta hópauðkennum við FS beiðnina, sem eru nauðsynleg til að taka tillit til aðgangsréttinda þegar hlutir eru búnir til í FS (create, mkdir, symlink, mknod).
  • Sýndarvæðing og öryggi
    • KVM hypervisor fyrir x86 kerfi hefur bætt við stuðningi við Hyper-V lengri ofursímtöl og veitt framsendingu þeirra til stjórnanda sem keyrir í hýsilumhverfinu í notendarými. Breytingin gerði það að verkum að hægt var að innleiða stuðning við hreiðraða ræsingu Hyper-V hypervisor.
    • KVM gerir það auðveldara að takmarka aðgang gesta að PMU (Performance Monitor Unit) atburðum sem tengjast frammistöðumælingum.
    • Memfd vélbúnaðurinn, sem gerir þér kleift að bera kennsl á minnissvæði í gegnum skráarlýsingu sem flutt er á milli ferla, hefur bætt við möguleikanum á að búa til svæði þar sem keyrsla kóða er bönnuð (ekki keyranleg memfd) og það er ómögulegt að setja framkvæmdarréttindi í framtíðinni .
    • Ný prctl aðgerð PR_SET_MDWE hefur verið bætt við sem hindrar tilraunir til að virkja minni aðgangsréttindi sem samtímis leyfa ritun og framkvæmd.
    • Vörn gegn árásum í Specter-flokki hefur verið bætt við og virkjuð sjálfgefið, byggt á sjálfvirkri IBRS (Enhanced Indirect Branch Restricted Speculation) ham sem lagt er til í AMD Zen 4 örgjörvum, sem gerir kleift að aðlagast og slökkva á íhugandi framkvæmd leiðbeininga við truflanavinnslu, kerfissímtöl og samhengisrofa. Fyrirhuguð vernd hefur í för með sér lægri kostnað miðað við Retpoline vernd.
    • Lagað varnarleysi sem gerir kleift að komast framhjá vörn gegn Specter v2 árásum þegar notuð er samtímis fjölþráðatækni (SMT eða Hyper-Threading) og orsakast af því að slökkva á STIBP (Single Thread Indirect Branch Predictors) vélbúnaðinum þegar valið er IBRS verndarstillingu.
    • Fyrir kerfi sem byggjast á ARM64 arkitektúrnum hefur nýju samsetningarmarkmiði „virtconfig“ verið bætt við, þegar það er valið er aðeins lágmarkssett af kjarnahlutum sem þarf til að ræsa í sýndarvæðingarkerfum virkjað.
    • Fyrir m68k arkitektúrinn hefur verið bætt við stuðningi við að sía kerfissímtöl með seccomp vélbúnaðinum.
    • Bætti við stuðningi fyrir CRB TPM2 (Command Response Buffer) tæki sem eru innbyggð í AMD Ryzen örgjörva, byggt á Microsoft Pluton tækni.
  • Net undirkerfi
    • Netlink tengi hefur verið bætt við til að stilla PLCA (Physical Layer Collision Avoidance) undirlagið, skilgreint í IEEE 802.3cg-2019 forskriftinni og notað í 802.3cg (10Base-T1S) Ethernet netkerfum sem eru fínstillt til að tengja Internet of Things tæki og iðnaðarkerfi. Notkun PLCA bætir árangur í Ethernet netkerfum með sameiginlegum miðlum.
    • Stuðningur við „þráðlausu viðbætur“ API fyrir stjórnun WiFi 7 (802.11be) þráðlausra viðmóta hefur verið hætt þar sem þetta API nær ekki yfir allar nauðsynlegar stillingar. Þegar reynt er að nota „þráðlausa viðbætur“ API, sem heldur áfram að vera stutt sem líkt lag, mun nú birtast viðvörun fyrir flest núverandi tæki.
    • Ítarleg skjöl um netlink API hafa verið útbúin (fyrir kjarnahönnuði og forritara fyrir notendarými). Ynl-gen-c tólið hefur verið útfært til að búa til C kóða byggt á YAML forskriftum Netlink samskiptareglunnar.
    • Stuðningur fyrir IP_LOCAL_PORT_RANGE valmöguleikann hefur verið bætt við netinnstungur til að einfalda uppsetningu á útleiðandi tengingum í gegnum netfangaþýðendur án þess að nota SNAT. Þegar eitt IP-tala er notað á nokkrum hýslum, gerir IP_LOCAL_PORT_RANGE það mögulegt að nota mismunandi svið útgefinna netgátta á hverjum hýsil og áframsenda pakka byggða á gáttarnúmerum á gáttinni.
    • Fyrir MPTCP (MultiPath TCP) hefur hæfileikinn til að vinna úr blönduðum straumum með því að nota IPv4 og IPv6 samskiptareglur verið innleiddar. MPTCP er framlenging á TCP samskiptareglum til að skipuleggja rekstur TCP tengingar með afhendingu pakka samtímis eftir nokkrum leiðum í gegnum mismunandi netviðmót sem tengjast mismunandi IP tölum.
    • Fyrir IPv4 er hægt að nota BIG TCP viðbótina, sem gerir þér kleift að auka hámarks TCP pakkastærð í 4GB til að hámarka rekstur háhraða innri gagnavera netkerfa. Svipuð aukning á pakkastærð með 16 bita haussviðsstærð næst með því að útfæra „jumbo“ pakka, stærðin í IP hausnum er stillt á 0 og raunveruleg stærð er send í sérstakri 32 bita reit í sérstakri meðfylgjandi haus.
    • Nýrri sysctl breytu default_rps_mask hefur verið bætt við, þar sem þú getur stillt sjálfgefna RPS (Receive Packet Steering) stillingar, sem er ábyrg fyrir að dreifa vinnslu komandi umferðar yfir CPU kjarna á truflunarstjórnunarstigi.
    • Stuðningur við biðröðvinnslugreinar til að takmarka CBQ (class-based queuing), ATM (ATM sýndarrásir), dsmark (aðgreint þjónustumerki), tcindex (umferðarstýringarvísitölu) og RSVP (resource reservation protocol) umferð hefur verið hætt. Þessar greinar hafa verið yfirgefnar í langan tíma og það var enginn til í að halda áfram stuðningi þeirra.
  • Оборудование
    • Fjarlægði alla DRI1 grafíska rekla: i810 (eldri samþætt Intel 8xx skjákort), mga (Matrox GPU), r128 (ATI Rage 128 GPU, þar á meðal Rage Fury, XPERT 99 og XPERT 128 kort), savage (S3 Savage GPU), sis (Crusty SiS GPU), tdfx (3dfx Voodoo) og via (VIA IGP), sem voru úrelt árið 2016 og hafa ekki verið studd í Mesa síðan 2012.
    • Fjarlægðir eldri framebuffer rekla (fbdev) omap1, s3c2410, tmiofb og w100fb.
    • DRM rekla hefur verið bætt við fyrir VPU (Versatile Processing Unit) einingarnar sem eru samþættar í Intel Meteor Lake CPU (14. kynslóð), hannaður til að flýta fyrir aðgerðum sem tengjast tölvusjón og vélanámi. Ökumaðurinn er útfærður með því að nota „accel“ undirkerfið, sem miðar að því að veita stuðning fyrir tölvuhraða, sem hægt er að útvega annað hvort í formi einstakra ASICs eða sem IP blokkir inni í SoC og GPU.
    • i915 (Intel) bílstjórinn stækkar stuðning fyrir stakur Intel Arc (DG2/Alchemist) skjákort, veitir bráðabirgðastuðning fyrir Meteor Lake GPU og inniheldur stuðning fyrir Intel Xe HP 4tile GPU.
    • Amdgpu bílstjórinn bætir við stuðningi við AdaptiveSync tækni og getu til að nota Secure Display mode með mörgum skjám. Uppfærður stuðningur fyrir DCN 3.2 (Display Core Next), SR-IOV RAS, VCN RAS, SMU 13.x og DP 2.1.
    • Msm bílstjórinn (Qualcomm Adreno GPU) hefur bætt við stuðningi við SM8350, SM8450 SM8550, SDM845 og SC8280XP pallana.
    • Nouveau bílstjórinn styður ekki lengur gömul ioctl símtöl.
    • Tilraunastuðningur fyrir NPU VerSilicon (VeriSilicon Neural Network Processor) hefur verið bætt við etnaviv driverinn.
    • Pata_parport bílstjórinn hefur verið útfærður fyrir IDE drif sem eru tengdir um samhliða tengi. Bætti bílstjórinn gerði okkur kleift að fjarlægja gamla PARIDE rekilinn úr kjarnanum og nútímavæða ATA undirkerfið. Takmörkun á nýja ökumanninum er vanhæfni til að tengja samtímis prentara og disk um samhliða tengið.
    • Bætt við ath12k rekla fyrir þráðlaus kort á Qualcomm flögum sem styðja Wi-Fi 7. Bætt við stuðningi fyrir þráðlaus kort á RealTek RTL8188EU flögum.
    • Bætti við stuðningi fyrir 46 töflur með örgjörvum byggðum á ARM64 arkitektúr, þar á meðal 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 og einnig tæki byggð á SoC Qualcomm MSM8953 (Snapdragon 610), SM8550 (Snapdragon 8 Gen 2), SDM450 og SDM632, Rockchips RK3128 sjónvarpskassi, RV1126 Vision, RK3588, RK3568, RK3566, RK3588, RK3328, RK3, RK642, RK654, RK68, RK69, RKXNUMX, RKXNUMX, RKXNUMX, RKXNUMX, RKXNUMX, RKXNUMX, RKXNUMX, RKXNUMX, RKXNUMX, RKXNUMX, RKXNUMX, RKXNUMX, RKXNUMX, RKXNUMX, RKXNUMX KXNUMX sjónvarpsbox, Rockchips RKXNUMX sjónvarpsbox, Rockchips RKXNUMX sjónvarpsbox. XNUMX/AMXNUMX XNUMX/ AMXNUMX /AMXNUMX).

Á sama tíma myndaði Latin American Free Software Foundation útgáfu af algerlega ókeypis kjarna 6.3 - Linux-libre 6.3-gnu, hreinsaður af hlutum fastbúnaðar og rekla sem innihalda ófrjálsa íhluti eða hluta af kóða, umfang þeirra er takmarkað af framleiðanda. Í útgáfu 6.3 voru blobbar hreinsuð upp í nýju ath12k, aw88395 og peb2466 reklanum, sem og í nýju devicetree skránum fyrir qcom tæki byggð á AArch64 arkitektúrnum. Uppfærður blob-hreinsunarkóði í reklum og undirkerfum amdgpu, xhci-rcar, qcom-q6v5-pas, sp8870, av7110, sem og í rekla fyrir DVB kort með hugbúnaðarafkóðun og í forsamsettum BPF skrám. Hreinsun á mga, r128, tm6000, cpia2 og r8188eu rekla hefur verið stöðvuð þar sem þeir hafa verið fjarlægðir úr kjarnanum. Bætt i915 bílstjóri blob þrif.

Heimild: opennet.ru

Bæta við athugasemd