diff options
author | David Rientjes <rientjes@google.com> | 2007-07-21 11:11:30 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-07-21 21:37:14 -0400 |
commit | 1c05f093c0721894bb60fd26d174815bb7ef2b7f (patch) | |
tree | 894664754fadfa42ef0d841420574b8cde451a5b /arch/x86_64/mm | |
parent | a7e96629efcab1ccea3a376f3f5683c8d9e882c1 (diff) |
x86_64: disable srat when numa emulation succeeds
When NUMA emulation succeeds, acpi_numa needs to be set to -1 so that
srat_disabled() will always return true. We won't be calling
acpi_scan_nodes() or registering the true nodes we've found.
[hugh@veritas.com: Fix x86_64 CONFIG_NUMA_EMU build: acpi_numa needs CONFIG_ACPI_NUMA]
Signed-off-by: David Rientjes <rientjes@google.com>
Cc: Len Brown <lenb@kernel.org>
Signed-off-by: Hugh Dickins <hugh@veritas.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'arch/x86_64/mm')
-rw-r--r-- | arch/x86_64/mm/numa.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/arch/x86_64/mm/numa.c b/arch/x86_64/mm/numa.c index 0191b1ca6aa4..6da235522269 100644 --- a/arch/x86_64/mm/numa.c +++ b/arch/x86_64/mm/numa.c | |||
@@ -473,9 +473,13 @@ out: | |||
473 | 473 | ||
474 | /* | 474 | /* |
475 | * We need to vacate all active ranges that may have been registered by | 475 | * We need to vacate all active ranges that may have been registered by |
476 | * SRAT. | 476 | * SRAT and set acpi_numa to -1 so that srat_disabled() always returns |
477 | * true. NUMA emulation has succeeded so we will not scan ACPI nodes. | ||
477 | */ | 478 | */ |
478 | remove_all_active_ranges(); | 479 | remove_all_active_ranges(); |
480 | #ifdef CONFIG_ACPI_NUMA | ||
481 | acpi_numa = -1; | ||
482 | #endif | ||
479 | for_each_node_mask(i, node_possible_map) { | 483 | for_each_node_mask(i, node_possible_map) { |
480 | e820_register_active_regions(i, nodes[i].start >> PAGE_SHIFT, | 484 | e820_register_active_regions(i, nodes[i].start >> PAGE_SHIFT, |
481 | nodes[i].end >> PAGE_SHIFT); | 485 | nodes[i].end >> PAGE_SHIFT); |