diff options
Diffstat (limited to 'arch/powerpc/mm/numa.c')
-rw-r--r-- | arch/powerpc/mm/numa.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/arch/powerpc/mm/numa.c b/arch/powerpc/mm/numa.c index 88c0425dc0a8..08397217e8ac 100644 --- a/arch/powerpc/mm/numa.c +++ b/arch/powerpc/mm/numa.c | |||
@@ -516,7 +516,7 @@ static int of_drconf_to_nid_single(struct of_drconf_cell *drmem, | |||
516 | * Figure out to which domain a cpu belongs and stick it there. | 516 | * Figure out to which domain a cpu belongs and stick it there. |
517 | * Return the id of the domain used. | 517 | * Return the id of the domain used. |
518 | */ | 518 | */ |
519 | static int __cpuinit numa_setup_cpu(unsigned long lcpu) | 519 | static int numa_setup_cpu(unsigned long lcpu) |
520 | { | 520 | { |
521 | int nid = 0; | 521 | int nid = 0; |
522 | struct device_node *cpu = of_get_cpu_node(lcpu, NULL); | 522 | struct device_node *cpu = of_get_cpu_node(lcpu, NULL); |
@@ -538,8 +538,7 @@ out: | |||
538 | return nid; | 538 | return nid; |
539 | } | 539 | } |
540 | 540 | ||
541 | static int __cpuinit cpu_numa_callback(struct notifier_block *nfb, | 541 | static int cpu_numa_callback(struct notifier_block *nfb, unsigned long action, |
542 | unsigned long action, | ||
543 | void *hcpu) | 542 | void *hcpu) |
544 | { | 543 | { |
545 | unsigned long lcpu = (unsigned long)hcpu; | 544 | unsigned long lcpu = (unsigned long)hcpu; |
@@ -919,7 +918,7 @@ static void __init *careful_zallocation(int nid, unsigned long size, | |||
919 | return ret; | 918 | return ret; |
920 | } | 919 | } |
921 | 920 | ||
922 | static struct notifier_block __cpuinitdata ppc64_numa_nb = { | 921 | static struct notifier_block ppc64_numa_nb = { |
923 | .notifier_call = cpu_numa_callback, | 922 | .notifier_call = cpu_numa_callback, |
924 | .priority = 1 /* Must run before sched domains notifier. */ | 923 | .priority = 1 /* Must run before sched domains notifier. */ |
925 | }; | 924 | }; |
@@ -1433,11 +1432,9 @@ static int update_cpu_topology(void *data) | |||
1433 | if (cpu != update->cpu) | 1432 | if (cpu != update->cpu) |
1434 | continue; | 1433 | continue; |
1435 | 1434 | ||
1436 | unregister_cpu_under_node(update->cpu, update->old_nid); | ||
1437 | unmap_cpu_from_node(update->cpu); | 1435 | unmap_cpu_from_node(update->cpu); |
1438 | map_cpu_to_node(update->cpu, update->new_nid); | 1436 | map_cpu_to_node(update->cpu, update->new_nid); |
1439 | vdso_getcpu_init(); | 1437 | vdso_getcpu_init(); |
1440 | register_cpu_under_node(update->cpu, update->new_nid); | ||
1441 | } | 1438 | } |
1442 | 1439 | ||
1443 | return 0; | 1440 | return 0; |
@@ -1485,6 +1482,9 @@ int arch_update_cpu_topology(void) | |||
1485 | stop_machine(update_cpu_topology, &updates[0], &updated_cpus); | 1482 | stop_machine(update_cpu_topology, &updates[0], &updated_cpus); |
1486 | 1483 | ||
1487 | for (ud = &updates[0]; ud; ud = ud->next) { | 1484 | for (ud = &updates[0]; ud; ud = ud->next) { |
1485 | unregister_cpu_under_node(ud->cpu, ud->old_nid); | ||
1486 | register_cpu_under_node(ud->cpu, ud->new_nid); | ||
1487 | |||
1488 | dev = get_cpu_device(ud->cpu); | 1488 | dev = get_cpu_device(ud->cpu); |
1489 | if (dev) | 1489 | if (dev) |
1490 | kobject_uevent(&dev->kobj, KOBJ_CHANGE); | 1490 | kobject_uevent(&dev->kobj, KOBJ_CHANGE); |