2021 年に AMD は、将来のプロセッサで 5 レベルのページングをサポートするための Linux カーネル サポートの準備を開始し、Intel によって確立された以前の 5 レベルのページ テーブル カーネル サポートを構築しました。その後、AMD は Linux 5.15 カーネルの KVM SVM で 5 レベルのページ テーブル サポートを有効にしました。第 4 世代 EPYC「Genoa」プロセッサの形で発売されて以来、5 レベルのページ テーブルをサポートする AMD CPU。 5 レベルのゲスト ページ テーブルをサポートする AMD IOMMU ドライバーのサポートは、現在では 1 つしかありません。
5 レベルのページ テーブルのサポートは、4 レベルのページ テーブルに比べて仮想および物理アドレス空間の量を大幅に拡大するために重要です。 5 レベルのページングでは、最大 4 PiB の物理メモリ アドレスのアドレス指定がサポートされています。この余分なページ テーブル レベルの唯一の欠点は、ページ テーブル ウォークが長くなることです。
開発中の Linux 6.4 カーネルでは、AMD IOMMU ドライバー (amd_iommu) は 5 レベルのゲスト ページ テーブル サポートを表示するように設定されています。プロセッサと IOMMU の両方が 5 レベルのページ テーブルをサポートしている場合、Linux 6.4 カーネルはそれを有効にします。それ以外の場合は、既存の 4 レベルのページ テーブルにフォールバックします。
これとは別に、Linux 6.4 用の AMD IOMMU ドライバーも、メモリ割り当てに NUMA 認識を追加するようになりました。これらの AMD IOMMU ドライバーの変更および新しいカーネル用のその他の IOMMU サブシステムの作業の詳細については、今週の日曜日の プル.