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(-)