aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMel Gorman <mgorman@suse.de>2015-05-14 15:17:09 -0700
committerJiri Slaby <jslaby@suse.cz>2015-06-03 11:33:13 +0200
commitcaf4b0e71fe36cdfb9cafd01fd55da3a086f82cd (patch)
tree588498696873c2049d5e3819480e42f68ddafb5f
parent3968c39b59983259024faaf0746ab9a122c81e7e (diff)
mm, numa: really disable NUMA balancing by default on single node machines
commit b0dc2b9bb4ab782115b964310518ee0b17784277 upstream. NUMA balancing is meant to be disabled by default on UMA machines but the check is using nr_node_ids (highest node) instead of num_online_nodes (online nodes). The consequences are that a UMA machine with a node ID of 1 or higher will enable NUMA balancing. This will incur useless overhead due to minor faults with the impact depending on the workload. These are the impact on the stats when running a kernel build on a single node machine whose node ID happened to be 1: vanilla patched NUMA base PTE updates 5113158 0 NUMA huge PMD updates 643 0 NUMA page range updates 5442374 0 NUMA hint faults 2109622 0 NUMA hint local faults 2109622 0 NUMA hint local percent 100 100 NUMA pages migrated 0 0 Signed-off-by: Mel Gorman <mgorman@suse.de> Reviewed-by: Rik van Riel <riel@redhat.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> Signed-off-by: Jiri Slaby <jslaby@suse.cz>
-rw-r--r--mm/mempolicy.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/mm/mempolicy.c b/mm/mempolicy.c
index e63ade49ea24..51cd7d066e0f 100644
--- a/mm/mempolicy.c
+++ b/mm/mempolicy.c
@@ -2589,7 +2589,7 @@ static void __init check_numabalancing_enable(void)
if (numabalancing_override)
set_numabalancing_state(numabalancing_override == 1);
- if (nr_node_ids > 1 && !numabalancing_override) {
+ if (num_online_nodes() > 1 && !numabalancing_override) {
printk(KERN_INFO "%s automatic NUMA balancing. "
"Configure with numa_balancing= or sysctl",
numabalancing_default ? "Enabling" : "Disabling");