mirror of
https://github.com/torvalds/linux.git
synced 2024-12-26 12:52:30 +00:00
e4624435f3
Architecture-specific documentation is being moved into Documentation/arch/ as a way of cleaning up the top-level documentation directory and making the docs hierarchy more closely match the source hierarchy. Move Documentation/arm64 into arch/ (along with the Chinese equvalent translations) and fix up documentation references. Cc: Will Deacon <will@kernel.org> Cc: Alex Shi <alexs@kernel.org> Cc: Hu Haowen <src.res@email.cn> Cc: Paolo Bonzini <pbonzini@redhat.com> Acked-by: Catalin Marinas <catalin.marinas@arm.com> Reviewed-by: Yantengsi <siyanteng@loongson.cn> Signed-off-by: Jonathan Corbet <corbet@lwn.net>
44 lines
1.4 KiB
ReStructuredText
44 lines
1.4 KiB
ReStructuredText
.. _hugetlbpage_index:
|
|
|
|
====================
|
|
HugeTLBpage on ARM64
|
|
====================
|
|
|
|
Hugepage relies on making efficient use of TLBs to improve performance of
|
|
address translations. The benefit depends on both -
|
|
|
|
- the size of hugepages
|
|
- size of entries supported by the TLBs
|
|
|
|
The ARM64 port supports two flavours of hugepages.
|
|
|
|
1) Block mappings at the pud/pmd level
|
|
--------------------------------------
|
|
|
|
These are regular hugepages where a pmd or a pud page table entry points to a
|
|
block of memory. Regardless of the supported size of entries in TLB, block
|
|
mappings reduce the depth of page table walk needed to translate hugepage
|
|
addresses.
|
|
|
|
2) Using the Contiguous bit
|
|
---------------------------
|
|
|
|
The architecture provides a contiguous bit in the translation table entries
|
|
(D4.5.3, ARM DDI 0487C.a) that hints to the MMU to indicate that it is one of a
|
|
contiguous set of entries that can be cached in a single TLB entry.
|
|
|
|
The contiguous bit is used in Linux to increase the mapping size at the pmd and
|
|
pte (last) level. The number of supported contiguous entries varies by page size
|
|
and level of the page table.
|
|
|
|
|
|
The following hugepage sizes are supported -
|
|
|
|
====== ======== ==== ======== ===
|
|
- CONT PTE PMD CONT PMD PUD
|
|
====== ======== ==== ======== ===
|
|
4K: 64K 2M 32M 1G
|
|
16K: 2M 32M 1G
|
|
64K: 2M 512M 16G
|
|
====== ======== ==== ======== ===
|