Linux Kernel 6.18 släppt, det här är vad som är nytt
Linux-kärnan 6.18 ger utökat stöd för arkitekturer, uppdateringar för BPF, nya funktioner för namespace-filhållare och omfattande hårdvarustöd för CPU:er, GPU:er och sensorer.
Linus Torvalds har precis meddelat den officiella releasen av den nya Linux-kärnan 6.18.
„Så jag måste erkänna att jag hade varit gladare med lite mindre buggfixningsbrus under den sista veckan av releasen, men även om det finns några fler fixar än jag hade hoppats på, var det ingenting som fick mig att känna att detta behöver mer tid på sig. Så 6.18 är taggat och utskickat.”
Nyckelfunktioner i Linux 6.18
På en övergripande nivå introducerar Linux-kärnan 6.18 ett nytt PSP-baserat krypteringsalternativ för TCP-anslutningar, snabbare slab-allokering och swapping, betydande förbättringar av UDP-mottagning, ett persistent-cache device-mapper-mål, namnrymder som kan hanteras via filhandtag, stöd för Accurate ECN i TCP, och signerade BPF-program, utöver många mindre ändringar i kärnan och drivrutiner.
En av huvudförändringarna är införandet av "sheaves" i SLUB-allokatorn. Enkelt uttryckt håller kärnan nu per-CPU-cacher av små minnesobjekt så att de flesta allokeringar och frigöringar kan hanteras lokalt utan att synkronisering måste skickas över CPU:er. Det minskar konkurrensen i heta pather och snabbar upp både allokering och frigöring, vilket förbättrar prestandan för arbetsbelastningar som är starkt beroende av RCU.
Prestanda vid byte är ett annat område som förbättras. Linux 6.18 introducerar den första fasen av arbetet med ”byt-tabellen”, vilket inför en ny abstraktion som används som backend för bytecachen. Målet är att göra sökningar och hantering av byte mer effektiv, särskilt vid minnespress.
Mot bakgrund av detta visar benchmark-resultat som rapporteras i sammanslagningsanteckningarna genomströmning och förfrågningar per sekund med en ökning på 5–20 % för representativa arbetsbelastningar, tillsammans med bättre beteende under stress för allokeringar av stora sidor.
På lagringssidan tillåter ett nytt device-mapper-mål, dm-pcache, att persistenta minnen — till exempel CXL-baserade eller DAX-kompatibla enheter — används som en högpresterande cache framför långsammare blockenheter. Det ger systemdesigners ett sätt på kärnnivå att behandla persistenta minnen som ett lager mellan DRAM och SSD:er eller hårddiskar, utan att behöva skräddarsydd kod i användarutrymmet.
Samtidigt får NFS-servern ett alternativ att helt inaktivera sin egen I/O-cachning. Det kan låta kontraintuitivt, men för stora, tungt belastade servrar eller mycket små molninstanser kan det faktiskt förbättra skalbarheten och undvika att lokalminnet används ineffektivt att hoppa över serverbaserad cachning.
Process- och namnområdeshantering får en märkbar förbättring av användbarheten. Kärnan har stöd för pidfds, filbeskrivarhandtag till processer, sedan Linux 5.1, och de har visat sig vara mycket användbara för robust processhantering.
Linux-kärnan 6.18 utvidgar samma idé till namnrymder: användarutrymmet kan nu koda och avkoda namnrymdsidentifierare med de befintliga name_to_handle_at() och open_by_handle_at() API:erna. Det gör det möjligt att konsekvent hänvisa till namnrymder under hela systemets livstid, jämföra dem pålitligt och överföra dem utan att allokera extra resurser.
Nätverk ser flera betydande förändringar eftersom den nya versionen lägger till grundläggande stöd för Accurate Explicit Congestion Notification, vilket utökar klassisk ECN genom att tillåta mer detaljerad återkoppling om hur många trängselmarkeringar som observerades per RTT.
På UDP-sidan har mottagningsvägen omarbetats för att minska konkurrens och för att använda NUMA-medveten låsning samt bättre datastrukturupplägg; tester som nämns i ändringsloggen rapporterar ungefär 50 % bättre UDP RX-prestanda, med ännu större vinster under attackliknande förhållanden där ett litet antal sockets tar emot mycket höga paketflöden.
Dessutom höjs standardstorleken på mottagningsbufferten för socket till 4 MB, och tidigare arbete med direkt intern bufferdelning (dibs) har slagits samman, vilket ytterligare förbättrar skalbarheten för nätverk med hög volym.
Säkerhet och transportkryptering förstärks med stöd för PSP-krypterade TCP-anslutningar. PSP, ett protokoll utvecklat på Google, befinner sig i ett mellanskikt mellan IPsec och TLS: det har vissa arkitektoniska likheter med båda men är utformat för stark hårdvaruavlastning, inklusive tunnellägen, vilket gör det attraktivt för datacenterimplementeringar där avlastningsmotorer är vanliga.
BPF-undersystemet får möjligheten att ladda kryptografiskt signerade BPF-program. För tillfället är huvudändringen infrastrukturen: kärnan kan verifiera programsignaturer när de laddas. Dessutom fortsätter revisionsundersystemet att röra sig mot robust stöd för flera LSM när Linux-kärna 6.18 förbättrar sin händelsehantering när flera Linux Security Modules är aktiverade samtidigt.
På virtualiseringsfronten introducerar denna version en virtio SPI-drivrutin som låter hypervisorer exponera SPI-enheter direkt för virtuella maskiner via den standardiserade virtio-mekanismen. På x86-värdar blir SEV-SNP CipherText Hiding tillgängligt, vilket förhindrar att CPU:er som inte är auktoriserade att komma åt en gästs privata minne ens ser chiffertexten i det minnet.
På KVM-sidan kan det nu tillhandahålla skuggstackar och indirekt förgreningsspårning på Intel-hårdvara samt skuggstackar på AMD, vilket ger gäster tillgång till moderna skydd för styrflöden.
Filsystem och blokklager ser en blandning av funktionsarbete och städning. Den nya dm-pcache-måltavlan passar också här och tillhandahåller ihållande cachning framför blockenheter. Ext4 fortsätter att moderniseras, med utökad stöd för reserverade ID:n och ett nytt ioctl-gränssnitt för att hämta och ändra superblockparametrar, samtidigt som de sista resterna av separata ext3-konfigurationsalternativ tas bort.
OverlayFS får stöd för case-folding, och FUSE-filsystem kan nu hantera stora kopieringsområden direkt. Separat är en rad föråldrade XFS-alternativ inaktiverade som standard, föråldrade monteringsalternativ tas bort, och online fsck är nu aktiverat som standard och behandlas inte längre som experimentellt. Linux-kärnan 6.18 tar också bort Bcachefs-filsystemet helt, och vissa filsystem antar nya låsfria bitmap-implementationer för att minska konkurrensen om delad metadata.
Slutligen, när det gäller hårdvarustöd, medför releasen nya eller förbättrade drivrutiner för ett brett utbud av GPU:er (inklusive nyare Mali-varianter och ytterligare SoC-grafikblock), displaybryggor och paneler, inbyggda SoC:er, nätverkskort, strömkontroller och regulatorer, industriella I/O-sensorer, lagringskontroller, USB-PHY:er och repeaters, ljudenheter samt styr- och haptikkontroller.
För dem som vill kompilera Linux-kärnan 6.18 själva, är den nu tillgänglig för nedladdning på kernel.org. Som vanligt kommer användare av rolling-release-distributioner att vara de första att få den nya kärnan, och uppdateringen förväntas finnas i deras paketförråd under de kommande veckorna.
