Atualização crítica

Linux corrige lentidão causada por microcódigos em processadores AMD Zen 1 e Zen 2

Linux corrige lentidão causada por microcódigos em processadores AMD Zen 1 e Zen 2

O kernel Linux recebeu uma atualização essencial que corrige atrasos significativos durante a inicialização em sistemas com processadores AMD Zen 1 e Zen 2. Essa correção será incluída no Linux 6.13-rc1 e também será aplicada a versões anteriores do kernel para garantir suporte aos sistemas mais antigos.

Origem do problema da lentidão

O problema foi inicialmente identificado por um engenheiro da Nokia, Thomas De Schampheleire, que relatou atrasos inconsistentes durante a inicialização em servidores AMD EPYC baseados em Zen 1 e Zen 2. Durante algumas inicializações, o tempo de boot aumentava drasticamente, chegando a vários minutos em casos extremos.

A causa foi rastreada a uma alteração no kernel Linux em maio de 2023, que introduziu atualizações tardias de microcódigo para cobrir múltiplos threads. Embora o objetivo fosse melhorar a compatibilidade, essa abordagem levou a problemas em CPUs mais antigas.

Solução implementada

Para resolver o problema, o kernel agora realiza um flush adequado no buffer de patches após aplicar atualizações de microcódigo. Essa etapa evita que o buffer de tradução (TLB) mantenha entradas desnecessárias, eliminando os atrasos “anormais” na inicialização.

Impacto nos sistemas AMD

A atualização beneficia processadores AMD das famílias Ryzen e EPYC baseados em Zen 1 e Zen 2. Os administradores de sistemas que utilizam esses processadores devem atualizar para evitar atrasos na inicialização, especialmente em servidores de missão crítica.

Detalhes técnicos do patch

Entre as melhorias incluídas:

  • Correção do TLB: O buffer de patches agora é limpo adequadamente.
  • Compatibilidade com microcódigos: CPUs Zen 1 e Zen 2 com microcódigos mais antigos não serão impactadas negativamente por atualizações tardias.
  • Atualização retroativa: O patch será aplicado a versões estáveis anteriores do kernel.

O patch será incluído no Linux 6.13-rc1, conforme o pull request oficial enviado por Borislav Petkov para o repositório do kernel. Isso significa que ele estará disponível a partir da série 6.13, atualmente em desenvolvimento.

No entanto, é importante destacar que a correção também será retrocompatível, sendo backportada para versões estáveis anteriores do kernel. Assim, dependendo da sua distribuição Linux e do ciclo de atualizações adotado, é possível que a correção esteja presente em versões estáveis da série 6.12 ou até anteriores, caso os mantenedores da distribuição apliquem o patch manualmente.

Recomenda-se monitorar as atualizações de sua distribuição ou compilar o kernel mais recente manualmente, caso necessário.

Conclusão

Essa atualização reforça a importância de manter o kernel Linux atualizado para evitar problemas de desempenho, especialmente em sistemas corporativos.

Se você utiliza processadores AMD Zen 1 ou Zen 2, atualize seu kernel para garantir um desempenho otimizado. Explore mais conteúdos técnicos em nosso site!