Čo je nové v Linuxe 6.18-rc3: zmeny jadra a kontextu

  • SMB Direct prináša vylepšenia robustnosti na strane klienta aj servera a prináša verziu 6.18-rc3.
  • XFS, io_uring, siete a DRM dostávajú praktické a dobre distribuované opravy.
  • Mapa verzií umiestňuje 6.17 ako stabilnú a 6.12/6.6 ako kľúčové LTS.

Linux 6.18-rc3

Tretí kandidát na štart pre budúcnosť 6.18 prichádza Bez fanfár a s pokojným pulzom, ktorý si ekosystém jadra tak cení. Podľa samotného Linusa Torvaldsa sú čísla mierne a cyklus prebieha normálne; inými slovami, Linux 6.18-rc3 vylepšuje, opravuje a ladí bez revolúcií, so zameraním na opravy rozmiestnené po celom strome.

Vo svojej krátkej poznámke Torvalds poukazuje na to, že najväčšiu časť tejto dávky tvoria opravy SMB Direct, a to na strane klienta aj servera, s niekoľkými dolaďovacími záplatami. Zvyšok sa distribuuje ako obvykle: približne polovica sa týka ovládačov (tiež pridáva väzby DeviceTree) a Zvyšok sú rôzne opravy: XFS, siete, io_uring, DRM, Rust Binder a spoločnosť. Ak vás zaujímajú podrobnosti, nižšie nájdete krátky záznam s desiatkami zmien, ktoré si prezeráme podľa jednotlivých subsystémov.

Kľúčové nové funkcie v Linuxe 6.18-rc3

V tomto týždennom rozbore vyniká blok SMB Direct. Klient aj server SMB upravujú kredity a fronty, aby predišli regresiám a nedostatku zdrojov. Niekoľko častí subsystému zvyšuje latku tým, že zabezpečuje, že Štruktúry send/flush rezervujú dostatok miesta a že stavy odpojenia robustne prebudia všetky čakajúce vlákna.

Okrem toho boli do XFS vložené opravy, ktoré zabraňujú zaneprázdneným slučkám v kolektore segmentov, ukladajú otvorené oblasti do vyrovnávacej pamäte v i_private, sprísňujú manipuláciu so zastaranými možnosťami pripojenia a oprava citlivých častí kontroly a blokovania odkazovZmeny XFS v tomto rc3 sa zameriavajú na stabilitu a jasnú diagnostiku starších parametrov.

Druhá polovica koláča je obvyklá zmes ovládačov a platforiem: od DRM/AMD a DRM/Xe až po Rockchip, cez siete mlx5/mlx5e, PHY od Realteku a Micrelu, UFS/Qualcomm, USB/xHCI DbC a mnoho ďalšieho. Je to „inštalatérsky“ rc3, v ktorom Hodnota je súčtom malých korekcií ktoré zabraňujú zlyhaniam, únikom pamäte alebo nezhodám načasovania.

Malé a stredné podniky (SMB) a SMB Direct: zameranie na robustnosť

El krátky záznam jasne ukazuje úsilie spoločnosti SMB Direct. Medzi najdôležitejšie body patria:

  • Klient a server SMB upravujú priestor pre pracovné požiadavky, čím zabraňujú pretečeniu a zabezpečujú bezpečné odvodnenie QP (ib_drain_qp). Zavádzajú sa a spotrebúvajú počítadlá. Kredity na prepravu na kritických cestách.
  • Server zjednodušuje správu zoznamu súrodencov na odosielacích cestách (flush/send_done) a spôsobuje, že odpojenie RDMA prebudí všetky vlákna na prvý pokus.
  • Stopy v smb3_rw_credits sú posilnené, zahrnutia sú preusporiadané tak, aby boli štruktúry dostupné v sledovacích bodoch a Podpísané typy v štruktúrach kreditov TCP sú opravené.

