Desenvolvedores resolveram uma regressão de desempenho no alocador Slab do kernel Linux 6.19, que desacelerava o carregamento de módulos devido a alterações nas políticas NUMA. O problema, identificado por benchmarks, afetava a eficiência da gestão de memória em sistemas de alto número de núcleos. A correção restaura o comportamento adequado de alocação e foi incorporada ao kernel principal.
O alocador Slab do kernel Linux, responsável por lidar com alocações de memória pequenas, encontrou uma regressão durante os preparativos para a versão 6.19. Alterações destinadas a otimizar alocações grandes perturbaram inadvertidamente as políticas de Acesso Não Uniforme à Memória (NUMA), levando a seleções de nós subótimas e operações mais lentas.
Testes do kernel revelaram impactos significativos, com tempos de carregamento de módulos aumentando até 60% em alguns casos. Isso foi particularmente evidente em processadores de alto número de núcleos como o AMD Ryzen Threadripper, onde benchmarks mostraram tempos de compilação do kernel 3-5% mais lentos e atrasos em multitarefa. Michael Larabel do Phoronix realizou bisects para identificar o problema, ligando-o a questões relacionadas ao escalonador que agravavam as ineficiências do Slab.
A regressão resultou de um commit que priorizava nós locais sobre políticas específicas de tarefas no código Slab. Um patch, documentado nos Arquivos do Kernel Linux, restabelece o suporte NUMA original para operações kmalloc grandes sem introduzir novas vulnerabilidades. O colaborador do kernel Linus Torvalds enfatizou a importância de correções rápidas durante a janela de merge para manter a estabilidade.
A resposta da comunidade foi rápida, com pull requests enviados para a lista de discussão do kernel. A correção, autorada por desenvolvedores do kernel, visa caminhos de alocação para honrar políticas pretendidas e foi integrada ao mainline para o lançamento estável 6.19. Isso se alinha aos esforços contínuos para equilibrar desempenho e confiabilidade diante das demandas de cargas de trabalho em nuvem e IA.
Kernels anteriores, como o 6.18, apresentavam otimizações como melhor manuseio de E/S em Btrfs e XFS, oferecendo ganhos de até 20% em operações de sistema de arquivos. A correção do Slab garante que esses benefícios não sejam comprometidos, especialmente em ambientes intensivos em memória como servidores de banco de dados e contêineres. Backports para ramos de suporte de longo prazo, incluindo 6.18, fornecem estabilidade para sistemas de produção.