Utvecklare har löst en prestandaregression i Linuxkärnans 6.19 Slab-allokator, som saktade ner modulbelastning på grund av ändringar i NUMA-principer. Problemet, identifierat via benchmarking, påverkade minneshanteringseffektivitet på högkärniga system. Åtgärden återställer korrekt allokationsbeteende och har mergats till huvudkärnan.
Linuxkärnans Slab-allokator, som hanterar små minnesallokeringar, drabbades av en regression under förberedelserna för version 6.19. Ändringar för att optimera stora allokeringar störde oavsiktligt Non-Uniform Memory Access (NUMA)-principer, vilket ledde till suboptimala nodval och långsammare operationer.
Kärntester visade betydande effekter, med modulbelastningstider som ökade med upp till 60 % i vissa fall. Detta var särskilt tydligt på högkärniga processorer som AMD Ryzen Threadripper, där benchmarks visade 3-5 % långsammare kärnkompilationstider och multitaskingförseningar. Michael Larabel från Phoronix utförde bisects för att lokalisera problemet, kopplat till schemaläggarrelaterade issue som förvärrade Slab-ineffektiviteterna.
Regressionen kom från ett commit som prioriterade lokala noder framför uppgiftsspecifika principer i Slab-koden. En patch, dokumenterad i Linux Kernel Archives, återinför original NUMA-stöd för stora kmalloc-operationer utan nya sårbarheter. Kärnbidragsgivare Linus Torvalds betonade vikten av snabba korrigeringar under merge-fönstret för att bibehålla stabilitet.
Communityns svar var snabbt, med pull requests inskickade till kärnmejllistan. Åtgärden, skriven av kärnutvecklare, riktar sig mot allokeringsvägar för att respektera avsedda principer och har integrerats i mainline för stabila 6.19-utgåvan. Detta stämmer överens med pågående arbete för att balansera prestanda och tillförlitlighet mitt i krav från moln- och AI-arbetsbelastningar.
Tidigare kärnor, som 6.18, innehöll optimeringar som förbättrad Btrfs- och XFS I/O-hantering, med upp till 20 % vinster i filsystemoperationer. Slab-åtgärden säkerställer att dessa fördelar inte undermineras, särskilt i minnesintensiva miljöer som databasservrar och containrar. Backports till långsiktiga supportgrenar, inklusive 6.18, ger stabilitet för produktionssystem.