Celkovo sa zmeny SMB Direct zameriavajú na zabezpečenie plynulosti prenosov RDMA pod záťažou, predvídateľného správania a spracovania chybových stavov bez zanechania akýchkoľvek viazaných vlákien. Ide o úpravy, ktoré sú síce nenápadné, ale... urobte rozdiel vo vysokovýkonných prostrediach.

Súborové systémy a úložiská

Úsek súborové systémy a bloky obsahuje niekoľko významných kúskov:

  • XFS: vyhýbanie sa zaneprázdneným slučkám, ukladanie zón do vyrovnávacej pamäte, zákaz __GFP_NOFAIL pri inicializácii kontextu FS, vylepšenie správ pre zastarané možnosti a oprava zámkov a počítadiel sektorov.
  • Btrfs: Opravy v ref-verify (IS_ERR vs. NULL), uvoľnenie čiastočne inicializovanej fs_info pri pádoch a oprava v odosielaní btrfs, aby sa predišlo duplicitným operáciám rmdir s extrefs.
  • EROFS: Zlepšenie spracovania rozšírení so škodlivým kódom s cieľom zabrániť slučkám a konsolidovať spätné vyhľadávania na poškodených podstránkach.
  • Bloková vrstva: Vynútiť zarovnanie LBA pri použití ochranných informácií (PI) na zachovanie integrity na nízkej úrovni.

Taktiež prebieha aktivita v scsi/ufs/phy (viazania pre nové kompatibilné komponenty), storvsc pre uprednostňovanie kanálov s afinitou k CPU vydávajúcemu I/O a úpravy ovládačov ako qla4xxx. Sú to časti, ktoré spolu... posilniť stabilitu a výkon I/O v reálnych prípadoch.

Siete: mlx5/mlx5e, bonding, HSR a ďalšie

Na internete je obraz rôznorodý, so zameraním na vodičov vysoký výkon a málo precestované zákutia:

  • mlx5/mlx5e: Masky registrov PPHCR v PCAM, preskakovanie dotazov, ak zariadenie nepodporuje register, a opravy RX pri generovaní skb z nelineárnych xdp_buffov v legacy aj striding frontoch. Tiež, Opravy v IPsec na zariadeniach MPV a devcom vracia NULL pri chybách.
  • Spájanie: Podriadené pole sa aktualizuje v režime vysielania a opravujú sa prípadné straty alebo duplikáty v notifikáciách od ostatných uzlov.
  • HSR: Zabraňuje vytváraniu zariadení so slave zariadeniami z iných sietí, čím uzatvára nekonzistentnú konfiguračnú cestu.
  • Gro a gro_cells: hwtstamps sú vyčistené na cestách opätovného použitia skbs a nerovnováha zámku je opravená v gro_cells_receive.
  • Ostatné: virtio-net vynuluje nepoužívané hashovacie polia; hibmcge vyberá FIXED_PHY; dlink používa dev_kfree_skb_any; stmmac/rk opravuje funkciu výberu hodín; enetc opravuje zablokovania MDIO a hodnotu TRUESIZE.

Celkovo sieťový zásobník dostáva tú dávku záplat, ktoré zabraňujú prekvapeniam pri zaťažení a starajú sa o detaily v dátových cestách, ktoré v prípade zlyhania... premietnuť do latencie, strát alebo blokov.

Grafika a displej: DRM/AMD, DRM/Xe, Rockchip a QR Panic

Priestor DRM sa tiež mení, s zmeny v oblasti bezpečnosti a stability:

  • DRM/AMD displej: Použite GFP_NOWAIT v kontexte prerušenia, zvýšte maximálny počet odkazov a vyhnite sa prístupom NULL v link→enc; tiež, oprava nulového ukazovateľa na konkrétnych cestách.
  • DRM/Xe: Zachovať príznaky virtuálnych počítačov pri opätovnom vytváraní a rozdeľovaní virtuálnych počítačov pre madvise a skryť automatické obnovenie madvise za príznakom VM_BIND, čím sa odstránia nebezpečné hranice.
  • Rockchip: Správna maska ​​SCLIN pre RK3228 v dw_hdmi.
  • drm/panika: niekoľko vylepšení „panického režimu“ s logom a QR kódom: zabránenie prekrývania s logom, zabezpečenie kladných zvislých okrajov, zabránenie delenia nulou, keď je šírka obrazovky menšia ako šírka písma a neprekrývať stránky s 24-bitovými pixelmi.
  • Intel i915: Zabránenie úniku paniky pri alokácii štruktúry objektu.

