S390 To Get "Fake NUMA" / NUMA Emulation In Linux 4.3
Martin Schwidefsky sent in the s390 patches for Linux 4.3 and there he mentioned the main highlight being this "fake NUMA" (Non-Unified Memory Architecture) support. "The big one is support for fake NUMA, splitting a really large machine in more manageable piece improves performance in some cases, e.g. for a KVM host."
For those interested in this fake/emulated NUMA support for S390 in Linux, here's the commit explaining it:
NUMA emulation (aka fake NUMA) distributes the available memory to nodes without using real topology information about the physical memory of the machine.While most Phoronix readers don't have access to s390 systems, there is a lot of other exciting stuff that will land for Linux 4.3.
Splitting the system memory into nodes replicates the memory management structures for each node. Particularly each node has its own "mm locks" and its own "kswapd" task.
For large systems, under certain conditions, this results in improved system performance and/or latency based on reduced pressure on the mm locks and the kswapd tasks.
NUMA emulation distributes CPUs to nodes while respecting the original machine topology information. This is done by trying to avoid to separate CPUs which reside on the same book or even on the same MC. Because the current Linux scheduler code requires a stable cpu to node mapping, cores are pinned to nodes when the first CPU thread is set online.