AMD aprimora a invalidação de TLB

AMD otimiza TLB Invalidation no kernel Linux, com Intel RAR no radar

Logo da AMD em vermelho

A Meta, por meio do engenheiro Rik van Riel, está avançando com otimizações para o gerenciamento de TLB no kernel Linux, utilizando a instrução INVLPGB dos processadores AMD Zen 3 e mais recentes. Essas melhorias prometem um ganho de desempenho considerável em determinados workloads e já chegaram à oitava iteração de patches.

O que muda com a instrução INVLPGB?

O INVLPGB permite invalidar entradas de TLB (Translation Lookaside Buffer) de forma mais eficiente, eliminando a necessidade de interrupções (IPIs) para cada núcleo, reduzindo tempo de processamento e sobrecarga no sistema.

Esse recurso já existe nos processadores AMD desde a arquitetura Zen 3, mas não era utilizado pelo kernel Linux. Agora, as otimizações feitas por van Riel buscam implementar esse suporte e proporcionar ganhos expressivos de desempenho.

Impacto no desempenho

[vast_player]

Os primeiros testes realizados pelo desenvolvedor e posteriormente pela Phoronix indicam ganhos consideráveis em workloads que dependem de TLB flushing eficiente. Comparando diferentes cenários, o uso do INVLPGB combinado com a remoção de chamadas desnecessárias ao LRU mostrou um salto de 527k para 1.157k loops por segundo em testes específicos.

Isso significa uma melhoria real para cargas de trabalho que realizam acessos intensivos à memória, como bancos de dados, virtualização e aplicativos HPC.

E a Intel? Suporte ao RAR está nos planos

Além da otimização para AMD, a Intel também pode se beneficiar de mudanças similares. Rik van Riel comentou que, após a fusão do código INVLPGB no kernel, planeja trabalhar no suporte à RAR (Remote Action Request) da Intel. Essa funcionalidade permitiria um método mais eficiente de invalidação remota de TLBs, reduzindo ainda mais a latência em sistemas multinúcleo.

Próximos passos

  • Otimizações para INVLPGB devem estar prontas para o Linux 6.15.
  • Possível implementação do RAR para Intel em versões futuras do kernel.
  • Revisão final e integração do código pela equipe do kernel Linux.

Mais detalhes sobre a implementação e benchmarks podem ser encontrados na lista de discussão do kernel.

Emanuel Negromonte Autor
Autor
Jornalista especialista em Linux a mais de 20 anos. Fundador do SempreUpdate e entusiasta do software livre.