Šta je novo u Linuxu 6.18-rc3: promjene kernela i kontekst

  • SMB Direct predvodi 6.18-rc3 s poboljšanjima robusnosti na klijentu i serveru.
  • XFS, io_uring, umrežavanje i DRM dobijaju praktične i dobro distribuirane ispravke.
  • Mapa verzija postavlja 6.17 kao stabilnu, a 6.12/6.6 kao ključne LTS verzije.

Linux 6.18-rc3

Treći kandidat za lansiranje za budućnost 6.18 stiže Bez pompe i sa tim mirnim pulsom koji kernel ekosistem toliko cijeni. Prema riječima samog Linusa Torvaldsa, brojke su umjerene i ciklus napreduje normalno; drugim riječima, Linux 6.18-rc3 polira, ispravlja i podešava bez revolucija, fokusirajući se na popravke raspoređene po cijelom stablu.

U svojoj kratkoj bilješci, Torvalds ističe da najveći dio ove serije čine SMB Direct ispravke, i na strani klijenta i na strani servera, s dobrim brojem zakrpa za fino podešavanje. Ostatak se distribuira kao i obično: otprilike polovina utiče na drajvere (također dodaje DeviceTree povezivanja) i Ostalo su razne ispravke: XFS, umrežavanje, io_uring, DRM, Rust Binder i kompanija. Ako vas zanimaju detalji, u nastavku slijedi kratki zapis s desetinama promjena koje pregledavamo po podsistemima.

Ključne nove funkcije u Linuxu 6.18-rc3

SMB Direct blok se ističe u ovom sedmičnom pregledu. I SMB klijent i server prilagođavaju kredite i redove čekanja kako bi spriječili regresije i nedostatak resursa. Nekoliko dijelova podsistema podiže ljestvicu osiguravajući da Strukture slanja/ispuštanja rezervišu dovoljno prostora i ta stanja prekida veze robusno bude sve niti na čekanju.

Pored toga, u XFS su ubačene ispravke kako bi se spriječile zauzete petlje u kolektoru segmenata, keširala otvorena područja u i_private, pooštrilo rukovanje zastarjelim opcijama montiranja i ispravite osjetljive dijelove provjere i blokiranja linkovaPromjene XFS-a u ovom rc3 fokusiraju se na stabilnost i jasnu dijagnostiku za naslijeđene parametre.

Druga polovina kolača je uobičajena mješavina drajvera i platformi: od DRM/AMD i DRM/Xe do Rockchipa, preko mlx5/mlx5e umrežavanja, Realtek i Micrel PHY-ova, UFS/Qualcomma, USB/xHCI DbC i još mnogo toga. To je "vodoinstalaterski" rc3, u kojem Vrijednost je u zbiru malih korekcija koji sprečavaju padove sistema, curenje memorije ili neusklađenosti u vremenu.

SMB i SMB Direct: fokus na robusnost

El kratki zapisnik jasno pokazuje trud koji SMB Direct ulaže. Među najrelevantnijim tačkama:

  • SMB klijent i server prilagođavaju prostor za radne zahtjeve, sprječavajući prelijevanja i osiguravajući da je odvodnja QP-a (ib_drain_qp) sigurna. Brojači se uvode i troše. Krediti za dostavu na kritičnim putevima.
  • Server pojednostavljuje upravljanje listom srodnih veza na putanjama slanja (flush/send_done) i omogućava da RDMA prekid veze probudi sve niti pri prvom pokušaju.
  • Tragovi u smb3_rw_credits su ojačani, uključenja su preuređena tako da su strukture dostupne u tačkama praćenja i Potpisani tipovi u TCP kreditnim strukturama su fiksni.

Sveukupno, promjene u SMB Directu imaju za cilj osigurati da RDMA prijenosi pod opterećenjem budu glatki, da se ponašaju predvidljivo i da obrađuju stanja grešaka bez ostavljanja ikakvih neizvjesnosti. Ova prilagođavanja, iako suptilna, napravite razliku u visokoperformansnim okruženjima.

Datotečni sistemi i skladištenje

Odjeljak datotečni sistemi i blokovi uključuje nekoliko značajnih dijelova:

  • XFS: izbjegavanje zauzetih petlji, keširanje zona, zabrana __GFP_NOFAIL u inicijalizaciji FS konteksta, poboljšanje poruka za zastarjele opcije i popraviti brave i sektorske brojače.
  • Btrfs: Ispravke u ref-verify (IS_ERR vs NULL), oslobođena djelimično inicijalizirana fs_info pri rušenjima i ispravka u slanju btrfs-a kako bi se izbjeglo dupliranje rmdir operacija sa extrefs-ovima.
  • EROFS: Pooštravanje rukovanja zlonamjerno kodiranim ekstenzijama kako bi se spriječile petlje i konsolidirati pretrage unatrag na oštećenim podstranicama.
  • Sloj blokova: Primjenjujte poravnanje LBA pri korištenju informacija o zaštiti (PI) kako biste održali integritet niskog nivoa.

