mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-08-05 16:54:27 +00:00

Add docs on how CXL capacity interacts with CMA and HugeTLB allocation interfaces. Signed-off-by: Gregory Price <gourry@gourry.net> Link: https://patch.msgid.link/20250512162134.3596150-17-gourry@gourry.net Signed-off-by: Dave Jiang <dave.jiang@intel.com>
32 lines
961 B
ReStructuredText
32 lines
961 B
ReStructuredText
.. SPDX-License-Identifier: GPL-2.0
|
|
|
|
==========
|
|
Huge Pages
|
|
==========
|
|
|
|
Contiguous Memory Allocator
|
|
===========================
|
|
CXL Memory onlined as SystemRAM during early boot is eligible for use by CMA,
|
|
as the NUMA node hosting that capacity will be `Online` at the time CMA
|
|
carves out contiguous capacity.
|
|
|
|
CXL Memory deferred to the CXL Driver for configuration cannot have its
|
|
capacity allocated by CMA - as the NUMA node hosting the capacity is `Offline`
|
|
at :code:`__init` time - when CMA carves out contiguous capacity.
|
|
|
|
HugeTLB
|
|
=======
|
|
Different huge page sizes allow different memory configurations.
|
|
|
|
2MB Huge Pages
|
|
--------------
|
|
All CXL capacity regardless of configuration time or memory zone is eligible
|
|
for use as 2MB huge pages.
|
|
|
|
1GB Huge Pages
|
|
--------------
|
|
CXL capacity onlined in :code:`ZONE_NORMAL` is eligible for 1GB Gigantic Page
|
|
allocation.
|
|
|
|
CXL capacity onlined in :code:`ZONE_MOVABLE` is not eligible for 1GB Gigantic
|
|
Page allocation.
|