Páginas

segunda-feira, 17 de agosto de 2026

ARM64 no Linux 7.3: Chega com o BBML3, correções para a NVIDIA Olympus e muito mais

 


O Linux 7.3 traz o BBML3 para o ARM64, com workarounds para a NVIDIA Olympus, melhorias no perf e suporte a novos hardwares. Saiba tudo sobre o update e como testar.


O kernel Linux 7.3 está chegando com uma série de novidades importantes para a arquitetura ARM64 (AArch64). Após um ciclo 7.2 bastante modesto para esse lado do ecossistema — quando nenhum recurso de peso foi incorporado — os desenvolvedores da ARM se organizaram melhor e agora trazem melhorias significativas.

Neste artigo, vamos explorar em detalhes o que muda no ARM64 com o Linux 7.3, desde o novo recurso BBML3 até os workarounds para os processadores NVIDIA Olympus, passando por correções de performance e suporte a novos hardwares.


O que aconteceu no Linux 7.2 ?


Quem acompanha o desenvolvimento do kernel sabe que o ciclo 7.2 foi atípico para o ARM64. A "loucura dos patches de IA / LLM" acabou atrapalhando o desenvolvimento e, na prática, nenhum recurso relevante de fato foi incorporado para a arquitetura AArch64 naquela versão.

Isso gerou certa frustração na comunidade, mas também serviu como um alerta. Para o Linux 7.3, os desenvolvedores da ARM se anteciparam e prepararam um conjunto de mudanças que prometem compensar o ciclo anterior.


BBML3: o coração da melhoria na gestão de memória


O que é BBML3?


O BBML3 significa Break-Before-Make Level 3 — um recurso mais recente da arquitetura AArch64 que permite um gerenciamento mais eficiente das transições de tabelas de página.

Em termos práticos, o BBML3 substitui o antigo mecanismo BBML2-noabort que o kernel utilizava até então. 

A grande vantagem é que o BBML3 pode realizar atualizações atômicas das entradas da tabela de páginas (PTEs), reduzindo a necessidade de operações de "break-before-make" que exigiam sincronização mais pesada entre os núcleos.


Por que isso importa ?


O impacto do BBML3 é sentido em duas frentes principais:

  • 1. Melhor gerenciamento de memória: transições mais eficientes entre estados de páginas significam menos sobrecarga e maior velocidade em operações de alocação e mapeamento de memória.

  • 2. Virtualização mais eficiente: hipervisores como KVM se beneficiam diretamente, já que o gerenciamento de memória das máquinas virtuais tende a ficar mais ágil.

Para administradores de servidores e provedores de nuvem, essa é uma mudança especialmente relevante — ambientes com alta densidade de VMs tendem a ver ganhos perceptíveis.


Detecção do BBML3


O kernel agora detecta a presença do BBML3 com base no registro ID_AA64MMFR2_EL1.BBM. Além disso, uma lista de CPUs que suportam o recurso mesmo sem anunciá-lo via registros padrão foi adicionada, incluindo processadores NVIDIA Olympus e Ampere.


Workarounds para NVIDIA Olympus

A NVIDIA vem investindo pesado em sua própria CPU para data centers, batizada internamente de Vera, equipada com núcleos Olympus. E, como todo hardware novo, surgem desafios de compatibilidade.


Produto Afiliado Recomendado 


Se você está pensando em montar ou atualizar um sistema para testar as novidades do Linux 7.3 em ARM64, uma ótima opção é o Raspberry Pi 5 — que já conta com suporte maduro para ARM64 e é uma plataforma acessível para desenvolvimento e testes.

Raspberry Pi 5 Computer Model B 8 Gb RAM -> https://link.amazon/B053CMtnW

Eu ganho uma comissão quando você faz uma compra.


O problema de ordenamento de memória


Os núcleos Olympus apresentam um bug sutil: em determinadas condições, uma leitura de dispositivo (Device-nGnR* load) pode ser observada por um periférico antes que uma escrita anterior (Device-nGnR* store) para o mesmo periférico seja concluída.

Isso quebra as garantias de ordenamento program-order e pode deixar periféricos em um estado incorreto.


A solução no Linux 7.3


Para contornar o problema, os engenheiros do kernel inseriram uma barreira de memória DMB OSH imediatamente antes de cada load MMIO (Memory-Mapped I/O) em CPUs afetadas.

Essa correção — formalmente documentada como a errata T410-OLYMPUS-1027 — garante que as operações de E/S com os dispositivos aconteçam na ordem correta, evitando comportamentos imprevisíveis.


Outros ajustes para Olympus

Além da correção de ordenamento, o Linux 7.3 também:


  • Desabilita o BTI (Branch Target Identification) in-kernel para versões recentes do LLVM Clang, devido a problemas com livepatching que ainda estão sendo investigados.

  • Adiciona workarounds no subsistema perf para contornar problemas com o contador PMCCNTR_EL0, que pode continuar incrementando mesmo quando o núcleo está em estado WFI/WFE.

