* Ritesh Harjani <[email protected]> [2026-07-10 09:34:55]: > Srikar Dronamraju <[email protected]> writes: > > > Make cpu_to_coregroup_id() available outside PPC_SPLPAR so it can be > > used by platforms that do not rely on the SPLPAR-specific VPHN path. > > > > Keep the existing fallback behavior by returning the core ID when > > coregroup information is unavailable. > > > > Looks like this mainly brings the cpu_to_coregroup_id() outside of > CONFIG_PPC_SPLPAR gate. >
Yes, thats the intent of the patch > > Signed-off-by: Srikar Dronamraju <[email protected]> > > --- > > Changelog from v1: > > - Handle comments from Christophe Leroy; Remove extern key word in > > declaration > > > > arch/powerpc/include/asm/topology.h | 15 +++++++-------- > > arch/powerpc/mm/numa.c | 22 ++++++++++++++++------ > > 2 files changed, 23 insertions(+), 14 deletions(-) > > > > diff --git a/arch/powerpc/include/asm/topology.h > > b/arch/powerpc/include/asm/topology.h > > index 66ed5fe1b718..385715f1ad56 100644 > > --- a/arch/powerpc/include/asm/topology.h > > +++ b/arch/powerpc/include/asm/topology.h > > @@ -71,6 +71,7 @@ extern void map_cpu_to_node(int cpu, int node); > > extern void unmap_cpu_from_node(unsigned long cpu); > > #endif /* CONFIG_HOTPLUG_CPU */ > > > > +int cpu_to_coregroup_id(int cpu); > > #else > > > > static inline int early_cpu_to_node(int cpu) { return 0; } > > @@ -107,14 +108,6 @@ static inline void map_cpu_to_node(int cpu, int node) > > {} > > static inline void unmap_cpu_from_node(unsigned long cpu) {} > > #endif /* CONFIG_HOTPLUG_CPU */ > > #endif /* CONFIG_SMP */ > > - > > -#endif /* CONFIG_NUMA */ > > - > > -#if defined(CONFIG_NUMA) && defined(CONFIG_PPC_SPLPAR) > > -void find_and_update_cpu_nid(int cpu); > > -extern int cpu_to_coregroup_id(int cpu); > > -#else > > -static inline void find_and_update_cpu_nid(int cpu) {} > > static inline int cpu_to_coregroup_id(int cpu) > > { > > #ifdef CONFIG_SMP > > @@ -124,6 +117,12 @@ static inline int cpu_to_coregroup_id(int cpu) > > #endif > > } > > > > +#endif /* CONFIG_NUMA */ > > + > > +#if defined(CONFIG_NUMA) && defined(CONFIG_PPC_SPLPAR) > > +void find_and_update_cpu_nid(int cpu); > > +#else > > +static inline void find_and_update_cpu_nid(int cpu) {} > > #endif /* CONFIG_NUMA && CONFIG_PPC_SPLPAR */ > > > > #include <asm-generic/topology.h> > > diff --git a/arch/powerpc/mm/numa.c b/arch/powerpc/mm/numa.c > > index c44a80d8fc11..9aa71eb7e96b 100644 > > --- a/arch/powerpc/mm/numa.c > > +++ b/arch/powerpc/mm/numa.c > > @@ -1428,6 +1428,21 @@ void find_and_update_cpu_nid(int cpu) > > pr_debug("%s:%d cpu %d nid %d\n", __func__, __LINE__, cpu, new_nid); > > } > > > > +static int topology_update_init(void) > > +{ > > + topology_inited = 1; > > + return 0; > > +} > > +device_initcall(topology_update_init); > > + > > +#else > > +static long vphn_get_associativity(unsigned long cpu, > > + __be32 *associativity) > > +{ > > + return -1; > > +} > > +#endif /* CONFIG_PPC_SPLPAR */ > > + > > int cpu_to_coregroup_id(int cpu) > > { > > __be32 associativity[VPHN_ASSOC_BUFSIZE] = {0}; > > @@ -1453,10 +1468,5 @@ int cpu_to_coregroup_id(int cpu) > > return cpu_to_core_id(cpu); > > } > > > > -static int topology_update_init(void) > > -{ > > - topology_inited = 1; > > - return 0; > > + return coregroup_id; > > } > > These above two lines seems to be out of any function scope. So applying > only patch-1 & patch-2 will give a compile error. This needs fixing. > Yes, will fix this > -ritesh > > > -device_initcall(topology_update_init); > > -#endif /* CONFIG_PPC_SPLPAR */ > > -- > > 2.43.0 -- Thanks and Regards Srikar Dronamraju
