All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH RESEND] x86/smpboot: avoid SMT domain attach/destroy if SMT is not enabled
@ 2025-04-22  8:47 Li Chen
  2025-06-20  2:27 ` Li Chen
  2025-06-20 13:54 ` Thomas Gleixner
  0 siblings, 2 replies; 5+ messages in thread
From: Li Chen @ 2025-04-22  8:47 UTC (permalink / raw)
  To: Thomas Gleixner, Ingo Molnar, Borislav Petkov, Dave Hansen, x86,
	linux-kernel

From: Li Chen <chenl311@chinatelecom.cn>

Currently, the SMT domain is added into sched_domain_topology
by default if CONFIG_SCHED_SMT is enabled.

If cpu_attach_domain finds that the CPU SMT domain’s cpumask_weight
is just 1, it will destroy_sched_domain it.

On a large machine, such as one with 512 cores, this results in
512 redundant domain attach/destroy operations.

We can avoid these unnecessary operations by simply checking
cpu_smt_num_threads and not inserting SMT domain into x86_topology if SMT
is not enabled.

Signed-off-by: Li Chen <chenl311@chinatelecom.cn>
---

[RESEND] because I forgot to add any mailing list previously.

arch/x86/kernel/smpboot.c | 8 +++++---
1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/arch/x86/kernel/smpboot.c b/arch/x86/kernel/smpboot.c
index d6cf1e23c2a3..da6192e1af12 100644
--- a/arch/x86/kernel/smpboot.c
+++ b/arch/x86/kernel/smpboot.c
@@ -485,9 +485,11 @@ static void __init build_sched_topology(void)
    int i = 0;

#ifdef CONFIG_SCHED_SMT
-    x86_topology[i++] = (struct sched_domain_topology_level){
-        cpu_smt_mask, cpu_smt_flags, SD_INIT_NAME(SMT)
-    };
+    if (cpu_smt_num_threads > 1) {
+        x86_topology[i++] = (struct sched_domain_topology_level){
+            cpu_smt_mask, cpu_smt_flags, SD_INIT_NAME(SMT)
+        };
+    }
#endif
#ifdef CONFIG_SCHED_CLUSTER
    x86_topology[i++] = (struct sched_domain_topology_level){
--
2.48.1


^ permalink raw reply related	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2025-06-24  9:00 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-04-22  8:47 [PATCH RESEND] x86/smpboot: avoid SMT domain attach/destroy if SMT is not enabled Li Chen
2025-06-20  2:27 ` Li Chen
2025-06-20 13:54 ` Thomas Gleixner
2025-06-20 15:47   ` [PATCH] x86/smpboot: Decrapify build_sched_topology() Thomas Gleixner
2025-06-24  9:00   ` [PATCH RESEND] x86/smpboot: avoid SMT domain attach/destroy if SMT is not enabled Li Chen

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.