[PATCH] powerpc numa: Consolidate assignment of cpus to nodes
authorNathan Lynch <nathanl@austin.ibm.com>
Tue, 21 Mar 2006 00:37:15 +0000 (18:37 -0600)
committerPaul Mackerras <paulus@samba.org>
Wed, 22 Mar 2006 04:04:03 +0000 (15:04 +1100)
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>
arch/powerpc/mm/numa.c

index 7d6ebe3c3b9ba43a560cd9c61ac077e567dd8569..e89b22aa539e477e79ad9dc26181d09aa19e859a 100644 (file)
@@ -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;