[RFC PATCH 2/3] acpi/numa: add CONFIG_ACPI_NUMA_STANDBY_NODES
From: Gregory Price
Date: Tue Jun 09 2026 - 21:46:12 EST
Some platforms want to reserve empty NUMA nodes at boot so that drivers
can later place hotplugged memory on distinct nodes for memory tiering
or isolation, without those nodes being described by BIOS.
Add CONFIG_ACPI_NUMA_STANDBY_NODES, a platform-independent count of empty
nodes to reserve.
Deferring standby node creation until after NUMA emulation runs keeps
old numbering behaviors consistent for NUMA emulation users.
Signed-off-by: Gregory Price <gourry@xxxxxxxxxx>
---
drivers/acpi/numa/Kconfig | 15 +++++++++++++++
drivers/acpi/numa/srat.c | 3 +++
2 files changed, 18 insertions(+)
diff --git a/drivers/acpi/numa/Kconfig b/drivers/acpi/numa/Kconfig
index f33194d1e43f..ecf27bf45e5b 100644
--- a/drivers/acpi/numa/Kconfig
+++ b/drivers/acpi/numa/Kconfig
@@ -13,3 +13,18 @@ config ACPI_HMAT
register memory initiators with their targets, and export
performance attributes through the node's sysfs device if
provided.
+
+config ACPI_NUMA_STANDBY_NODES
+ int "Additional standby NUMA nodes for runtime claiming"
+ depends on ACPI_NUMA
+ range 0 16
+ default 0
+ help
+ Number of additional empty NUMA nodes to reserve at boot for
+ runtime claiming via numa_request_exclusive_node().
+
+ These nodes have no memory and no SRAT PXM association.
+ Drivers can claim them to place hotplugged memory on distinct
+ NUMA nodes for memory tiering or isolation purposes.
+
+ Set to 0 (default) to disable.
diff --git a/drivers/acpi/numa/srat.c b/drivers/acpi/numa/srat.c
index 62d4a8df0b8c..d7b0e4ece610 100644
--- a/drivers/acpi/numa/srat.c
+++ b/drivers/acpi/numa/srat.c
@@ -664,6 +664,9 @@ int __init acpi_numa_init(void)
return cnt;
else if (!parsed_numa_memblks)
return -ENOENT;
+
+ /* Request any standby nodes (created after numa emulation) */
+ numa_request_standby_count(CONFIG_ACPI_NUMA_STANDBY_NODES);
return 0;
}
--
2.54.0