Thread (41 messages) 41 messages, 7 authors, 2025-10-14

Re: [PATCH v7 4/8] powerpc/smp: Introduce CONFIG_SCHED_MC to guard MC scheduling bits

flat view

From: K Prateek Nayak <kprateek.nayak@amd.com>
Date: 2025-09-01 04:50:35
Also in: linux-s390, lkml


On 8/26/2025 2:57 PM, Shrikanth Hegde wrote:
quoted
diff --git a/arch/powerpc/include/asm/smp.h b/arch/powerpc/include/asm/smp.h
index 86de4d0dd0aa..9a320d96e891 100644
--- a/arch/powerpc/include/asm/smp.h
+++ b/arch/powerpc/include/asm/smp.h
@@ -148,7 +148,9 @@ static inline const struct cpumask *cpu_smt_mask(int cpu)
  }
  #endif /* CONFIG_SCHED_SMT */
  +#ifdef CONFIG_SCHED_MC
  extern const struct cpumask *cpu_coregroup_mask(int cpu);
+#endif
  
Is ifdef necessary here?
This is gone in Peter's squash but I added it just to
remain consistent with cpu_smt_mask() above.
quoted
  /* Since OpenPIC has only 4 IPIs, we use slightly different message numbers.
   *
diff --git a/arch/powerpc/kernel/smp.c b/arch/powerpc/kernel/smp.c
index e623f2864dc4..7f79b853b221 100644
--- a/arch/powerpc/kernel/smp.c
+++ b/arch/powerpc/kernel/smp.c
@@ -1059,6 +1059,7 @@ static bool has_coregroup_support(void)
      return coregroup_enabled;
  }
  +#ifdef CONFIG_SCHED_MC
  const struct cpumask *cpu_coregroup_mask(int cpu)
  {
      if (has_coregroup_support())
@@ -1071,6 +1072,7 @@ static const struct cpumask *cpu_mc_mask(struct sched_domain_topology_level *tl,
  {
      return cpu_corgrp_mask(cpu);
  }
+#endif
  
Previous patch says cpu_coregroup_mask is exported. Is it exported in any way to user or modules?
Just "exposed" to kernel/sched/topology.c bits :)

I don't think this is used by any generic module / exported to
userspace.
Also i don't see similar gating in other archs. It maybe unnecessary.
quoted
  static const struct cpumask *cpu_pkg_mask(struct sched_domain_topology_level *tl, int cpu)
  {
@@ -1729,10 +1731,12 @@ static void __init build_sched_topology(void)
              SDTL_INIT(shared_cache_mask, powerpc_shared_cache_flags, CACHE);
      }
  +#ifdef CONFIG_SCHED_MC
      if (has_coregroup_support()) {
          powerpc_topology[i++] =
              SDTL_INIT(cpu_mc_mask, powerpc_shared_proc_flags, MC);
      }
+#endif
Just this gating should suffice IMO.
Ack. Your suggested diff to have CONFIG_SCHED_MC configurable on powerpc
looks good.

-- 
Thanks and Regards,
Prateek

Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help