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

Li Chen posted 4 patches 2 months, 4 weeks ago
arch/powerpc/kernel/smp.c      | 34 +++++++++--------------
arch/s390/kernel/topology.c    | 10 +++----
arch/x86/kernel/smpboot.c      | 51 ++++++++++++++++------------------
include/linux/sched/topology.h |  4 +--
kernel/sched/topology.c        | 24 ++++++----------
5 files changed, 52 insertions(+), 71 deletions(-)
[PATCH v5 0/4] x86/smpboot: tidy sched-topology and drop useless SMT level
Posted by Li Chen 2 months, 4 weeks ago
From: Li Chen <chenl311@chinatelecom.cn>

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]).
v5: fix some style issues and do some improvements as pointed out by K. [5][6]

[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@amd.com/
[5]: https://lore.kernel.org/all/f391491d-f886-4579-9b40-78a57f2ed1b5@amd.com/
[6]: https://lore.kernel.org/all/7e7f686b-1f5a-46dc-8b16-c6d491160d1c@amd.com/

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      | 51 ++++++++++++++++------------------
 include/linux/sched/topology.h |  4 +--
 kernel/sched/topology.c        | 24 ++++++----------
 5 files changed, 52 insertions(+), 71 deletions(-)

-- 
2.50.0
Re: [PATCH v5 0/4] x86/smpboot: tidy sched-topology and drop useless SMT level
Posted by K Prateek Nayak 2 months, 4 weeks ago
Hello Li,

On 7/10/2025 4:27 PM, Li Chen wrote:
> From: Li Chen <chenl311@chinatelecom.cn>
> 
> 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.

Feel free to include:

Reviewed-by: K Prateek Nayak <kprateek.nayak@amd.com>

I've given this series a spin again when looking at "tl->flags"
and everything runs as expected on x86 :)

> 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]).
> v5: fix some style issues and do some improvements as pointed out by K. [5][6]
> 
> [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@amd.com/
> [5]: https://lore.kernel.org/all/f391491d-f886-4579-9b40-78a57f2ed1b5@amd.com/
> [6]: https://lore.kernel.org/all/7e7f686b-1f5a-46dc-8b16-c6d491160d1c@amd.com/
> 
> 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      | 51 ++++++++++++++++------------------
>  include/linux/sched/topology.h |  4 +--
>  kernel/sched/topology.c        | 24 ++++++----------
>  5 files changed, 52 insertions(+), 71 deletions(-)
> 

-- 
Thanks and Regards,
Prateek