Također postoje aktivnosti u scsi/ufs/phy (povezivanja za nove kompatibilne komponente), storvsc za preferiranje kanala s afinitetom prema CPU-u koji izdaje I/O, te podešavanja drajvera poput qla4xxx. To su dijelovi koji, zajedno, poboljšati stabilnost i performanse ulazno/izlaznih operacija u stvarnim slučajevima.

Mreže: mlx5/mlx5e, povezivanje, HSR i još mnogo toga

Na internetu je slika raznolika, s fokusom na vozače visoke performanse i malo putovane uglove:

  • mlx5/mlx5e: Maske registara PPHCR u PCAM-u, preskakanje upita ako uređaj ne podržava registar i ispravke RX-a prilikom generiranja skb-ova iz nelinearnih xdp_buff-ova i u naslijeđenim i u koračnim redovima čekanja. Također, Ispravke u IPsec-u na MPV uređajima i devcom vraća NULL u slučaju grešaka.
  • Povezivanje: Niz podređenih uređaja se ažurira u režimu emitovanja i ispravljaju se mogući gubici ili duplikati u peer obavještenjima.
  • HSR: Sprečava kreiranje uređaja sa podređenim uređajima iz drugih mreža, zatvarajući tako nekonzistentnu putanju konfiguracije.
  • Gro i gro_cells: hwtstamps se čiste na putanjama ponovne upotrebe skbs-a i neravnoteža brave je ispravljena u gro_cells_receive.
  • Ostalo: virtio-net poništava nekorištena heš polja; hibmcge odabire FIXED_PHY; dlink koristi dev_kfree_skb_any; stmmac/rk ispravlja funkciju odabira sata; enetc ispravlja zastoje MDIO zaključavanja i vrijednost TRUESIZE.

U cjelini, mrežni stek prima taj mali broj zakrpa koje sprječavaju iznenađenja pod opterećenjem i brinu se o detaljima u putevima podataka koji, ako dođu do kvara, pretvoriti u latenciju, gubitke ili blokove.

Grafika i ekran: DRM/AMD, DRM/Xe, Rockchip i QR Panic

DRM prostor se također mijenja, sa promjene u sigurnosti i stabilnosti:

  • DRM/AMD prikaz: Koristite GFP_NOWAIT u kontekstu prekida, povećajte maksimalni broj linkova i izbjegavajte NULL pristupe u link→enc; također, ispravka nultog pokazivača na određenim putanjama.
  • DRM/Xe: Sačuvajte VM zastavice prilikom ponovnog kreiranja i dijeljenja VM-ova za madvise i sakrijte madvise automatsko resetovanje iza VM_BIND zastavice, uklanjajući opasne ivice.
  • Rockchip: Ispravna SCLIN maska ​​za RK3228 u dw_hdmi.
  • drm/panika: nekoliko poboljšanja „panik moda“ sa logotipom i QR kodom: izbjegavanje preklapanja sa logotipom, osiguranje pozitivnih vertikalnih margina, sprječavanje dijeljenja nulom kada je širina ekrana manja od širine fonta i Ne prelazi preko stranica sa 24-bitnim pikselima.
  • Intel i915: Sprečeno curenje objekta panike prilikom alokacije njegove strukture.

Čak je i Panthor (GPU) prilagođen kako bi se spriječile panike kernela zbog djelomičnog odmapiranja VA regije, što je dosadna greška koja se manifestirala u scenarijima fragmentirane memorije. To su promjene koje, iako suptilne, spriječiti padove na stvarnim računarima.

Vezivno sredstvo za hrđu i klasično vezivo

Rust Binder nastavlja svoje sazrijevanje s nekoliko poboljšanja: upozorenje o napuštenim mapiranjima je uklonjeno, obavještenje freeze_notif_done se ponovo šalje u slučaju neočekivanih stanja, FreezeListener se ne može izbrisati ako postoje duplikati na čekanju, a obavještenja se prijavljuju samo kada je proces stvarno zamrznut. Paralelno s tim, klasični Binder uklanja provjeru "invalid inc weak" koja više ne doprinosi. Na strani alata, objtool prepoznaje dodatnu Rust funkciju kao 'noreturn' i ispravljeno je kratko upozorenje u Rust Binderu.

io_uring, sqpoll i zc rx

U io_uring postoji nekoliko hirurških izmjena: ispravljena je zloupotreba funkcije unlike() u io_waitid_prep(), prilagođena je anotacija __must_hold, ispravljeno je automatsko potvrđivanje bafera za višestruke naredbe uring_cmd i sqpoll CPU računovodstvo je ponovo procijenjeno ostavljajući getrusage() za drugi put i ažurirajući vrijeme inteligentnije. Također, dodan je unos u ODRŽAVAOCE za zcrx.

Arhitekture i ACPI: RISC-V, arm64 i x86

