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
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.