Un ensemble mis à jour de correctifs a été publié vendredi qui semble améliorer les performances de la machine virtuelle invitée Linux lorsque l’hôte est soumis à une forte pression de mémoire.
Depuis la mi-2021, ChromeOS de Google utilise un code similaire sur”des dizaines de millions d’appareils”et récemment, l’ingénieur Google Yu Zhao, connu pour son travail sur MGLRU, a travaillé en amont de cette amélioration.
L’intention des correctifs est de fournir un chemin rapide pour effacer le bit accédé sans prendre le verrou KVM MMU. Yu Zhao a précédemment publié ces correctifs en février, tandis que les correctifs v2 de vendredi refactorisent le code et intègrent les commentaires de la révision précédente.
La série de correctifs explique :
“Le but de ce patchset est pour optimiser les performances des invités lorsque la mémoire de l’hôte est surchargée. Il se concentre sur un cas simple mais courant où le matériel définit le bit accédé dans les PTE KVM et les VM ne sont pas imbriquées. Les cas complexes retombent sur le chemin lent existant où kvm-> mmu_lock est alors prise.
Le chemin rapide s’appuie sur deux techniques pour effacer en toute sécurité le bit accédé : RCU et CAS. La première protège les tables de pages KVM contre la libération tandis que la seconde efface le bit accédé de manière atomique contre le matériel et les autres pages logicielles marcheurs de table.”
Des repères seraient bientôt disponibles pour quantifier l’amélioration des performances de l’invité VM lorsque l’hôte est mis à l’épreuve par la pression de la mémoire.
Les ingénieurs de Google travaillent également sur la création de rapports sur les ensembles de travail pour mieux gérer les machines virtuelles surchargées, une autre amélioration du noyau.