Linux 6.17 deve melhorar desempenho de VMs SEV em CPUs AMD com cache flushing inteligente

Nova proposta melhora desempenho ao evitar invalidações desnecessárias no KVM com virtualização criptografada!

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...
4 min
Patch para Linux 6.17 propõe otimização de cache em VMs SEV com CPUs AMD

Uma nova série de patches para o kernel Linux 6.17 publicada por desenvolvedores da AMD e do Google propõe uma otimização significativa para sistemas que utilizam Secure Encrypted Virtualization (SEV) com KVM no Linux. A mudança visa reduzir o impacto das operações de cache flushing (limpeza de cache) ao utilizar CPUs AMD EPYC, especialmente em servidores com alto número de núcleos.

Essa proposta deve ser integrada ao kernel Linux 6.17, que traz melhorias significativas, prevista para o final de 2025.

Problema atual: flushing de cache em todos os núcleos

Terminal mostrando otimização de cache flushing em VMs com SEV no Linux

Nos sistemas com SEV habilitado, cada operação de reclamação de memória dentro da máquina virtual (VM) pode disparar comandos de WBINVD ou WBNOINVD em todos os núcleos físicos, mesmo que a VM esteja rodando apenas em uma fração desses núcleos.

Como consequência, o desempenho de outros aplicativos no host pode ser impactado desnecessariamente. Em um cenário comum com 128 núcleos no host e uma VM SEV com apenas 8 vCPUs, isso representa uma penalização significativa para tarefas fora da VM.

Solução proposta: cache flushing seletivo

A nova abordagem propõe:

  • Substituir WBINVD por WBNOINVD para evitar corrupção de dados por aliasing com o C-bit
  • Executar o flushing somente nos núcleos físicos efetivamente utilizados pela VM SEV, rastreando onde cada vCPU foi alocada

Com isso, o número de invalidações de cache é reduzido, preservando a performance do sistema host. Essa mudança é resultado da combinação de duas séries anteriores: uma de Kevin Loughlin, voltada para uso do WBNOINVD, e outra de Zheyun Shen, focada em flushing direcionado.

Ainda sem benchmarks, mas com impacto previsto

Embora os patches não incluam métricas de benchmark, o impacto prático deve ser relevante em ambientes com múltiplas VMs SEV e grande paralelismo. A série já recebeu revisões técnicas e deve ser integrada via a árvore kvm-x86 do kernel.

Os commits afetam os subsistemas x86/lib, KVM/SVM, drm/gpu, e arquivos centrais de cache e instruções especiais. A proposta foi publicada por Sean Christopherson (Google) e revisada por colaboradores da AMD, Red Hat e Intel.

FAQ – Cache flushing otimizado para SEV

Conclusão

A proposta de cache flushing seletivo para SEV representa uma otimização importante para servidores AMD com virtualização segura. Embora transparência e segurança sigam como prioridades, o novo modelo busca também preservar o desempenho em sistemas host de alta densidade. Essa é mais uma evolução dentro da integração entre KVM, AMD e o kernel Linux rumo a uma virtualização mais eficiente.

Compartilhe este artigo
Sair da versão mobile