Commit 2b261227 authored by Nathan Lynch's avatar Nathan Lynch Committed by Paul Mackerras

[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: default avatarNathan Lynch <nathanl@austin.ibm.com>
Signed-off-by: default avatarPaul Mackerras <paulus@samba.org>
parent 482ec7c4
...@@ -321,10 +321,7 @@ static int cpu_numa_callback(struct notifier_block *nfb, ...@@ -321,10 +321,7 @@ static int cpu_numa_callback(struct notifier_block *nfb,
switch (action) { switch (action) {
case CPU_UP_PREPARE: case CPU_UP_PREPARE:
if (min_common_depth == -1 || !numa_enabled) numa_setup_cpu(lcpu);
map_cpu_to_node(lcpu, 0);
else
numa_setup_cpu(lcpu);
ret = NOTIFY_OK; ret = NOTIFY_OK;
break; break;
#ifdef CONFIG_HOTPLUG_CPU #ifdef CONFIG_HOTPLUG_CPU
...@@ -459,8 +456,6 @@ new_range: ...@@ -459,8 +456,6 @@ new_range:
goto new_range; goto new_range;
} }
numa_setup_cpu(boot_cpuid);
return 0; return 0;
} }
...@@ -475,7 +470,6 @@ static void __init setup_nonnuma(void) ...@@ -475,7 +470,6 @@ static void __init setup_nonnuma(void)
printk(KERN_INFO "Memory hole size: %ldMB\n", printk(KERN_INFO "Memory hole size: %ldMB\n",
(top_of_ram - total_ram) >> 20); (top_of_ram - total_ram) >> 20);
map_cpu_to_node(boot_cpuid, 0);
for (i = 0; i < lmb.memory.cnt; ++i) for (i = 0; i < lmb.memory.cnt; ++i)
add_region(0, lmb.memory.region[i].base >> PAGE_SHIFT, add_region(0, lmb.memory.region[i].base >> PAGE_SHIFT,
lmb_size_pages(&lmb.memory, i)); lmb_size_pages(&lmb.memory, i));
...@@ -612,6 +606,8 @@ void __init do_init_bootmem(void) ...@@ -612,6 +606,8 @@ void __init do_init_bootmem(void)
dump_numa_memory_topology(); dump_numa_memory_topology();
register_cpu_notifier(&ppc64_numa_nb); 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) { for_each_online_node(nid) {
unsigned long start_pfn, end_pfn, pages_present; unsigned long start_pfn, end_pfn, pages_present;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment