Kernel Linux 7.0: MPAM traz controle refinado de cache e banda para processadores ARM64

Domando a nuvem: ARM64 recebe suporte oficial para particionamento de cache e banda via resctrl!

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...
  • Fim do vizinho barulhento: a integração do mpam permite isolar processos gulosos, garantindo que o uso excessivo de cache ou memória por uma aplicação não degrade a performance de outras tarefas.
  • Interface unificada: o suporte agora utiliza o sistema de arquivos resctrl, permitindo que administradores usem as mesmas ferramentas de gestão de recursos que já existem para processadores intel/amd em ecossistemas arm64.
  • Pronto para a nuvem: a quarta versão dos patches foca na estabilidade do kvm, permitindo que provedores de infraestrutura apliquem limites rígidos de hardware a máquinas virtuais de forma segura.
  • Correções para nvidia grace: a atualização inclui ajustes específicos para os chips nvidia t241, garantindo que as políticas de largura de banda sejam aplicadas corretamente em arquiteturas de múltiplos slices.
  • Monitoramento avançado: além de controlar, o sistema agora expõe contadores detalhados de ocupação de cache l3, facilitando a telemetria e o diagnóstico de gargalos em servidores de alta densidade.

O desenvolvedor Ben Horgan enviou a quarta revisão (v4) de uma série massiva de 41 patches que implementam o “elo perdido” para a tecnologia MPAM (Memory Partitioning and Monitoring) em sistemas ARM64. Esta atualização é fundamental para servidores e infraestruturas de nuvem, pois permite que o kernel Linux utilize o sistema de arquivos resctrl — originalmente criado para processadores Intel — para gerenciar recursos de hardware em chips ARM modernos.

A série foca em criar o código de “cola” (glue code) entre a arquitetura ARM, o hipervisor KVM e a interface de usuário, garantindo que limites de largura de banda e fatias de cache possam ser atribuídos a processos ou máquinas virtuais de forma isolada.

Para o iniciante: o que é MPAM e por que você deveria se importar?

Imagine que o processador do seu servidor é uma cozinha compartilhada. Vários processos (as “tarefas”) estão tentando cozinhar ao mesmo tempo. Sem o MPAM, um processo muito guloso pode ocupar todo o balcão (o cache L3) ou gastar toda a água da torneira (a largura de banda da memória), deixando os outros processos lentos ou travados. Isso é conhecido como o problema do “vizinho barulhento”.

O MPAM funciona como um gerente de cozinha. Ele permite que o administrador do sistema diga: “O processo A só pode usar 25% do balcão e não pode gastar mais que 10 litros de água por minuto”. Com esses patches, o Linux ganha as ferramentas para impor essas regras em processadores ARM, garantindo que aplicações críticas tenham performance estável, independentemente do que outros processos estejam fazendo.

O que muda com a v4: estabilidade e suporte a nuvem

A nova versão dos patches refina como o kernel identifica as capacidades do hardware e como ele lida com a virtualização.

Comparativo de capacidades

RecursoComportamento anteriorCom mpam + resctrl
Isolamento de cacheInexistente; processos competem livremente.Suporte a bitmaps de porção de cache (cpor) em l2 e l3.
Controle de bandaSem limites; um app pode saturar o barramento.Limites máximos de banda (mbw_max) via interface resctrl.
Virtualização (kvm)Guests poderiam interferir no host ou ignorar limites.Armadilhas (traps) e troca de contexto seguras para vms.
MonitoramentoEstatísticas genéricas de cpu.Contadores detalhados de ocupação de cache (llc_occupancy).

Detalhes técnicos e correções de hardware (quirks)

A v4 introduz heurísticas mais rígidas para decidir quais recursos expor ao usuário, evitando o “overcommitting” (prometer mais recursos do que o hardware pode entregar). Um ponto técnico importante é a inicialização e troca de contexto do registrador MPAMSM_EL1, essencial para unidades de computação em modo streaming (smcu).

Além disso, os patches incluem um framework de “quirks” para lidar com falhas de design em chips específicos (errata de silício). Por exemplo:

  • Nvidia t241 (grace): correções para garantir que as configurações de largura de banda sejam aplicadas corretamente nos registros de “sombra” do hardware.
  • ARM cmn-650: um contorno para um bug onde o bit de “não pronto” (nrdy) dos monitores de cache nunca limpava, o que travava leituras de estatísticas.

Integração com KVM

Para provedores de nuvem, a parte de KVM é a mais crítica. O código agora preserva a configuração de MPAM do host ao entrar e sair de máquinas virtuais. Isso garante que a telemetria do sistema principal não seja corrompida por uma VM convidada e vice-versa, tratando acessos não autorizados a esses registros como exceções indefinidas (undef).

Status de lançamento e disponibilidade

Os patches foram submetidos em 03 de fevereiro de 2026 e estão sob revisão intensa pelos mantenedores de ARM64 (catalin.marinas e will) e KVM.

  • Status atual: revisão de patches (v4).
  • Previsão: dada a maturidade da série, espera-se que o código seja mesclado no ciclo do kernel linux 7.0 ou 7.1.
  • Onde encontrar: o suporte será visível para usuários através do diretório /sys/fs/resctrl, permitindo ferramentas como intel-cmt-cat funcionarem em ecossistemas ARM.
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.