u arhitekture Oni su raznoliki i specifični:

  • RISC-V: pgprot_dmacoherent() je definiran za nekoherentne uređaje, detalji onemogućenih CPU-a nisu ispisani u DT-u, IPI IRQ-ovi su registrirani s jedinstvenim imenima, MAX_POSSIBLE_PHYSMEM_BITS je definiran za zsmalloc i Nepotrebni naslijeđeni makroi su uklonjeniTakođer su ispravljene neinicijalizirane upotrebe u hwprobe-u i kasno inicijalizirani ključ u vDSO-u.
  • arm64: U MTE-u, upozorenje se potiskuje ako je stranica već označena u copy_highpage().
  • x86: Prilagođena poruka RETBLEED za Intel, ispravljena provjera revizije Entrysign-a za Zen1/Naples i Mrtvi kod se čisti u ublažavanju.
  • ACPI/svojstva: Ispravljen redoslijed argumenata u acpi_node_get_property_reference() i uklonjena upozorenja kada je IOMMU_API onemogućen u RIMT-u.

Također ispravlja neobične dijelove poput pcibios_align_resource() u MIPS Malta za zaključavanje IO raspona i resursa tastature koji su sprječavali registraciju i8042. Ovo su male promjene koje izbjegavajte scenarije zastoja ili krhke inicijalizacije.

Drajveri i magistrale: SPI, serijski, hwmon, GPIO, PCI/ASPM i drugi

Ovaj RC donosi dobar gomila ispravki u drajverima:

  • SPI: Airoha-in bagoviti dirmap sada vraća grešku, dodaje podršku za dual/quad u exec_op, vraća se na ne-DMA način rada ako nešto krene po zlu i ispravlja višeravninske bljeskove po LUN-u; NXP FSPI resetuje takt kada je potrebno, i ograničava frekvenciju prema izvoru, pored dodavanja kašnjenja nakon zaključavanja DLL-a; Intel SPI dodaje podršku za gustine od 128M i nove platforme (Arrow Lake-H, Wildcat Lake).
  • Serijski i TTY: 8250_dw obrađuje greške pri resetovanju; 8250_mtk omogućava baud takt i prosljeđuje ga runtime PM-u; sc16is7xx briše nepotrebne omogućene baudove; sh-sci ispravlja prekoračenje FIFO-a.
  • PCI/ASPM: Na DeviceTree platformama, omogućeni su samo L0 i L1, što je konzervativna odluka kako bi se izbjegla nevalidirana stanja.
  • GPIO: ACPI ublažava ozbiljnost greške odbijanja; gpio-regmap dodaje parametar fixed_direction_output; IDIO-16 moduli definiraju
    maksimalan broj važećih adresa i adrese fiksne linije.
  • Hwmon i pmbus: Ispravljeni su problemi s curenjem referenci na podređene čvorove i ažurirani su koeficijenti modela Max/ISL, plus detalji o GPD drajveru ventilatora.

Paralelno s tim, DT kompatibilni moduli su dodani u SPI Cadence (ZynqMP/Versal-Net), Rockchip RK3506 i UFS QMP za Kaanapali, pored novih ID-ova opcija (Telit FN920C04 ECM, Quectel RG255C, UNISOC UIS7720). fino podešava podršku za novopridošli hardver.

Memorija, slab i mm/damon

Područje memorije također dobija pažnju: utrke sa obj_exts i NULL uslovi konfuzije su izbjegnuti u slab-u; mm/mremap ispravno uzima u obzir staro mapiranje nakon DONTUNMAP-a; THP sprečava konzumiranje poison-a prilikom dijeljenja ogromnih stranica; DAMON čisti ops_filter curenja i centralizuje logiku ciljanih kvotaU hugetlbfs-u, asercije zaključavanja se premještaju nakon ranih povrata u huge_pmd_unshare().

Sigurnost, praćenje i Kconfig

Mali, ali važni dijelovi:

  • lib/crypto: Poly1305 vraća zavisnosti pomoću !KMSAN, izbjegavajući konfliktne konfiguracije.
  • include/trace: Ispravljen je pomoćnik za brojanje podataka tokom neuspjelih pokretanja; dodane su SMB3 tačke praćenja za kredite za čitanje/pisanje.
  • Različiti Kconfig: Pomoć za CONFIG_XFS_RT je poboljšana, a testovi/statistike su uslovljeni DEBUG_FS. Ispravke zavisnosti u QCOMTEE-u i drugim platformama.

Ovo su diskretne promjene koje sprječavaju probleme tokom konfiguracije kernela i olakšavaju dijagnosticiranje kada nešto ne radi ispravno. Zbir ovih poboljšanja kvalitete života rezultira manjim gubitkom vremena.

Ovaj pregled verzije 6.18-rc3 jasno stavlja fokus na: robusnost, a ne na vatromet. Od SMB Direct bloka do XFS podešavanja, do mnoštva drajvera i ispravki u mreži, grafici i memoriji, sve ukazuje na pouzdaniji kernel. Dodato na mapu verzija (sa 6.17 kao najnovijim stabilnim izdanjem i 6.12/6.6 kao LTS verzijom reference), imamo koherentnu sliku trenutnog stanja: Stalna iteracija, dugoročna podrška tamo gdje je to važno i put migracije koji svaki tim može mirno isplanirati, znajući koje su grane sigurne, a koje su još uvijek u povojima.

Linux 6.18-rc2
Vezani članak:
Linux 6.18-rc2 stiže na veliki način s ključnim ispravkama za grafiku, Rust i AMD Zen