Hi Nathan, On 26.08.2014 [08:10:14 -0500], Nathan Fontenot wrote: > On 08/25/2014 02:22 AM, Li Zhong wrote: > > With commit 2fabf084b, during boottime, cpu_numa_callback() is called > > earlier(before their online) for each cpu, and verify_cpu_node_mapping() > > uses cpu_to_node() to check whether siblings are in the same node. > > > > It skips the checking for siblings that are not online yet. So the only > > check done here is for the bootcpu, which is online at that time. But > > the per-cpu numa_node cpu_to_node() uses hasn't been set up yet (which > > will be set up in smp_prepare_cpus()). > > > > So I saw something like following reported: > > [ 0.000000] CPU thread siblings 1/2/3 and 0 don't belong to the same > > node! > > > > As we don't actually do the checking during this early stage, so maybe > > we could directly call numa_setup_cpu() in do_init_bootmem(). > > > > Also, as Nish suggested, here it's better to use present cpu mask > > instead of possible mask to avoid warning in numa_setup_cpu(). > > > > Signed-off-by: Li Zhong <zh...@linux.vnet.ibm.com> > > --- > > diff --git a/arch/powerpc/mm/numa.c b/arch/powerpc/mm/numa.c > > index d7737a5..3a9061e 100644 > > --- a/arch/powerpc/mm/numa.c > > +++ b/arch/powerpc/mm/numa.c > > @@ -1127,9 +1127,8 @@ void __init do_init_bootmem(void) > > * even before we online them, so that we can use cpu_to_{node,mem} > > * early in boot, cf. smp_prepare_cpus(). > > */ > > - for_each_possible_cpu(cpu) { > > - cpu_numa_callback(&ppc64_numa_nb, CPU_UP_PREPARE, > > - (void *)(unsigned long)cpu); > > + for_each_present_cpu(cpu) { > > + numa_setup_cpu((unsigned long)cpu); > > } > > } > > > > I am getting the following error on my system booting with this patch.
With the patch below, you don't get the error, I assume? Does it boot fully in that case? -Nish _______________________________________________ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev