Re: [PATCH v4 01/14] MIPS: CPS: Add a couple of multi-cluster utility functions
From: Thomas Bogendoerfer
Date: Tue Jul 09 2024 - 04:56:34 EST
On Sat, May 11, 2024 at 12:43:28PM +0200, Aleksandar Rikalo wrote:
> From: Paul Burton <paulburton@xxxxxxxxxx>
>
> This patch introduces a couple of utility functions which help later
> patches with introducing support for multi-cluster systems.
>
> - mips_cps_multicluster_cpus() allows its caller to determine whether
> the system includes CPUs spread across multiple clusters. This is
> useful because in some cases behaviour can be more optimal taking
> this knowledge into account. The means by which we check this is
> dependent upon the way we probe CPUs & assign their numbers, so
> keeping this knowledge confined here in arch/mips/ seems appropriate.
>
> - mips_cps_first_online_in_cluster() allows its caller to determine
> whether it is running upon the first CPU online within its cluster.
> This information is useful in cases where some cluster-wide
> configuration may need to occur, but should not be repeated if
> another CPU in the cluster is already online. Similarly to the above
> this is determined based upon knowledge of CPU numbering so it makes
> sense to keep that knowledge in arch/mips/. The function is defined
> in mips-cm.c rather than in asm/mips-cps.h in order to allow us to
> use asm/cpu-info.h & linux/smp.h without encountering an include
> nightmare.
>
> Signed-off-by: Paul Burton <paulburton@xxxxxxxxxx>
> Signed-off-by: Chao-ying Fu <cfu@xxxxxxxxxxxx>
> Signed-off-by: Dragan Mladjenovic <dragan.mladjenovic@xxxxxxxxxx>
> Signed-off-by: Aleksandar Rikalo <aleksandar.rikalo@xxxxxxxxxx>
> ---
> arch/mips/include/asm/mips-cps.h | 38 ++++++++++++++++++++++++++++++++
> arch/mips/kernel/mips-cm.c | 37 +++++++++++++++++++++++++++++++
> 2 files changed, 75 insertions(+)
applied to mips-next with a #include <linux/cpumask.h> added to
make it compile with my malta config.
Thomas.
--
Crap can work. Given enough thrust pigs will fly, but it's not necessarily a
good idea. [ RFC1925, 2.3 ]