aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNathan Lynch <nathanl@austin.ibm.com>2006-03-20 19:37:15 -0500
committerPaul Mackerras <paulus@samba.org>2006-03-21 23:04:03 -0500
commit2b2612272c77288b2bd53d5831df737cd669cd93 (patch)
tree551588d4f4709c39e5e0176b81ed5138722e3458
parent482ec7c403d239bb4f1732faf9a14988094ce08b (diff)
[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>
-rw-r--r--arch/powerpc/mm/numa.c10
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,
321 321
322 switch (action) { 322 switch (action) {
323 case CPU_UP_PREPARE: 323 case CPU_UP_PREPARE:
324 if (min_common_depth == -1 || !numa_enabled) 324 numa_setup_cpu(lcpu);
325 map_cpu_to_node(lcpu, 0);
326 else
327 numa_setup_cpu(lcpu);
328 ret = NOTIFY_OK; 325 ret = NOTIFY_OK;
329 break; 326 break;
330#ifdef CONFIG_HOTPLUG_CPU 327#ifdef CONFIG_HOTPLUG_CPU
@@ -459,8 +456,6 @@ new_range:
459 goto new_range; 456 goto new_range;
460 } 457 }
461 458
462 numa_setup_cpu(boot_cpuid);
463
464 return 0; 459 return 0;
465} 460}
466 461
@@ -475,7 +470,6 @@ static void __init setup_nonnuma(void)
475 printk(KERN_INFO "Memory hole size: %ldMB\n", 470 printk(KERN_INFO "Memory hole size: %ldMB\n",
476 (top_of_ram - total_ram) >> 20); 471 (top_of_ram - total_ram) >> 20);
477 472
478 map_cpu_to_node(boot_cpuid, 0);
479 for (i = 0; i < lmb.memory.cnt; ++i) 473 for (i = 0; i < lmb.memory.cnt; ++i)
480 add_region(0, lmb.memory.region[i].base >> PAGE_SHIFT, 474 add_region(0, lmb.memory.region[i].base >> PAGE_SHIFT,
481 lmb_size_pages(&lmb.memory, i)); 475 lmb_size_pages(&lmb.memory, i));
@@ -612,6 +606,8 @@ void __init do_init_bootmem(void)
612 dump_numa_memory_topology(); 606 dump_numa_memory_topology();
613 607
614 register_cpu_notifier(&ppc64_numa_nb); 608 register_cpu_notifier(&ppc64_numa_nb);
609 cpu_numa_callback(&ppc64_numa_nb, CPU_UP_PREPARE,
610 (void *)(unsigned long)boot_cpuid);
615 611
616 for_each_online_node(nid) { 612 for_each_online_node(nid) {
617 unsigned long start_pfn, end_pfn, pages_present; 613 unsigned long start_pfn, end_pfn, pages_present;