diff options
author | Nathan Lynch <nathanl@austin.ibm.com> | 2006-03-21 01:37:15 +0100 |
---|---|---|
committer | Paul Mackerras <paulus@samba.org> | 2006-03-22 05:04:03 +0100 |
commit | 2b2612272c77288b2bd53d5831df737cd669cd93 (patch) | |
tree | 551588d4f4709c39e5e0176b81ed5138722e3458 /arch/powerpc/mm/numa.c | |
parent | [PATCH] powerpc numa: Support sparse online node map (diff) | |
download | linux-2b2612272c77288b2bd53d5831df737cd669cd93.tar.xz linux-2b2612272c77288b2bd53d5831df737cd669cd93.zip |
[PATCH] powerpc numa: Consolidate assignment of cpus to nodes
We can plug the boot cpu into its node independently of whether numa
topology is detected. And numa_setup_cpu does the right thing for all
cases now, so remove special-casing for non-numa from the cpu hotplug
callback.
Signed-off-by: Nathan Lynch <nathanl@austin.ibm.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
Diffstat (limited to 'arch/powerpc/mm/numa.c')
-rw-r--r-- | arch/powerpc/mm/numa.c | 10 |
1 files changed, 3 insertions, 7 deletions
diff --git a/arch/powerpc/mm/numa.c b/arch/powerpc/mm/numa.c index 7d6ebe3c3b9b..e89b22aa539e 100644 --- a/arch/powerpc/mm/numa.c +++ b/arch/powerpc/mm/numa.c @@ -321,10 +321,7 @@ static int cpu_numa_callback(struct notifier_block *nfb, switch (action) { case CPU_UP_PREPARE: - if (min_common_depth == -1 || !numa_enabled) - map_cpu_to_node(lcpu, 0); - else - numa_setup_cpu(lcpu); + numa_setup_cpu(lcpu); ret = NOTIFY_OK; break; #ifdef CONFIG_HOTPLUG_CPU @@ -459,8 +456,6 @@ new_range: goto new_range; } - numa_setup_cpu(boot_cpuid); - return 0; } @@ -475,7 +470,6 @@ static void __init setup_nonnuma(void) printk(KERN_INFO "Memory hole size: %ldMB\n", (top_of_ram - total_ram) >> 20); - map_cpu_to_node(boot_cpuid, 0); for (i = 0; i < lmb.memory.cnt; ++i) add_region(0, lmb.memory.region[i].base >> PAGE_SHIFT, lmb_size_pages(&lmb.memory, i)); @@ -612,6 +606,8 @@ void __init do_init_bootmem(void) dump_numa_memory_topology(); register_cpu_notifier(&ppc64_numa_nb); + cpu_numa_callback(&ppc64_numa_nb, CPU_UP_PREPARE, + (void *)(unsigned long)boot_cpuid); for_each_online_node(nid) { unsigned long start_pfn, end_pfn, pages_present; |