Um conjunto atualizado de patches foi publicado na sexta-feira, parecendo melhorar o desempenho da VM Linux quando o host está sob forte pressão de memória.
Desde meados de 2021, o ChromeOS do Google usa código semelhante em”dezenas de milhões de dispositivos”e, recentemente, o engenheiro do Google Yu Zhao-conhecido por seu trabalho no MGLRU-tem trabalhado para atualizar essa melhoria.
A intenção dos patches é fornecer um caminho rápido para limpar o bit acessado sem obter o bloqueio KVM MMU. Yu Zhao postou anteriormente esses patches em fevereiro, enquanto os patches v2 de sexta-feira refatoram o código e incorporam comentários de análises anteriores.
A série de patches explica:
“O objetivo deste patchset é para otimizar o desempenho dos convidados quando a memória do host está sobrecarregada. Ele se concentra em um caso simples, mas comum, em que o hardware define o bit acessado no KVM. PTEs e VMs não estão aninhados. Casos complexos retornam ao caminho lento existente, onde kvm->mmu_lock é então tomado.
O caminho rápido depende de duas técnicas para limpar com segurança o bit acessado: RCU e CAS. O primeiro protege as tabelas de páginas KVM de serem liberadas, enquanto o último limpa o bit acessado atomicamente contra o hardware e outra página de software caminhantes da mesa.”
Benchmarks serão lançados em breve para quantificar a melhoria do desempenho do convidado da VM enquanto o host é desafiado pela pressão da memória.
Os engenheiros do Google também estão trabalhando no relatório do conjunto de trabalho para lidar melhor com VMs supercomprometidas como outra melhoria para o kernel.