Linux kernel release 5.19

Nei twa moannen fan ûntwikkeling presintearre Linus Torvalds de frijlitting fan 'e Linux kernel 5.19. Under de meast opfallende feroarings: stipe foar de LoongArch-prosessor-arsjitektuer, yntegraasje fan "BIG TCP" patches, on-demand-modus yn fscache, koadeferwidering om it a.out-formaat te stypjen, de mooglikheid om ZSTD te brûken foar firmware-kompresje, in ynterface foar beheare ûnthâld eviction út brûkersromte, it fergrutsjen fan de betrouberens en prestaasjes fan de pseudo-willekeurige nûmer generator, stipe foar Intel IFS (In-Field Scan), AMD SEV-SNP (Secure Nested Paging), Intel TDX (Trusted Domain Extensions) en ARM SME (Scalable Matrix Extension) tafoegings.

Yn 'e oankundiging sei Linus dat wierskynlik de folgjende kernel-release nûmer 6.0 sil wurde, om't de 5.x-tûke genôch releases hat sammele om it earste nûmer yn it ferzjenûmer te feroarjen. De nûmeringsferoaring wurdt útfierd om estetyske redenen en is in formele stap dy't ûngemak ferminderet troch it sammeljen fan in grut oantal problemen yn 'e searje.

Linus neamde ek dat hy in Apple-laptop basearre op ARM64-arsjitektuer (Apple Silicon) brûkte mei in Linux-omjouwing basearre op de Asahi Linux-distribúsje om de release te meitsjen. It is net Linus syn primêre wurkstasjon, mar hy brûkte it platfoarm om te testen syn geskiktheid foar kernel wurk en om te soargjen dat hy koe produsearje kernel releases wylst reizgje mei in lichtgewicht laptop by de hân. Earder, in protte jierren lyn, hie Linus ûnderfining mei it brûken fan Apple-apparatuer foar ûntwikkeling - hy brûkte ienris in PC basearre op de ppc970 CPU en in Macbook Air-laptop.

De nije ferzje befettet 16401 fixes fan 2190 ûntwikkelders (yn 'e foarige release wiene d'r 16206 fixes fan 2127 ûntwikkelders), de patchgrutte is 90 MB (de wizigingen beynfloede 13847 bestannen, 1149456 rigels koade waarden tafoege, 349177 waarden wiske). Ungefear 39% fan alle wizigingen yntrodusearre yn 5.19 binne relatearre oan apparaatbestjoerders, sawat 21% fan feroaringen binne relatearre oan it bywurkjen fan koade spesifyk foar hardware-arsjitektuer, 11% binne relatearre oan de netwurkstapel, 4% binne relatearre oan triemsystemen, en 3% binne relatearre oan ynterne kernel-subsystemen.