Dokonca aj Panthor (GPU) bol upravený tak, aby sa zabránilo panike jadra z čiastočného odmapovania oblasti virtuálneho zariadenia, čo bola nepríjemná chyba, ktorá sa prejavovala v scenároch fragmentovanej pamäte. Ide o zmeny, ktoré sú síce nenápadné, ale... zabrániť pádom na skutočných počítačoch.

Spojivo na hrdzu a klasické spojivo

Rust Binder pokračuje vo svojom vývoji s niekoľkými vylepšeniami: bolo odstránené upozornenie na osirelé mapovania, upozornenie freeze_notif_done sa znova odosiela v prípade neočakávaných stavov, FreezeListener sa nevymaže, ak existujú čakajúce duplikáty, a upozornenia sa hlásia iba vtedy, keď je proces skutočne zmrazený. Súbežne klasický Binder odstraňuje kontrolu „invalid inc weak“, ktorá už neprispieva. Na strane nástrojovej reťaze, objtool rozpoznáva ďalšiu funkciu Rust ako „noreturn“ a výstrižné varovanie v Rust Binder je vyčistené.

io_uring, sqpoll a zc rx

V io_uring je niekoľko chirurgických úprav: opravené je zneužívanie unlike() v io_waitid_prep(), upravená je anotácia __must_hold, opravené je automatické potvrdzovanie vyrovnávacích pamätí pre viacnásobné príkazy uring_cmd a Účtovanie CPU v sqpoll je prehodnotené ponechanie funkcie getrusage() na inokedy a inteligentnejšia aktualizácia času. Taktiež bol pridaný záznam v sekcii MAINTAINERS pre zcrx.

Architektúry a ACPI: RISC-V, arm64 a x86

L architektúry Sú rozmanité a špecifické:

  • RISC-V: pgprot_dmacoherent() je definovaná pre nekoherentné zariadenia, podrobnosti o vypnutých CPU sa nevypisujú v DT, IPI IRQ sú registrované s jedinečnými názvami, MAX_POSSIBLE_PHYSMEM_BITS je definovaná pre zsmalloc a Nepotrebné staršie makrá sú odstránenéTaktiež opravené neinicializované použitia v hwprobe a oneskorene inicializovaný kľúč vo vDSO.
  • arm64: V MTE sa varovanie potlačí, ak stránka už bola označená v copy_highpage().
  • x86: Úprava správy RETBLEED pre Intel, oprava kontroly revízie Entrysign pre Zen1/Naples a Mŕtvy kód je vyčistený v rámci zmierňujúcich opatrení.
  • ACPI/vlastnosti: Opravené poradie argumentov v acpi_node_get_property_reference() a odstránené upozornenia, keď je IOMMU_API v RIMT zakázané.

Taktiež opravuje zvláštne detaily, ako napríklad pcibios_align_resource() v MIPS Malta na uzamknutie rozsahov I/O a prostriedky klávesnice, ktoré bránili registrácii i8042. Ide o malé zmeny, ktoré vyhnite sa scenárom zablokovania alebo krehkým inicializáciám.

Ovládače a zbernice: SPI, sériové, hwmon, GPIO, PCI/ASPM a ďalšie

