早在 2021 年,AMD 就開始準備 Linux 內核支持其未來處理器的 5 級分頁支持,並建立了英特爾先前建立的 5 級頁表內核支持。隨後,AMD 在 Linux 5.15 內核中啟用了 KVM SVM 的 5 級頁表支持。自從以第 4 代 EPYC“熱那亞”處理器的形式推出以來,支持 5 級頁表的 AMD CPU。 AMD IOMMU 驅動程序支持 5 級訪客頁表支持,現在才整合在一起。
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 子系統工作的更多詳細信息,請訪問本週日的 拉。