ARM64 上的 HugeTLBpage¶
Hugepage 依賴於有效利用 TLB 以提高地址轉換的效能。好處取決於 -
hugepage 的大小
TLB 支援的條目大小
ARM64 埠支援兩種 hugepage 風格。
1) pud/pmd 級別的塊對映¶
這些是常規的 hugepage,其中 pmd 或 pud 頁表條目指向一塊記憶體。 無論 TLB 中支援的條目大小如何,塊對映都會減少轉換 hugepage 地址所需的頁表查詢深度。
2) 使用 Contiguous 位¶
該架構在轉換表條目中提供了一個連續位(D4.5.3, ARM DDI 0487C.a),該位提示 MMU 指示它是一組連續條目中的一個,可以快取在單個 TLB 條目中。
連續位在 Linux 中用於增加 pmd 和 pte(最後一個)級別的對映大小。 支援的連續條目的數量因頁大小和頁表級別而異。
支援以下 hugepage 大小 -
CONT PTE
PMD
CONT PMD
PUD
4K
64K
2M
32M
1G
16K
2M
32M
1G
64K
2M
512M
16G