Tento RC prináša dobrý kopa opráv v ovládačoch:

  • SPI: Chybná mapa dirmap v Airoha teraz vracia zlyhanie, pridáva podporu pre duálne/štvornásobné operácie v exec_op, prepína sa do režimu bez DMA, ak sa niečo pokazí, a opravuje viacúrovňové záblesky pre každú LUN; NXP FSPI resetuje hodiny, keď je to potrebné, a obmedzuje frekvenciu podľa zdroja, okrem pridania oneskorenia po uzamknutí DLL; Intel SPI pridáva podporu pre hustoty 128M a nové platformy (Arrow Lake-H, Wildcat Lake).
  • Sériové porty a TTY: 8250_dw spracováva chyby pri resete; 8250_mtk povoľuje prenosové hodiny a odovzdáva ich runtime PM; sc16is7xx vymaže nepotrebné povolené prenosové rýchlosti; sh-sci opravuje pretečenie FIFO.
  • PCI/ASPM: Na platformách DeviceTree sú povolené iba L0 a L1, čo je konzervatívne rozhodnutie, aby sa predišlo neovereným stavom.
  • GPIO: ACPI zmierňuje závažnosť chyby odskoku; gpio-regmap pridáva parameter fixed_direction_output; moduly IDIO-16 definujú
    maximálny počet platných adries a adresy pevných liniek.
  • Hwmon a pmbus: Opravené úniky referencií do podradených uzlov a aktualizované koeficienty modelu Max/ISL, plus podrobnosti o ovládači ventilátora GPD.

Súbežne boli do SPI Cadence (ZynqMP/Versal-Net), Rockchip RK3506 a UFS QMP pre Kaanapali pridané moduly kompatibilné s DT, ako aj nové ID volieb (Telit FN920C04 ECM, Quectel RG255C, UNISOC UIS7720). dolaďuje podporu pre novo prichádzajúci hardvér.

Pamäť, slab a mm/damon

Oblasť pamäte je tiež opatrná: v slab sa zabráni pretekom s obj_exts a podmienkam zámeny NULL; mm/mremap správne zohľadňuje staré mapovanie po DONTUNMAP; THP zabraňuje spotrebe poison pri rozdelení veľkých stránok; DAMON čistí úniky ops_filter a centralizuje logiku cieľových kvótV hugetlbfs sa asercie zámkov presúvajú po skorých návratoch v huge_pmd_unshare().

Bezpečnosť, sledovanie a Kconfig

Malé, ale dôležité kúsky:

  • lib/crypto: Poly1305 obnovuje závislosti pomocou !KMSAN, čím sa vyhýba konfliktným konfiguráciám.
  • include/trace: Opravený pomocník s počítaním počas prevádzky pri neúspešných spusteniach; pridané sledovacie body SMB3 pre kredity na čítanie/zápis.
  • Rôzne Kconfig: Vylepšená je pomoc s CONFIG_XFS_RT a testy/štatistiky sú podmienené na DEBUG_FS. Opravy závislostí v QCOMTEE a iných platformách.

Ide o diskrétne zmeny, ktoré predchádzajú problémom počas konfigurácie jadra a uľahčujú diagnostiku, keď sa niečo nespúšťa správne. Súhrn týchto vylepšení kvality života výsledkom je menej strateného času.

Táto recenzia verzie 6.18-rc3 jasne ukazuje, čo je dôležité: robustnosť pred ohňostrojom. Od bloku SMB Direct cez vylepšenia XFS až po nespočetné množstvo ovládačov a opráv v sieti, grafike a pamäti, všetko poukazuje na spoľahlivejšie jadro. Pridaním mapy verzií (s verziou 6.17 ako najnovšou stabilnou verziou a 6.12/6.6 ako LTS verziou referencie) máme ucelený obraz aktuálneho stavu: Neustála iterácia, dlhodobá podpora tam, kde je to dôležité a migračnú cestu, ktorú si každý tím môže pokojne naplánovať s vedomím, ktoré vetvy sú bezpečné a ktoré sú ešte len v plienkach.

Linux 6.18-rc2
Súvisiaci článok:
Linux 6.18-rc2 prichádza vo veľkom štýle s kľúčovými opravami grafiky, Rustu a AMD Zen