mm, numa: really disable NUMA balancing by default on single node machines
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> Cc: <stable@vger.kernel.org> [3.8+] Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
b77017555c
commit
b0dc2b9bb4
|
@ -2518,7 +2518,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) {
|
||||
pr_info("%s automatic NUMA balancing. "
|
||||
"Configure with numa_balancing= or the "
|
||||
"kernel.numa_balancing sysctl",
|
||||
|
|
Loading…
Reference in New Issue
Block a user