- Eficiência de RAM: O Kernel Linux 7.0 elimina a estrutura estática swap_map, liberando imediatamente centenas de megabytes de RAM em sistemas com grandes unidades de swap.
- Performance Otimizada: A unificação do rastreio de dados na Tabela de Swap remove a necessidade de atualizações duplas, resultando em um sistema até 2.4% mais rápido em tarefas intensivas.
- Autor do Patch: A reformulação foi proposta por Kairui Song, focando em transformar metadados estáticos em estruturas dinâmicas e leves.
- Versão Prevista: As mudanças estão em fase terminal de revisão (v3) e devem ser integradas à versão estável do Kernel Linux 7.0 em meados de 2026.
O desenvolvedor Kairui Song enviou a terceira fase de uma reformulação profunda na gestão de memória virtual do Linux. O conjunto de 12 patches propõe a remoção completa do swap_map, uma estrutura estática usada há décadas para rastrear o uso de slots de swap. A mudança impacta diretamente a eficiência do sistema ao unificar o rastreio na chamada “tabela de swap”, reduzindo o consumo de RAM em cerca de 30% apenas nos metadados dessa área.
No Kernel Linux 7.0, essa otimização significa que sistemas com grandes dispositivos de swap (como servidores com 1TB de espaço de troca) liberarão imediatamente cerca de 256MB de RAM que antes eram desperdiçados com tabelas estáticas, mesmo que o swap não estivesse em uso.
O que isso significa na prática:
- Para o iniciante: Imagine que o Linux guardava um caderno enorme (o
swap_map) apenas para anotar onde cada pedaço de arquivo estava no HD quando a memória RAM acabava. Mesmo com o caderno vazio, ele ocupava espaço na mesa. Agora, o sistema anota tudo diretamente na “tabela principal”, jogando o caderno fora. Seu computador ganha mais espaço livre e fica levemente mais rápido ao lidar com multitarefas pesadas.
- Para o Sysadmin: A atualização elimina a atualização dupla (double update) que ocorria entre a
swap table e o swap_map. Isso reduz a contenção de locks e melhora o throughput de IO em situações de pressão de memória (thrashing). Em testes com Redis/Valkey, houve um ganho de performance de até 1.8% em requisições por segundo.
Detalhes da Implementação: Adeus ao Rastreio Estático
A mudança técnica central ocorre no subsistema mm/swap. O desenvolvedor propôs utilizar os bits de alta ordem das entradas da tabela de swap para armazenar a contagem de referências diretamente.
Principais mudanças:
- Fim da Estrutura Estática: O
swap_mapera alocado noswaponcom base no tamanho total do dispositivo. Agora, a gestão é dinâmica por clusters. - Tabela de Extensão: Para evitar o estouro de bits em slots muito referenciados, foi criada uma
extend_tableque só é alocada sob demanda para clusters específicos. - Layout de Bits: A entrada da tabela de swap agora é um
atomic longque compacta o PFN (Page Frame Number), estados de “shadow” (para o monitoramento do working set) e a contagem de swap.
Benchmark: Antes vs depois
| Métrica | Baseline (Antigo) | Fase III (Novo) | Ganho |
| Uso de RAM Ociosa (1TB Swap) | 1051 MB | 795 MB | -256 MB |
| Tempo de Sistema (x86_64) | 1038.97s | 1013.75s | -2.4% |
| Throughput Redis (RPS) | 472,705 | 481,197 | +1.8% |
Quando isso chega no meu PC?
A proposta está atualmente em sua terceira revisão (v3) na lista de discussão linux-mm.
- Ciclo de Merge: Como a Fase II já está na árvore estável, a Fase III deve entrar na janela de mesclagem do Kernel Linux 7.0 ou 7.1.
- Previsão: Deve chegar na versão estável em meados de maio de 2026.
- Nas Distros: Usuários de distribuições como Fedora e Ubuntu devem ver essa melhoria nas versões de outubro de 2026 (ex: Ubuntu 26.10).
