[v3,0/4] Support SMT control on arm64

Message ID 20231114040110.54590-1-yangyicong@huawei.com
Headers
Series Support SMT control on arm64 |

Message

Yicong Yang Nov. 14, 2023, 4:01 a.m. UTC
  From: Yicong Yang <yangyicong@hisilicon.com>

The core CPU control framework supports runtime SMT control which
is not yet supported on arm64. Besides the general vulnerabilities
concerns we want this runtime control on our arm64 server for:

- better single CPU performance in some cases
- saving overall power consumption

This patchset implements it in the following aspects:

- implements the basic support in arch_topology driver
- support retrieve SMT thread number on OF based system
- support retrieve SMT thread number on ACPI based system
- select HOTPLUG_SMT for arm64

Tests has been done on our real ACPI based arm64 server and on
ACPI/OF based QEMU VMs.

The patchset is based on v6.7-rc1.

Change since v2:
- Detect SMT thread number at topology build from ACPI/DT, avoid looping CPUs
- Split patches into ACPI/OF/arch_topology path and enable the kconfig for arm64
Link: https://lore.kernel.org/linux-arm-kernel/20231010115335.13862-1-yangyicong@huawei.com/

Yicong Yang (4):
  arch_topology: Support basic SMT control for the driver
  arch_topology: Support SMT control for OF based system
  arm64: topology: Support SMT control on ACPI based system
  arm64: Kconfig: Enable HOTPLUG_SMT

 arch/arm64/Kconfig            |  1 +
 arch/arm64/kernel/topology.c  | 23 +++++++++++++++++++++
 drivers/base/arch_topology.c  | 39 +++++++++++++++++++++++++++++++++++
 include/linux/arch_topology.h |  9 ++++++++
 4 files changed, 72 insertions(+)