On Thu, Aug 18, 2016 at 09:09:26PM +0800, zhongjiang wrote:
> At present, boot cpu will bound to a node from device tree when node_off 
> enable.
> if the node is not initialization, it will lead to a following problem.
> 
>  next_zones_zonelist+0x18/0x80
>  __build_all_zonelists+0x1e0/0x288
>  build_all_zonelists_init+0x10/0x1c
>  build_all_zonelists+0x114/0x128
>  start_kernel+0x1a0/0x414

I think this "problem" is missing a lot of information. Is this supposed
to be a kernel panic?

> The patch fix it by fallback to node 0. therefore, the cpu will bound to the 
> node
> correctly.
> 
> Signed-off-by: zhongjiang <[email protected]>
> ---
>  arch/arm64/mm/numa.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/arch/arm64/mm/numa.c b/arch/arm64/mm/numa.c
> index 4dcd7d6..1f8f5da 100644
> --- a/arch/arm64/mm/numa.c
> +++ b/arch/arm64/mm/numa.c
> @@ -119,7 +119,7 @@ void numa_store_cpu_info(unsigned int cpu)
>  void __init early_map_cpu_to_node(unsigned int cpu, int nid)
>  {
>       /* fallback to node 0 */
> -     if (nid < 0 || nid >= MAX_NUMNODES)
> +     if (nid < 0 || nid >= MAX_NUMNODES || numa_off)
>               nid = 0;
>  
>       cpu_to_node_map[cpu] = nid;

The patch looks fine (slight inconsistence from the map_cpu_to_node()
callers but I guess we don't want to expose numa_off outside this file).
I would however like to see an Ack from Ganapat (cc'ed).

-- 
Catalin

Reply via email to