Novos patches

Novos patches aprimoram controle SMT no ARM64 e elevam desempenho no kernel Linux

Patches atualizados para controle de SMT no ARM64 permitem ajustes em tempo de execução, melhorando desempenho e segurança. A versão v6 inclui correções e testes em hardware real, aproximando o ARM64 do comportamento SMT dos sistemas x86.

Fundo azul com a logo da ARM64 ao centro

A equipe de engenheiros da Huawei e HiSilicon continua a avançar no desenvolvimento de patches para habilitar o controle de Simultaneous Multi-Threading (SMT) em processadores ARM64 no Kernel Linux. Esses controles, que são comuns em sistemas x86, agora estão sendo estendidos para servidores ARM64, como o Huawei Kunpeng e o Kirin 9000S, para permitir que os usuários ativem ou desativem o SMT em tempo de execução. Essa capacidade oferece maior flexibilidade para lidar com questões de segurança e otimização de desempenho.

A mais recente série de patches (v6) inclui várias melhorias após extensas revisões e testes. Os engenheiros destacam que o controle SMT pode ser particularmente útil para melhorar o desempenho de CPU em cargas de trabalho single-thread, além de potencialmente reduzir o consumo de energia. Essas atualizações também são vistas como uma resposta às preocupações com vulnerabilidades de segurança que afetam CPUs com suporte a SMT.

Principais aspectos do patch v6:

russos-nao-poderao-comprar-processadores-com-frequencia-superior-a-25-mhz-em-taiwan
  1. Novo método topology_is_primary_thread(): Agora, há uma implementação padrão deste método para identificar o thread primário em sistemas com SMT, simplificando o gerenciamento da topologia de CPU.
  2. Compatibilidade com sistemas OF e ACPI: O patch foi aprimorado para detectar e gerenciar corretamente o número de threads SMT em sistemas baseados tanto em Open Firmware (OF) quanto em ACPI. Isso assegura que o controle SMT funcione de forma robusta em diferentes plataformas de hardware.
  3. Habilitação do HOTPLUG_SMT para ARM64: Este recurso permite a desativação e ativação de threads SMT em tempo de execução, otimizando o uso da CPU conforme a necessidade.

Além disso, os engenheiros testaram esses patches em hardware ARM64 real e em máquinas virtuais baseadas em QEMU, tanto em sistemas ACPI quanto OF, garantindo que o suporte SMT seja funcional e estável.

Mudanças significativas nas revisões anteriores:

  • Na versão v5, foi removida a dependência da configuração CONFIG_SMP, já que ela está sempre ativada em sistemas ARM64. Também foi corrigido o comportamento em sistemas assimétricos com múltiplas chamadas de cpu_smt_set_num_threads(), e adicionada uma detecção de topologia SMT heterogênea para emitir alertas em caso de suporte parcial.
  • Na versão v4, foi implementado o método padrão topology_is_primary_thread() e feitas outras correções de build e erros de configuração, com base em relatórios de testes automáticos.
  • A versão v3 se focou em corrigir erros de compilação e configurações relatados pelo sistema de teste automatizado, garantindo maior robustez.

Com essas atualizações, o controle de SMT no ARM64 se aproxima do que já existe no mundo x86, com benefícios claros para otimização de desempenho e gestão de segurança, especialmente em servidores de alto desempenho.