Wichtichste ynnovaasjes yn kernel 5.19:

  • Skiif subsysteem, I / O en triem systemen
    • It EROFS (Enhanced Read-Only File System) bestânsysteem, bedoeld foar gebrûk op allinich-lês-partysjes, is omboud om it fscache-subsysteem te brûken, dat gegevenscaching leveret. De feroaring signifikant ferbettere de prestaasjes fan systemen wêryn in grut oantal konteners wurde lansearre út in EROFS-basearre ôfbylding.
    • In on-demand lêsmodus is tafoege oan it fscache-subsysteem, dat wurdt brûkt om EROFS te optimalisearjen. De nije modus lit jo it lêzen fan caching organisearje fan FS-ôfbyldings yn it lokale systeem. Yn tsjinstelling ta de yn earste ynstânsje beskikbere modus fan wurking, dy't rjochte is op caching yn it lokale bestânsysteem fan gegevens oerbrocht fia netwurkbestânsystemen, delegearret de "on-demand" modus de funksjes fan it opheljen fan gegevens en it skriuwen nei it cache nei in aparte eftergrûnproses rint yn brûkersromte.
    • XFS biedt de mooglikheid om miljarden útwreide attributen op te slaan yn in i-node. It maksimum oantal omfangen foar ien triem is ferhege fan 4 miljard nei 247. In modus is ymplementearre foar it atomysk bywurkjen fan ferskate útwreide triemattributen tagelyk.
    • It Btrfs-bestânsysteem hat wurk mei slûzen optimalisearre, wat in ferheging fan sawat 7% yn prestaasjes mooglik makke by it skriuwen direkt yn 'e no-modus. De prestaasjes fan operaasjes yn NOCOW-modus (sûnder kopiearje-op-skriuwen) wurdt ferhege mei sawat 3%. De lading op 'e side-cache by it útfieren fan it kommando "ferstjoere" is fermindere. De minimale grutte fan subsiden is fermindere fan 64K nei 4K (subsiden dy't lytser binne as kernelsiden kinne brûkt wurde). In oergong is makke fan it brûken fan in radixbeam nei it XArrays-algoritme.
    • In modus is tafoege oan de NFS-tsjinner om it behâld fan 'e beskoattelstân te wreidzjen ynsteld troch in kliïnt dy't ophâldt te reagearjen op oanfragen. Mei de nije modus kinne jo it wiskjen fan slot oant in dei útstelle, útsein as in oare klant in konkurrearjende slûs freget. Yn normale modus wurdt it blokkearjen wiske 90 sekonden nei't de kliïnt ophâldt te reagearjen.
    • It subsysteem foar folgjen fan eveneminten yn 'e fanotify FS ymplementearret de FAN_MARK_EVICTABLE-flagge, wêrmei jo pinning fan doel-i-knooppunten yn' e cache kinne útskeakelje, bygelyks om sub-tûken te negearjen sûnder har dielen yn 'e cache te pinjen.
    • De bestjoerder foar it FAT32-bestânsysteem hat stipe tafoege foar it krijen fan ynformaasje oer de tiid fan it oanmeitsjen fan bestân fia de statx-systeemoprop mei de ymplemintaasje fan in effisjinter en funksjonele ferzje fan stat (), dy't útwreide ynformaasje oer it bestân werombringt.
    • Wichtige optimisaasjes binne makke foar de exFAT-bestjoerder om simultane wiskjen fan in groep sektoaren mooglik te meitsjen as de 'dirsync'-modus aktyf is, ynstee fan opfolgjende sektor-by-sektor wiskje. Troch it ferminderjen fan it oantal blokoanfragen nei optimisaasje, ferhege de prestaasjes fan it meitsjen fan in grut oantal mappen op 'e SD-kaart mei mear as 73-85%, ôfhinklik fan de klustergrutte.
    • De kernel omfettet de earste korrektive fernijing foar de ntfs3-bestjoerder. Sûnt ntfs3 waard opnommen yn 'e 5.15 kernel lêste oktober, de bestjoerder is net bywurke en kommunikaasje mei de ûntwikkelders is ferlern gien, mar de ûntwikkelders hawwe no wer opnij publisearjen feroarings. De foarstelde patches eliminearre flaters dy't liede ta ûnthâld lekken en crashes, oplost problemen mei xfstests útfiering, skjinmakke net brûkte koade, en reparearre typfouten.
    • Foar OverlayFS is de mooglikheid om brûkers-ID's fan monteare triemsystemen yn kaart te bringen, dy't brûkt wurdt om de triemmen fan in spesifike brûker op in monteare bûtenlânske partysje te passen mei in oare brûker op it hjoeddeistige systeem.
  • Unthâld en systeem tsjinsten
    • Inisjele stipe tafoege foar de LoongArch-ynstruksjeset-arsjitektuer brûkt yn 'e Loongson 3 5000-processors, dy't de nije RISC ISA ymplementearret, fergelykber mei MIPS en RISC-V. De LoongArch-arsjitektuer is beskikber yn trije smaken: stripped-down 32-bit (LA32R), reguliere 32-bit (LA32S), en 64-bit (LA64).
    • Koade fuortsmiten om it útfierbere a.out-bestânformaat te stypjen, dat waard ôfret yn release 5.1. It a.out-formaat is al lang ôfkard op Linux-systemen, en generaasje fan a.out-bestannen wurdt net stipe troch moderne ark yn standert Linux-konfiguraasjes. De loader foar a.out-bestannen kin folslein yn brûkersromte ymplementearre wurde.
    • Stipe foar x86-spesifike bootopsjes is stopset: nosp, nosmap, nosmep, noexec en noclflush).
    • Stipe foar de ferâldere CPU h8300-arsjitektuer (Renesas H8 / 300), dy't lang sûnder stipe bleaun is, is staakt.
    • Utwreide mooglikheden yn ferbân mei it reagearjen op it opspoaren fan split slûzen ("split slûzen") dy't foarkomme as tagong ta unaligned gegevens yn it ûnthâld fanwege it feit dat by it útfieren fan in atomic ynstruksje, de gegevens krúst twa CPU cache rigels. Sokke blokkades liede ta in signifikante daling yn prestaasjes. As earder, standert, de kernel in warskôging soe jaan mei ynformaasje oer it proses dat it blokkearjen feroarsake, no sil it problematyske proses fierder fertrage wurde om de prestaasjes fan 'e rest fan it systeem te behâlden.
    • Stipe tafoege foar it IFS-meganisme (In-Field Scan) ymplementearre yn Intel-prosessoren, wêrtroch jo CPU-diagnostyske tests op leech nivo kinne útfiere dy't problemen kinne identifisearje dy't net wurde ûntdutsen troch standert ark basearre op flaterkorreksjekoades (ECC) of pariteitsbits . De útfierde tests binne yn 'e foarm fan ynlaadbere firmware, ûntworpen lykas mikrokoade-updates. Testresultaten binne beskikber fia sysfs.
    • De mooglikheid taheakke om in bootconfig-bestân yn 'e kernel yn te foegjen, wêrtroch, neist kommandorigelopsjes, de parameters fan' e kernel kinne bepale fia in ynstellingsbestân. Ynbêde wurdt útfierd mei de assemblage-opsje 'CONFIG_BOOT_CONFIG_EMBED_FILE="/PATH/TO/BOOTCONFIG/FILE"'. Earder waard bootconfig bepaald troch te heakjen oan it initrd-ôfbylding. Yntegraasje yn 'e kernel lit bootconfig brûkt wurde yn konfiguraasjes sûnder in initrd.
    • De mooglikheid om firmware te downloaden komprimearre mei it Zstandard-algoritme is ymplementearre. In set kontrôlebestannen /sys/class/firmware/* is tafoege oan sysfs, wêrtroch jo it laden fan firmware kinne begjinne fanút brûkersromte.
    • De io_uring asynchrone I/O-ynterface biedt in nije flagge, IORING_RECVSEND_POLL_FIRST, dy't, as ynsteld, earst in netwurkoperaasje stjoert om te ferwurkjen mei polling, wat boarnen besparje kin yn situaasjes wêr't it ferwurkjen fan de operaasje mei wat fertraging akseptabel is. io_uring hat ek stipe tafoege foar de socket()-systeemoprop, nije flaggen foarsteld om it behear fan triembeskriuwers te ferienfâldigjen, in "multi-shot" modus tafoege foar it akseptearjen fan ferskate ferbiningen tagelyk yn 'e akseptearje ()-oprop, en operaasjes tafoege foar it trochstjoeren fan NVMe kommando direkt nei it apparaat.
    • De Xtensa-arsjitektuer leveret stipe foar it KCSAN (Kernel Concurrency Sanitizer) debuggen-ark, ûntworpen om racebetingsten dynamysk te detektearjen binnen de kernel. Ek tafoege stipe foar sliepmodus en coprocessors.
    • Foar de m68k-arsjitektuer (Motorola 68000) is in firtuele masine (platfoarmsimulator) basearre op de Android Goldfish-emulator ymplementearre.
    • Foar de AArch64-arsjitektuer is stipe foar Armv9-A SME (Scalable Matrix Extension) útwreidings ymplementearre.
    • It eBPF-subsysteem lit typearre oanwizers opslaan yn kaartstruktueren, en foeget ek stipe ta foar dynamyske oanwizers.
    • In nij proaktyf ûnthâld weromwinning meganisme wurdt foarsteld dat stipet brûker-romte kontrôle mei help fan de memory.reclaim triem. It skriuwen fan in nûmer nei it oantsjutte bestân sil besykje it oerienkommende oantal bytes út 'e set dy't ferbûn is mei de cgroup te ferwiderjen.
    • Ferbettere krektens fan ûnthâldgebrûk by it komprimearjen fan gegevens yn 'e swap-partysje mei it zswap-meganisme.
    • Foar de RISC-V-arsjitektuer wurdt stipe foar it útfieren fan 32-bit útfierbere op 64-bit systemen levere, in modus wurdt tafoege om beheinende attributen te binen oan ûnthâldsiden (bygelyks om caching út te skeakeljen), en de funksje kexec_file_load() wurdt ymplementearre .
    • De ymplemintaasje fan stipe foar 32-bit Armv4T en Armv5 systemen is oanpast foar gebrûk yn universele multi-platfoarm kernel builds geskikt foar ferskate ARM systemen.
  • Virtualisaasje en feiligens
    • It EFI-subsysteem ymplementearret de mooglikheid om geheime ynformaasje fertroulik oer te bringen nei gastsystemen sûnder it te iepenbierjen oan it hostsysteem. De gegevens wurde levere fia de feiligens / coco map yn securityfs.
    • Lockdown-beskermingsmodus, dy't tagong fan root-brûkers ta de kernel beheint en UEFI Secure Boot bypasspaden blokkearret, hat in gat yn 'e gaten elimineare dy't it mooglik makke om beskerming te omgean troch it manipulearjen fan de kernel-debugger.
    • Ynbegrepen binne patches dy't rjochte binne op it ferbetterjen fan de betrouberens en prestaasjes fan 'e pseudo-willekeurige nûmergenerator.
    • By it bouwen mei Clang 15 wurdt stipe foar it meganisme foar randomisearjen fan kernelstruktueren ymplementearre.
    • It Landlock-meganisme, wêrtroch jo de ynteraksje fan in groep prosessen mei de eksterne omjouwing kinne beheine, biedt stipe foar regels dy't jo de útfiering fan operaasjes foar werneaming fan bestân kinne kontrolearje.
    • It subsysteem IMA (Integrity Measurement Architecture), ûntworpen om de yntegriteit fan bestjoeringssysteemkomponinten te ferifiearjen mei digitale hantekeningen en hashes, is oerskeakele op it brûken fan de fs-verity-module foar bestânferifikaasje.
    • De logika fan aksjes by it útskeakeljen fan net-befoarrjochte tagong ta it eBPF-subsysteem is feroare - earder wiene alle kommando's ferbûn mei de bpf()-systeemoprop útskeakele, en fanôf ferzje 5.19 is tagong ta kommando's dy't net liede ta it oanmeitsjen fan objekten oerbleaun. . Dit gedrach fereasket in befoarrjochte proses om in BPF-programma te laden, mar dan kinne net-befoarrjochte prosessen ynteraksje mei it programma.
    • Stipe tafoege foar de AMD SEV-SNP (Secure Nested Paging) tafoeging, dy't feilich wurk leveret mei tabellen mei nestede ûnthâldpagina's en beskermet tsjin "undeSErVed" en "SEVerity" oanfallen op AMD EPYC-processors, wêrtroch't de AMD SEV (Secure Encrypted Virtualization) kin omgean. ) beskerming meganisme.
    • Stipe tafoege foar it meganisme fan Intel TDX (Trusted Domain Extensions), wêrtroch jo besykjen fan tredden kinne blokkearje om tagong te krijen ta it fersifere ûnthâld fan firtuele masines.
    • De virtio-blk-bestjoerder, brûkt om blokapparaten te emulearjen, hat stipe tafoege foar I / O mei help fan polling, dy't, neffens tests, de latency hat fermindere mei sawat 10%.
  • Netwurk subsysteem
    • It pakket befettet in searje BIG TCP-patches wêrmei jo de maksimale pakketgrutte fan in TCP-pakket kinne ferheegje nei 4GB om de wurking fan hege snelheid ynterne datacenternetwurken te optimalisearjen. In ferlykbere ferheging fan pakketgrutte mei in 16-bit koptekstfjildgrutte wurdt berikt troch de ymplemintaasje fan "jumbo" pakketten, wêrfan de grutte yn 'e IP-koptekst is ynsteld op 0, en de werklike grutte wurdt oerbrocht yn in aparte 32-bit fjild yn in aparte taheakke koptekst. Yn prestaasjestesten, it ynstellen fan de pakketgrutte op 185 KB ferhege trochslach mei 50% en fermindere de latency fan gegevensferfier signifikant.
    • It wurk gie troch oan it yntegrearjen fan ark yn 'e netwurkstapel om de redenen te folgjen foar it fallen fan pakketten (redenkoades). De redenskoade wurdt ferstjoerd as it ûnthâld ferbûn mei it pakket wurdt befrijd en makket it mooglik foar situaasjes lykas pakket wegerje fanwege koptekstflaters, rp_filter spoofing-deteksje, ûnjildige kontrôlesum, sûnder ûnthâld, IPSec XFRM-regels aktivearre, ûnjildich folchoardernûmer TCP, ensfh.
    • Stipe tafoege foar it weromfallen fan MPTCP (MultiPath TCP) ferbiningen om reguliere TCP te brûken, yn situaasjes dêr't bepaalde MPTCP-funksjes net brûkt wurde kinne. MPTCP is in útwreiding fan it TCP-protokol foar it organisearjen fan de wurking fan in TCP-ferbining mei de levering fan pakketten tagelyk lâns ferskate rûtes fia ferskate netwurkynterfaces ferbûn mei ferskate IP-adressen. API tafoege om MPTCP-streamen te kontrolearjen fan brûkersromte.
  • Wetter - Agrarwetter
    • Tafoege oer 420k rigels fan koade yn ferbân mei de amdgpu-bestjoerder, wêrfan sawat 400k-rigels auto-generearre koptekstbestannen binne foar ASIC-registergegevens yn 'e AMD GPU-bestjoerder, en in oare 22.5k-rigels jouwe inisjele ymplemintaasje fan stipe foar de AMD SoC21. De totale sjauffeurgrutte foar AMD GPU's is mear as 4 miljoen rigels fan koade. Neist SoC21 omfettet de AMD-bestjoerder stipe foar SMU 13.x (System Management Unit), bywurke stipe foar USB-C en GPUVM, en is ree om de folgjende generaasjes RDNA3 (RX 7000) en CDNA (AMD Instinct) te stypjen. platfoarms.
    • De i915-bestjoerder (Intel) hat mooglikheden útwreide yn ferbân mei machtbehear. Identifiearders tafoege foar Intel DG2 (Arc Alchemist) GPU's brûkt op laptops, levere inisjele stipe foar it Intel Raptor Lake-P (RPL-P) platfoarm, tafoege ynformaasje oer Arctic Sound-M grafyske kaarten), ymplementearre ABI foar komputermotoren, tafoege foar DG2-kaartstipe foar it Tile4-formaat; foar systemen basearre op 'e Haswell-mikroarsjitektuer, wurdt DisplayPort HDR-stipe ymplementearre.
    • De Nouveau-bestjoerder is oerstapt nei it brûken fan de drm_gem_plane_helper_prepare_fb-hanterer; statyske ûnthâldtawizing is tapast op guon struktueren en fariabelen. Wat it gebrûk fan kernelmodules iepen boarne troch NVIDIA yn Nouveau oanbelanget, komt it wurk oant no ta del op it identifisearjen en eliminearjen fan flaters. Yn 'e takomst is it plan om de publisearre firmware te brûken om bestjoerderprestaasjes te ferbetterjen.
    • In stjoerprogramma tafoege foar de NVMe-controller brûkt yn Apple-kompjûters basearre op de M1-chip.

Tagelyk foarme de Latynsk-Amerikaanske Free Software Foundation in ferzje fan 'e folslein fergese kernel 5.19 - Linux-libre 5.19-gnu, wiske fan eleminten fan firmware en stjoerprogramma's dy't net-frije komponinten as seksjes fan koade befetsje, wêrfan de omfang is beheind troch de fabrikant. De nije release skjinmakket de bestjoerders foar pureLiFi X/XL/XC en TI AMx3 Wkup-M3 IPC op. Bywurke blob skjinmeitsjen koade yn Silicon Labs WFX, AMD amdgpu, Qualcomm WCNSS Peripheral Image Loader, Realtek Bluetooth, Mellanox Spectrum, Marvell WiFi-Ex, Intel AVS, IFS, pu3-imgu-bestjoerders en subsystemen. Ferwurking fan Qualcomm AArch64 devicetree-bestannen is ymplementearre. Stipe tafoege foar it nije nammeskema foar Sound Open Firmware-komponinten. Stopte mei skjinmeitsjen fan de ATM Ambassador-bestjoerder, dy't út 'e kearn fuorthelle waard. Behear fan blobreiniging yn HDCP en Mellanox Core is ferpleatst nei aparte kconfig-tags.

Boarne: opennet.ru

Add a comment