[PATCH] mm, numa: boot cpu should bound to the node0 when node_off enable

Catalin Marinas catalin.marinas at arm.com
Thu Aug 18 09:04:37 PDT 2016


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 <zhongjiang at huawei.com>
> ---
>  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



More information about the linux-arm-kernel mailing list