]> www.infradead.org Git - users/jedix/linux-maple.git/commit
arch_topology: Support SMT control for OF based system
authorYicong Yang <yangyicong@hisilicon.com>
Tue, 11 Mar 2025 07:51:41 +0000 (15:51 +0800)
committerCatalin Marinas <catalin.marinas@arm.com>
Fri, 14 Mar 2025 17:31:05 +0000 (17:31 +0000)
commit5deb9c789ae468a71a7c11c92d21769f7cbf68fa
treec04e334e983cd4a7fe95f2f14312ff49cc3e27f8
parent4b455f59945aab5610828a1320b045c82cbe8852
arch_topology: Support SMT control for OF based system

On building the topology from the devicetree, we've already gotten the
SMT thread number of each core. Update the largest SMT thread number
and enable the SMT control by the end of topology parsing.

The framework's SMT control provides two interface to the users through
/sys/devices/system/cpu/smt/control
(Documentation/ABI/testing/sysfs-devices-system-cpu):

1) enable SMT by writing "on" and disable by "off"
2) enable SMT by writing max_thread_number or disable by writing 1

Both method support to completely disable/enable the SMT cores so both
work correctly for symmetric SMT platform and asymmetric platform with
non-SMT and one type SMT cores like:

core A: 1 thread
core B: X (X!=1) threads

Note that for a theoretically possible multiple SMT-X (X>1) core
platform the SMT control is also supported as expected but only
by writing the "on/off" method.

Reviewed-by: Pierre Gondois <pierre.gondois@arm.com>
Reviewed-by: Dietmar Eggemann <dietmar.eggemann@arm.com>
Signed-off-by: Yicong Yang <yangyicong@hisilicon.com>
Reviewed-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Reviewed-by: Sudeep Holla <sudeep.holla@arm.com>
Link: https://lore.kernel.org/r/20250311075143.61078-3-yangyicong@huawei.com
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
drivers/base/arch_topology.c