Objavljen Linux Kernel 6.18, ovo je ono što je novo
Linux kernel 6.18 donosi proširenu podršku za arhitekture, ažuriranja za BPF, nove značajke rukovanja datotekama u namespace-u i opsežno omogućavanje hardvera na CPU-ovima, GPU-ovima i senzorima.
Linus Torvalds je upravo objavio službeno izdanje novog Linux kernela 6.18.
„Moram priznati da bih bio sretniji da je bilo malo manje buke oko ispravljanja grešaka u ovom posljednjem tjednu izdavanja, ali iako ima nekoliko popravaka više nego što bih se nadao, nije bilo ništa što bi me natjeralo da pomislim da ovo treba više vremena da sazrije. Dakle, 6.18 je označen i objavljen.”
Ključne značajke u Linuxu 6.18
Na visokoj razini, Linux kernel 6.18 uvodi novu opciju enkripcije za TCP veze temeljenu na PSP-u, bržu alokaciju i zamjenu slabova, značajna poboljšanja prijema UDP paketa, uređaj-maper cilj s trajnim predmemoriranjem, imenske prostore koji se mogu upravljati putem datotečnih rukohvata, podršku za Točne ECN u TCP-u i potpisane BPF programe, uz mnoge manje promjene u jezgri i upravljačkim programima.
Jedna od glavnih promjena je uvođenje „snopova“ u SLUB alokator. Jednostavno rečeno, kernel sada održava predmemorije malih memorijskih objekata po CPU-u, tako da se većina dodjela i oslobađanja može obaviti lokalno bez sinkronizacije preko CPU-a. To smanjuje sukobe u često korištenim dijelovima i ubrzava i dodjelu i oslobađanje, poboljšavajući performanse za radne zadatke koji se u velikoj mjeri oslanjaju na RCU.
Izvedba zamjene memorije je još jedno područje koje se poboljšava. Linux 6.18 donosi prvu fazu rada na „tablici zamjene“, koja uvodi novu apstrakciju koja se koristi kao pozadina za predmemoriju zamjene. Cilj je učiniti pretraživanje i upravljanje zamjenom memorije učinkovitijim, posebno pod pritiskom memorije.
U svjetlu toga, benchmark testovi navedeni u bilješkama o spajanju pokazuju povećanje propusnosti i broja zahtjeva po sekundi za 5–20 % za reprezentativna opterećenja, uz bolje ponašanje pod stresom pri dodjeli velikih stranica.
S strane pohrane, novi target uređaja-mappera, dm-pcache, omogućuje korištenje trajne memorije — na primjer, uređaja temeljenih na CXL-u ili uređaja koji podržavaju DAX — kao brzu predmemoriju ispred sporijih blok uređaja. To daje dizajnerima sustava način na razini kernela da tretiraju trajnu memoriju kao sloj između DRAM-a i SSD-a ili diskova, bez potrebe za prilagođenim korisničkim kodom.
U isto vrijeme, NFS poslužitelj dobiva opciju potpuno onemogućiti vlastito I/O keširanje. To može zvučati kontraproduktivno, ali za velike, jako opterećene poslužitelje ili vrlo male oblačne instance, preskakanje keširanja na strani poslužitelja zapravo može poboljšati skalabilnost i izbjeći prenapregnutost lokalne memorije.
Upravljanje procesima i prostorima imena dobiva značajno poboljšanje upotrebljivosti. Jezgra podržava pidfd-ove, rukohvate za datotečne deskriptore prema procesima, još od Linuxa 5.1, i pokazali su se vrlo korisnima za robusno upravljanje procesima.
Linux kernel 6.18 proširuje istu ideju na imenske prostore: korisnički prostor sada može kodirati i dekodirati identifikatore imenskih prostora koristeći postojeće name_to_handle_at() i open_by_handle_at() API-je. To omogućuje dosljedno pozivanje imenskih prostora tijekom čitavog životnog vijeka sustava, njihovo pouzdano uspoređivanje te njihovo prenošenje bez dodjeljivanja dodatnih resursa.
Mrežna tehnologija doživljava nekoliko značajnih promjena, jer novo izdanje dodaje početnu podršku za Precizno Eksplcitno Obavještavanje o Zagušenju (Accurate Explicit Congestion Notification), što proširuje klasični ECN omogućujući detaljnije povratne informacije o tome koliko je oznaka zagušenja primijećeno po RTT-u.
Na UDP strani, put primanja je preradjen kako bi se smanjilo natjecanje i kako bi se koristilo NUMA-svjesno zaključavanje te bolje rasporede struktura podataka; testiranja navedena u zapisniku promjena izvještavaju o otprilike 50% bolje UDP RX performanse, s još većim dobicima u uvjetima sličnim napadima gdje mali broj soketa prima vrlo visoke stope paketa.
Osim toga, zadana veličina prijemnog buffera utičnice također je povećana na 4 MB, a raniji rad na izravnom internom dijeljenju buffera (dibs) je uključen, što dodatno poboljšava skalabilnost za mreže velikog opsega.
Sigurnost i enkripcija prijenosa su pojačani podrškom za PSP-enkriptirane TCP veze. PSP, protokol razvijen u Googleu, zauzima srednji položaj između IPseca i TLS-a: ima neke arhitektonske sličnosti s obojim, ali je dizajniran za snažno hardversko preuzimanje, uključujući načine tuneliranja, što ga čini atraktivnim za implementacije u podatkovnim centrima gdje su uobičajeni offload motori.
BPF podsustav dobiva mogućnost učitavanja kriptografski potpisanih BPF programa. Za sada je glavna promjena infrastruktura: kernel može provjeravati potpise programa dok se učitavaju. Osim toga, audicijski podsustav nastavlja se kretati prema robusnoj podršci za više LSM-ova kako Linux kernel 6.18 poboljšava rukovanje događajima kada je istovremeno omogućeno više Linux sigurnosnih modula.
Na području virtualizacije, ovo izdanje uvodi virtio SPI upravljački program koji omogućava hipervizorima da izravno izlažu SPI uređaje virtualnim strojevima putem standardnog virtio mehanizma. Na x86 hostovima postaje dostupna SEV-SNP zaštita šifriranog teksta, koja sprječava CPU-ove koji nemaju ovlaštenje za pristup privatnoj memoriji gosta da uopće vide šifrirani tekst u toj memoriji.
Na KVM strani, sada može pružiti shadow stackove i praćenje neizravnih grananja na Intel hardveru te shadow stackove na AMD-u, dajući gostima pristup modernim zaštitama toka kontrole.
Datotečni sustavi i sloj blokova vide kombinaciju rada na značajkama i čišćenje. Novi dm-pcache cilj također se uklapa ovdje, nudeći trajnu predmemoriju ispred blok uređaja. Ext4 nastavlja s modernizacijom, s proširenom podrškom za rezervirane ID-ove i novim ioctl sučeljem za dohvaćanje i izmjenu parametara superbloka, dok se posljednji ostaci odvojenih ext3 opcija konfiguracije uklanjaju.
OverlayFS dobiva podršku za ignoriranje veličine slova, a FUSE datotečni sustavi sada mogu izravno upravljati kopiranjem velikih raspona. Posebno, skupina zastarjelih XFS opcija po defaultu je onemogućena, zastarjele opcije montiranja su uklonjene, a online fsck je sada omogućen po defaultu i više se ne smatra eksperimentalnim. Linux kernel 6.18 također u potpunosti uklanja Bcachefs datotečni sustav, a neki datotečni sustavi usvajaju nove implementacije bitmapa bez zaključavanja kako bi smanjili natjecanje za zajedničke metapodatke.
Na kraju, što se tiče podrške za hardver, izdanje donosi nove ili poboljšane upravljačke programe za širok raspon GPU-ova (uključujući novije Mali varijante i dodatne grafičke blokove SoC-a), prikazne mostove i panele, ugrađene SoC-ove, mrežne kartice, kontrolere i regulatore napajanja, industrijske I/O senzore, kontrolere za pohranu, USB PHY-e i repetitore, audio uređaje, te kontrolere za unos i haptiku.
Za one koji žele sami sastaviti Linux kernel 6.18, on je sada dostupan za preuzimanje na kernel.org. Kao i obično, korisnici distribucija s kontinuiranim ažuriranjem bit će prvi koji će dobiti novi kernel, a očekuje se da će ažuriranje biti dostupno u njihovim repozitorijima tijekom sljedećih nekoliko tjedana.
