From: Srikar Dronamraju <srikar@linux.ibm.com>
To: Ritesh Harjani <ritesh.list@gmail.com>
Cc: linuxppc-dev <linuxppc-dev@lists.ozlabs.org>,
Madhavan Srinivasan <maddy@linux.ibm.com>,
Michael Ellerman <mpe@ellerman.id.au>,
Nicholas Piggin <npiggin@gmail.com>,
Christophe Leroy <christophe.leroy@csgroup.eu>,
Naveen N Rao <naveen@kernel.org>,
skiboot@lists.ozlabs.org, arbab@linux.ibm.com,
mahesh@linux.ibm.com, chleroy@kernel.org,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH v2 2/3] powerpc/numa: Allow cpu_to_coregroup_id without PPC_SPLPAR
Date: Tue, 14 Jul 2026 14:59:42 +0530 [thread overview]
Message-ID: <alYBhu2wN0QeXJB0@linux.ibm.com> (raw)
In-Reply-To: <wlv3v6ag.ritesh.list@gmail.com>
* Ritesh Harjani <ritesh.list@gmail.com> [2026-07-10 09:34:55]:
> Srikar Dronamraju <srikar@linux.ibm.com> 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 <srikar@linux.ibm.com>
> > ---
> > 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
next prev parent reply other threads:[~2026-07-14 9:30 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <20260605055242.1757485-5-srikar@linux.ibm.com>
2026-06-05 5:52 ` [PATCH v2 1/3] powerpc/numa: Simplify find_primary_domain_index Srikar Dronamraju
2026-07-10 4:03 ` Ritesh Harjani
2026-06-05 5:52 ` [PATCH v2 2/3] powerpc/numa: Allow cpu_to_coregroup_id without PPC_SPLPAR Srikar Dronamraju
2026-07-10 4:04 ` Ritesh Harjani
2026-07-14 9:29 ` Srikar Dronamraju [this message]
2026-06-05 5:52 ` [PATCH v2 3/3] powerpc/numa: Support coregroup on PowerNV Srikar Dronamraju
2026-07-10 5:48 ` Ritesh Harjani
2026-07-14 9:28 ` Srikar Dronamraju
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=alYBhu2wN0QeXJB0@linux.ibm.com \
--to=srikar@linux.ibm.com \
--cc=arbab@linux.ibm.com \
--cc=chleroy@kernel.org \
--cc=christophe.leroy@csgroup.eu \
--cc=linux-kernel@vger.kernel.org \
--cc=linuxppc-dev@lists.ozlabs.org \
--cc=maddy@linux.ibm.com \
--cc=mahesh@linux.ibm.com \
--cc=mpe@ellerman.id.au \
--cc=naveen@kernel.org \
--cc=npiggin@gmail.com \
--cc=ritesh.list@gmail.com \
--cc=skiboot@lists.ozlabs.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox