[PATCH v2 0/2] x86/numa_emulation: Introduce uniform split capability

From: Dan Williams
Date: Fri Jul 06 2018 - 12:18:32 EST


Changes since v1 [1]:
* Fix a pair of compile errors in 32-bit builds for 64-bit divides.

[1]: https://lkml.org/lkml/2018/5/26/190

---

The current numa emulation capabilities for splitting System RAM by a
fixed size or by a set number of nodes may result in some nodes being
larger than others. The implementation prioritizes establishing a
minimum usable memory size over satisfying the requested number of numa
nodes.

Introduce a uniform split capability that evenly partitions each
physical numa node into N emulated nodes. For example numa=fake=3U
creates 6 emulated nodes total on a system that has 2 physical nodes.

This capability is useful for debugging and evaluating platform
memory-side-cache capabilities as described by the ACPI HMAT (see
5.2.27.5 Memory Side Cache Information Structure in ACPI 6.2a)

See more details in patch2.

---

Dan Williams (2):
x86/numa_emulation: Fix emulated-to-physical node mapping
x86/numa_emulation: Introduce uniform split capability


Documentation/x86/x86_64/boot-options.txt | 4 +
arch/x86/mm/numa_emulation.c | 107 ++++++++++++++++++++++++-----
2 files changed, 91 insertions(+), 20 deletions(-)