[PATCH v4 0/4] x86/smpboot: tidy sched-topology and drop useless SMT level

From: Li Chen
Date: Sat Jul 05 2025 - 23:07:00 EST


From: Li Chen <chenl311@xxxxxxxxxxxxxxx>

This series cleans up sched-domain topology handling and
eliminates hundreds of pointless attach/destroy cycles for large
machines when SMT is not available.

Patch 1, 2, and 3 do some cleanup and refactor.

Patch 4 is a follow-up that simply skip SMT domain when
cpu_smt_num_threads <= 1, so the SMT level never gets created.

Tested on Qemu.

changelog:
v2: fix wording issue as suggested by Thomas [1]
v3: remove pointless memset and adjust PKG index accordingly, as
suggested by Thomas [2], and refine some other wording issues.
v4: v4: Split refactor patche into three parts (as suggested by Peter [3])
and refined patch 4 logic (as done by K. [4]).

[1]: https://lore.kernel.org/all/87msa2r018.ffs@tglx/
[2]: https://lore.kernel.org/all/875xglntx1.ffs@tglx/
[3]: https://lkml.org/lkml/2025/6/25/584
[4]: https://lore.kernel.org/lkml/1b706790-2fec-4582-a425-55eeff36c32e@xxxxxxx/

Li Chen (4):
smpboot: introduce SDTL() helper to tidy sched topology setup
x86/smpboot: remove redundant CONFIG_SCHED_SMT
x86/smpboot: moves x86_topology to static initialize and truncate
x86/smpboot: avoid SMT domain attach/destroy if SMT is not enabled

arch/powerpc/kernel/smp.c | 34 ++++++++-------------
arch/s390/kernel/topology.c | 10 +++----
arch/x86/kernel/smpboot.c | 55 ++++++++++++++++------------------
include/linux/sched/topology.h | 6 ++--
kernel/sched/topology.c | 16 ++++------
5 files changed, 53 insertions(+), 68 deletions(-)

--
2.49.0