aboutsummaryrefslogtreecommitdiffstats
path: root/arch/s390/include/asm/numa.h
diff options
context:
space:
mode:
authorMichael Holzheu <holzheu@linux.vnet.ibm.com>2014-03-06 18:47:21 +0100
committerMartin Schwidefsky <schwidefsky@de.ibm.com>2015-08-04 14:06:53 +0200
commitc29a7baf091fc6b2c9e40561030f8c62e6145a19 (patch)
treedfddc7a273858c32c9946857bfff2dc7779e64a9 /arch/s390/include/asm/numa.h
parents390/numa: add topology tree infrastructure (diff)
downloadlinux-dev-c29a7baf091fc6b2c9e40561030f8c62e6145a19.tar.xz
linux-dev-c29a7baf091fc6b2c9e40561030f8c62e6145a19.zip
s390/numa: add emulation support
NUMA emulation (aka fake NUMA) distributes the available memory to nodes without using real topology information about the physical memory of the machine. 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. This patch is based on the initial implementation from Philipp Hachtmann. Signed-off-by: Michael Holzheu <holzheu@linux.vnet.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Diffstat (limited to 'arch/s390/include/asm/numa.h')
-rw-r--r--arch/s390/include/asm/numa.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/arch/s390/include/asm/numa.h b/arch/s390/include/asm/numa.h
index ea4edbfba9f6..2a0efc63b9e5 100644
--- a/arch/s390/include/asm/numa.h
+++ b/arch/s390/include/asm/numa.h
@@ -26,6 +26,10 @@ extern int numa_debug_enabled;
static inline void numa_setup(void) { }
static inline void numa_update_cpu_topology(void) { }
+static inline int numa_pfn_to_nid(unsigned long pfn)
+{
+ return 0;
+}
#endif /* CONFIG_NUMA */
#endif /* _ASM_S390_NUMA_H */