Novidades importantes

Atualizações no KVM para x86 no Linux 6.12 trazem suporte ao AVX10.1 e mais otimizações

As atualizações do KVM x86 no Linux 6.12 trazem suporte ao AVX10.1 para VMs, além de otimizações no gerenciamento de tabelas de páginas, código MSR e saída rápida do HLT, preparando o KVM para futuras melhorias da Intel e AMD.

Linux 6.12-rc7 recebe otimização de desempenho e várias correções

Com a nova versão do Linux 6.12 se aproximando, o KVM, que é a tecnologia usada para virtualizar sistemas operacionais, recebeu várias atualizações importantes para processadores da arquitetura x86/x86_64. Entre as mudanças, uma das mais significativas é a adição do suporte ao AVX10.1 da Intel. Em termos simples, o AVX (Advanced Vector Extensions) é um conjunto de instruções que melhora o desempenho de tarefas complexas, como simulações científicas e gráficos de alta performance. Agora, as máquinas virtuais (VMs), que são sistemas operacionais rodando dentro de outro sistema operacional, poderão detectar e usar o AVX10.1.

Essencialmente, o que muda com esta atualização é que as VMs agora podem verificar se o AVX10.1 está disponível no processador que estão usando. Isso prepara o sistema para futuros processadores da Intel que terão versões mais avançadas dessa tecnologia, como o AVX10.2. A ideia é que os programas dentro dessas VMs possam tirar proveito desse recurso para executar operações mais rápidas e eficientes no futuro.

Outras mudanças no KVM x86 no Linux 6.12

Ilustração de uma tela de computador com várias janelas sobrepostas, representando interfaces gráficas de diferentes sistemas virtuais.

Além do suporte ao AVX10.1, o KVM no Linux 6.12 apresenta várias melhorias em termos de como ele gerencia a memória das VMs. Quando você move ou remove uma parte da memória que uma VM está usando, o KVM agora permite que apenas a parte afetada seja invalidada, e não toda a memória, o que economiza tempo e recursos do sistema. Isso é particularmente útil para tecnologias como o Intel TDX, que trabalha com dados privados e precisa revalidar essas informações toda vez que algo muda na memória.

Outra melhoria importante é a reorganização de como o KVM lida com erros em determinadas instruções do processador, chamadas de MSRs. Antes, quando uma VM tentava acessar uma dessas instruções e ela não estava disponível, isso gerava um erro. Agora, o KVM pode evitar esses erros e continuar funcionando sem interrupções.

Reestruturação e otimizações diversas

Outras mudanças incluem:

  • Melhorias no gerenciamento do x2APIC, um componente que ajuda o processador a coordenar tarefas entre diferentes núcleos;
  • Correções de bugs que impediam o KVM de retornar ao controle do sistema quando certas operações rápidas de saída eram executadas;
  • Uma otimização que acelera o retorno de uma VM ao seu estado de funcionamento após ela ser colocada em pausa.

Essas mudanças são bastante técnicas, mas todas elas têm o objetivo de melhorar a velocidade e a estabilidade das máquinas virtuais que rodam no Linux.

Mais detalhes e código-fonte

Essas atualizações são parte de um esforço contínuo dos desenvolvedores do Linux para garantir que o sistema seja mais eficiente e estável ao virtualizar outros sistemas operacionais. Se você quiser ver mais detalhes técnicos, o código-fonte completo dessas mudanças está disponível no repositório oficial do kernel Linux.