Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

cxl: docs/allocation/hugepages

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>

authored by

Gregory Price and committed by
Dave Jiang
df63e012 f109e77d

+33
+32
Documentation/driver-api/cxl/allocation/hugepages.rst
··· 1 + .. SPDX-License-Identifier: GPL-2.0 2 + 3 + ========== 4 + Huge Pages 5 + ========== 6 + 7 + Contiguous Memory Allocator 8 + =========================== 9 + CXL Memory onlined as SystemRAM during early boot is eligible for use by CMA, 10 + as the NUMA node hosting that capacity will be `Online` at the time CMA 11 + carves out contiguous capacity. 12 + 13 + CXL Memory deferred to the CXL Driver for configuration cannot have its 14 + capacity allocated by CMA - as the NUMA node hosting the capacity is `Offline` 15 + at :code:`__init` time - when CMA carves out contiguous capacity. 16 + 17 + HugeTLB 18 + ======= 19 + Different huge page sizes allow different memory configurations. 20 + 21 + 2MB Huge Pages 22 + -------------- 23 + All CXL capacity regardless of configuration time or memory zone is eligible 24 + for use as 2MB huge pages. 25 + 26 + 1GB Huge Pages 27 + -------------- 28 + CXL capacity onlined in :code:`ZONE_NORMAL` is eligible for 1GB Gigantic Page 29 + allocation. 30 + 31 + CXL capacity onlined in :code:`ZONE_MOVABLE` is not eligible for 1GB Gigantic 32 + Page allocation.
+1
Documentation/driver-api/cxl/index.rst
··· 47 47 allocation/dax 48 48 allocation/page-allocator 49 49 allocation/reclaim 50 + allocation/hugepages.rst 50 51 51 52 .. only:: subproject and html