[PATCH 1/2] powerpc/numa: Return the first online node instead of 0
Srikar Dronamraju
srikar at linux.vnet.ibm.com
Fri Jun 24 18:39:59 AEST 2022
* Aneesh Kumar K.V <aneesh.kumar at linux.ibm.com> [2022-06-23 18:24:41]:
> If early cpu to node mapping finds an invalid node id, return
> the first online node instead of node 0.
>
> With commit e75130f20b1f ("powerpc/numa: Offline memoryless cpuless node 0")
> the kernel marks node 0 offline in certain scenarios.
>
> Signed-off-by: Aneesh Kumar K.V <aneesh.kumar at linux.ibm.com>
> ---
> arch/powerpc/include/asm/topology.h | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/arch/powerpc/include/asm/topology.h b/arch/powerpc/include/asm/topology.h
> index 8a4d4f4d9749..704088b1d53c 100644
> --- a/arch/powerpc/include/asm/topology.h
> +++ b/arch/powerpc/include/asm/topology.h
> @@ -60,7 +60,7 @@ static inline int early_cpu_to_node(int cpu)
> * Fall back to node 0 if nid is unset (it should be, except bugs).
> * This allows callers to safely do NODE_DATA(early_cpu_to_node(cpu)).
> */
> - return (nid < 0) ? 0 : nid;
> + return (nid < 0) ? first_online_node : nid;
Looks good but just two queries.
1. Is there a possibility of early_cpu_to_node() being called before any
node is online?
2. first_online_node is actually not a variable, it returns the lowest
online node. Right? If lets a early_cpu_to_node() for the same CPU across a
node online/offline may end up giving two different nids. Right?
> }
>
> int of_drconf_to_nid_single(struct drmem_lmb *lmb);
> --
> 2.36.1
>
--
Thanks and Regards
Srikar Dronamraju
More information about the Linuxppc-dev
mailing list