Fim dos vizinhos barulhentos? Kernel Linux 7.0 estuda novo controle rigoroso de cache para chips ARM

Nova proposta para o Kernel Linux 7.0 visa otimizar servidores ARM64 via tecnologia MPAM!

Escrito por
Emanuel Negromonte
Emanuel Negromonte é Jornalista, Mestre em Tecnologia da Informação e atualmente cursa a segunda graduação em Engenharia de Software. Com 14 anos de experiência escrevendo sobre...
  • O patch resolve o problema do "vizinho barulhento" ao permitir o particionamento rigoroso dos caches L2 e L3 em ARM64.
  • Administradores ganham a capacidade de monitorar o consumo exato da largura de banda de memória por cada processo ou máquina virtual.
  • A solução, enviada por Ben Horgan, conecta o hardware ARM à interface resctrl, padronizando o controle com o que já existe no x86.
  • A implementação inclui emulação de CDP para priorizar o tráfego de instruções e dados, além de correções para erratas da NVIDIA e ARM.
  • O status atual é de proposta submetida para avaliação na LKML, visando inclusão na versão final estável do Kernel Linux 7.0.

Ben Horgan enviou recentemente para a lista de discussão do kernel a quinta revisão de uma série de 41 patches que introduzem a integração da tecnologia MPAM (Memory System Resource Partitioning and Monitoring) para arquiteturas ARM64. O pacote de mudanças busca conectar os recursos de hardware da ARM à interface resctrl, permitindo que o sistema operacional controle de forma fina o particionamento de caches e a largura de banda de memória em servidores de alta performance. Com o Kernel Linux 7.0 atualmente em seu segundo release candidate (RC2), a proposta amadurece para ser incluída na versão final deste ciclo.

O que isso significa na prática

Em servidores que executam muitas tarefas simultâneas, como máquinas virtuais, é comum que um processo consuma excessivamente o cache da CPU, prejudicando o desempenho dos demais — o chamado problema do vizinho barulhento. O suporte ao MPAM resolve isso ao permitir que o administrador do sistema defina cotas de cache L2 e L3 para cada grupo de tarefas. O patch também permite monitorar exatamente quanta largura de banda de memória cada processo está utilizando, oferecendo aos administradores de sistemas ferramentas de diagnóstico que antes eram exclusivas de processadores x86 modernos.

Esta evolução é o passo seguinte lógico após a confirmação inicial do suporte ao MPAM no ciclo rc1, consolidando o subsistema como uma peça central para a gestão de recursos em nuvem.

Detalhes da implementação

A mudança impacta diretamente o subsistema resctrl e o suporte a KVM em ARM64. O código introduz suporte ao registro de sistema MPAMSM_EL1, essencial para configurar o particionamento em unidades de computação modernas. Um ponto técnico central é a emulação do recurso CDP (Code Data Prioritization). Como o hardware ARM lida com isso de forma diferente do x86, o patch cria uma camada lógica que separa o cache utilizado para instruções de processamento do cache de dados, garantindo que o carregamento de programas não expulse dados críticos da memória de trabalho da CPU.

O patch implementa o suporte para contadores de monitoramento CSU (Cache Storage Usage) e MBWU (Memory Bandwidth Usage). Estes monitores são expostos via resctrl como se estivessem no cache L3, padronizando a visualização para as ferramentas de espaço de usuário, independentemente da topologia específica do hardware ARM utilizado.

Curiosidades e bastidores da discussão

O desenvolvimento deste driver tem sido uma jornada longa, sendo esta a quinta versão (v5) de uma série que já passou por extensos ciclos de revisão desde as propostas iniciais. A análise na LKML revela um debate técnico sobre como unificar a interface de controle, já que o resctrl foi originalmente moldado para tecnologias da Intel. O patch corrige falhas conhecidas de hardware (erratas) em chips NVIDIA T241 e no controlador CMN-650 da ARM, demonstrando que a solução está sendo preparada para hardware de servidor real já disponível no mercado. Um ponto de atenção dos mantenedores é o modo free running dos monitores, que exige que o hardware tenha contadores suficientes para todos os grupos de controle criados pelo usuário.

Quando isso chega no meu PC?

O cronograma ainda depende da revisão final pelos mantenedores do Kernel Linux 7.0. Embora o autor tenha manifestado o desejo de fundir o código neste ciclo, o fato de estarmos no 7.0-rc2 significa que o tempo para testes extensivos é curto. Caso o patch não seja integrado nas próximas semanas, ele deve ser adiado para a versão 7.1. Se aprovado agora, o recurso deve aparecer em distribuições de servidor no segundo semestre de 2026. Esta funcionalidade é destinada a hardware de classe enterprise e não terá efeito em processadores ARM de dispositivos domésticos ou smartphones comuns.

Compartilhe este artigo
Emanuel Negromonte é Jornalista, Mestre em Tecnologia da Informação e atualmente cursa a segunda graduação em Engenharia de Software. Com 14 anos de experiência escrevendo sobre GNU/Linux, Software Livre e Código Aberto, dedica-se a descomplicar o universo tecnológico para entusiastas e profissionais. Seu foco é em notícias, tutoriais e análises aprofundadas, promovendo o conhecimento e a liberdade digital no Brasil.