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