Commit df63e012 authored by Gregory Price's avatar Gregory Price Committed by Dave Jiang
Browse files

cxl: docs/allocation/hugepages



Add docs on how CXL capacity interacts with CMA and HugeTLB allocation
interfaces.

Signed-off-by: default avatarGregory Price <gourry@gourry.net>
Link: https://patch.msgid.link/20250512162134.3596150-17-gourry@gourry.net


Signed-off-by: default avatarDave Jiang <dave.jiang@intel.com>
parent f109e77d
Loading
Loading
Loading
Loading
+32 −0
Original line number Diff line number Diff line
.. 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.
+1 −0
Original line number Diff line number Diff line
@@ -47,5 +47,6 @@ that have impacts on each other. The docs here break up configurations steps.
   allocation/dax
   allocation/page-allocator
   allocation/reclaim
   allocation/hugepages.rst

.. only::  subproject and html