0001 .. SPDX-License-Identifier: GPL-2.0
0002
0003 .. include:: ../disclaimer-zh_TW.rst
0004
0005 :Original: :ref:`Documentation/arm64/hugetlbpage.rst <hugetlbpage_index>`
0006
0007 Translator: Bailu Lin <bailu.lin@vivo.com>
0008 Hu Haowen <src.res@email.cn>
0009
0010 =====================
0011 ARM64中的 HugeTLBpage
0012 =====================
0013
0014 大頁依靠有效利用 TLBs 來提高地址翻譯的性能。這取決於以下
0015 兩點 -
0016
0017 - 大頁的大小
0018 - TLBs 支持的條目大小
0019
0020 ARM64 接口支持2種大頁方式。
0021
0022 1) pud/pmd 級別的塊映射
0023 -----------------------
0024
0025 這是常規大頁,他們的 pmd 或 pud 頁面表條目指向一個內存塊。
0026 不管 TLB 中支持的條目大小如何,塊映射可以減少翻譯大頁地址
0027 所需遍歷的頁表深度。
0028
0029 2) 使用連續位
0030 -------------
0031
0032 架構中轉換頁表條目(D4.5.3, ARM DDI 0487C.a)中提供一個連續
0033 位告訴 MMU 這個條目是一個連續條目集的一員,它可以被緩存在單
0034 個 TLB 條目中。
0035
0036 在 Linux 中連續位用來增加 pmd 和 pte(最後一級)級別映射的大
0037 小。受支持的連續頁表條目數量因頁面大小和頁表級別而異。
0038
0039
0040 支持以下大頁尺寸配置 -
0041
0042 ====== ======== ==== ======== ===
0043 - CONT PTE PMD CONT PMD PUD
0044 ====== ======== ==== ======== ===
0045 4K: 64K 2M 32M 1G
0046 16K: 2M 32M 1G
0047 64K: 2M 512M 16G
0048 ====== ======== ==== ======== ===
0049