Commit 2c0a33f9 authored by Nishanth Aravamudan's avatar Nishanth Aravamudan Committed by Michael Ellerman

powerpc/numa: ensure per-cpu NUMA mappings are correct on topology update

We received a report of warning in kernel/sched/core.c where the sched
group was NULL on an LPAR after a topology update. This seems to occur
because after the topology update has moved the CPUs, cpu_to_node is
returning the old value still, which ends up breaking the consistency of
the NUMA topology in the per-cpu maps. Ensure that we update the per-cpu
fields when we re-map CPUs.
Signed-off-by: default avatarNishanth Aravamudan <nacc@linux.vnet.ibm.com>
Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
parent 49f8d8c0
...@@ -1509,11 +1509,14 @@ static int update_cpu_topology(void *data) ...@@ -1509,11 +1509,14 @@ static int update_cpu_topology(void *data)
cpu = smp_processor_id(); cpu = smp_processor_id();
for (update = data; update; update = update->next) { for (update = data; update; update = update->next) {
int new_nid = update->new_nid;
if (cpu != update->cpu) if (cpu != update->cpu)
continue; continue;
unmap_cpu_from_node(cpu); unmap_cpu_from_node(cpu);
map_cpu_to_node(cpu, update->new_nid); map_cpu_to_node(cpu, new_nid);
set_cpu_numa_node(cpu, new_nid);
set_cpu_numa_mem(cpu, local_memory_node(new_nid));
vdso_getcpu_init(); vdso_getcpu_init();
} }
......
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