En 2021, AMD a commencé à préparer la prise en charge du noyau Linux pour la prise en charge de la pagination à 5 niveaux avec ses futurs processeurs et à s’appuyer sur la prise en charge du noyau de table de page à 5 niveaux établie par Intel. Cela a été suivi par AMD permettant la prise en charge de la table de page à 5 niveaux avec KVM SVM dans le noyau Linux 5.15. Processeurs AMD avec prise en charge de la table des pages à 5 niveaux depuis lancés sous la forme de processeurs EPYC”Genoa”de 4e génération. Une seule pièce qui se rassemble maintenant est la prise en charge du pilote AMD IOMMU pour la prise en charge de la table des pages d’invités à 5 niveaux.
La prise en charge des tables de pages à 5 niveaux est importante pour augmenter considérablement la quantité d’espace d’adressage virtuel et physique par rapport aux tables de pages à 4 niveaux. Avec la pagination à 5 niveaux, il est possible d’adresser jusqu’à 4 PiB d’adresses de mémoire physique. Le seul inconvénient de ce niveau de table de page supplémentaire est des parcours de table de page plus longs.
Avec le noyau Linux 6.4 en développement, le pilote AMD IOMMU (amd_iommu) est configuré pour voir la prise en charge de la table des pages d’invités à 5 niveaux. Si le processeur et l’IOMMU prennent en charge les tables de pages à 5 niveaux, le noyau Linux 6.4 l’activera, sinon il reviendra aux tables de pages à 4 niveaux existantes.
Séparément, le pilote AMD IOMMU pour Linux 6.4 ajoute également la prise en charge NUMA aux allocations de mémoire. Plus de détails sur ces modifications du pilote AMD IOMMU et d’autres travaux du sous-système IOMMU pour le nouveau noyau peuvent être trouvés via tirer.