Melhorias no subsistema de performance (perf)


O Linux 7.3 traz uma série de correções e suporte para novos hardwares no lado da performance:


AWS Graviton5

Os processadores Graviton5 da AWS, baseados em uma implementação personalizada do CMN-S3 (Coherent Mesh Network), apresentam registros de descoberta que retornam valores zerados.

O Linux 7.3 adiciona workarounds específicos para:

  • Identificar a variante Graviton5 do CMN-S3 via um ACPI HID dedicado.
  • Derivar o domínio DTC a partir do ID do nó XP, já que o registro de unidade informa zero.

Marvell CN20K


O kernel agora também suporta o DDR PMU (Performance Monitoring Unit) nos SoCs Marvell CN20K, permitindo monitoramento mais granular da performance de memória nesses sistemas

Suporte a novos hardwares


Além das correções e melhorias já mencionadas, o Linux 7.3 expande o suporte a uma série de novos dispositivos e plataformas ARM64.

Isso inclui, entre outros:

  • Melhorias no suporte à Arm Confidential Compute Architecture (CCA), permitindo executar Linux em VMs protegidas.
  • Suporte a novas instruções como FEAT_LS64 (loads/stores atômicos de 64 bytes) e FEAT_MOPS (memory operations).

Impacto para usuários e administradores


Para usuários finais

Se você usa um dispositivo com processador ARM64 — como um Raspberry Pi, um Mac com Apple Silicon ou um Chromebook ARM — as melhorias no Linux 7.3 podem trazer benefícios perceptíveis:

  • Sistema mais responsivo: graças ao BBML3 e à gestão de memória mais eficiente.
  • Maior estabilidade: com as correções para NVIDIA Olympus e outros hardwares.
  • Melhor performance em virtualização: se você roda contêineres ou VMs.


Para os administradores de servidores


Em ambientes de nuvem e data centers, onde servidores ARM64 (como os Graviton da AWS) são cada vez mais comuns, o Linux 7.3 oferece:

  • Workarounds críticos para hardware de ponta (NVIDIA Olympus, Graviton5).
  • Monitoramento mais preciso com suporte a novos PMUs.
  • Maior eficiência em cargas virtualizadas.


Perguntas Frequentes (FAQ)


1. O Linux 7.3 já está disponível para download?

O Linux 7.3 ainda está em fase de merge window neste momento (agosto de 2026). O lançamento estável está previsto para outubro de 2026. Por enquanto, é possível testar as versões Release Candidate (RC) ou compilar diretamente do repositório git.


2. O BBML3 funciona em qualquer processador ARM64?

Não. O BBML3 é um recurso da arquitetura que precisa ser suportado pelo processador. O kernel detecta automaticamente a presença do recurso via registros de identificação. Processadores mais antigos podem não suportá-lo.


3. Preciso fazer algo para ativar as melhorias no Linux 7.3?

Não. As melhorias para ARM64 no Linux 7.3 são ativadas automaticamente pelo kernel durante a inicialização, com base na detecção do hardware. Basta atualizar para a nova versão quando ela for lançada.


Conclusão 


O Linux 7.3 representa um marco importante para o ecossistema ARM64. Depois de um ciclo 7.2 sem grandes novidades para a arquitetura, os desenvolvedores do ARM entregaram um conjunto robusto de melhorias — com destaque para o BBML3, que promete otimizar significativamente a gestão de memória, e os workarounds para a NVIDIA Olympus, que garantem estabilidade em hardware de última geração.

Se você trabalha com infraestrutura em nuvem, virtualização ou desenvolvimento para o ARM64, vale a pena ficar de olho no lançamento do Linux 7.3 e começar a planejar seus testes.


Checklist para testar o Linux 7.3 em ARM64


Copie e cole este checklist para organizar seus testes:


[  ] Verificar se seu hardware ARM64 é compatível com BBML3

    → Consulte o registro ID_AA64MMFR2_EL1.BBM

    → Ou verifique se o CPU está na lista de suporte (NVIDIA Olympus, Ampere, etc.)

.

[  ] Baixar a versão Release Candidate (RC) do Linux 7.3

    → Acesse kernel.org ou o repositório git


[  ] Compilar o kernel com suporte a ARM64

    → make ARCH=arm64 defconfig

    → make ARCH=arm64 -j$(nproc)


[  ] Testar o BBML3 em cenários de virtualização

    → Rode VMs com KVM e observe a performance.


[ ] Validar os workarounds para NVIDIA Olympus (se aplicável)

    → Verifique os logs do kernel para confirmar a aplicação das correções.


[  ] Monitorar o subsistema perf em hardwares compatíveis

    → Teste com perf stat e perf record em Graviton5 ou Marvell CN20K.


[  ] Documentar resultados e compartilhar com a comunidade.







Nenhum comentário:

Postar um comentário