Node 0 not necessary for powerpc?
David Rientjes
rientjes at google.com
Tue Jun 10 07:47:57 EST 2014
On Wed, 21 May 2014, Nishanth Aravamudan wrote:
> For context: I was looking at why N_ONLINE was statically setting Node 0
> to be online, whether or not the topology is that way -- I've been
> getting several bugs lately where Node 0 is online, but has no CPUs and
> no memory on it, on powerpc.
>
> On powerpc, setup_per_cpu_areas calls into ___alloc_bootmem_node using
> NODE_DATA(cpu_to_node(cpu)).
>
> Currently, cpu_to_node() in arch/powerpc/include/asm/topology.h does:
>
> /*
> * During early boot, the numa-cpu lookup table might not have been
> * setup for all CPUs yet. In such cases, default to node 0.
> */
> return (nid < 0) ? 0 : nid;
>
> And so early at boot, if node 0 is not present, we end up accessing an
> unitialized NODE_DATA(). So this seems buggy (I'll contact the powerpc
> deveopers separately on that).
>
I think what this really wants to do is NODE_DATA(cpu_to_mem(cpu)) and I
thought ppc had the cpu-to-local-memory-node mappings correct?
More information about the Linuxppc-dev
mailing list