Back to home page

OSCL-LXR

 
 

    


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