ARM64 SMT Control Patches Updated For The Linux Kernel
While ARM-based SoCs with Simultaneous Multi-Threading (SMT) aren't too common, there do exist some such as select models of the Huawei Kunpeng server SoC with SMT or there HiSilicon Kirin 9000S. As such Huawei/HiSilicon engineers have been working to expose SMT controls on ARM64 for the Linux kernel.
Similar to Linux x86/x86_64 being able to toggle Simultaneous Multi-Threading support at run-time, the patches that have been worked on by Huawei and Huawei-owned HiSilicon to extend the Linux SMT controls to ARM64 so that the SMT behavior can be manipulated at run-time.
They are extending the run-time SMT controls to ARM64 on the basis of general security vulnerability concerns as well as for better single-thread CPU performance in some workloads and possibly CPU power consumption benefits.
The engineers have tested their ARM64 SMT controls both on real ACPI-based ARM64 server hardware with SMT as well as on ACPI/OF-based QEMU virtual machines.
The v6 patches were posted today as the latest work on this support. The sixth revision to these patches bring various improvements as a result of earlier code review.
Similar to Linux x86/x86_64 being able to toggle Simultaneous Multi-Threading support at run-time, the patches that have been worked on by Huawei and Huawei-owned HiSilicon to extend the Linux SMT controls to ARM64 so that the SMT behavior can be manipulated at run-time.
They are extending the run-time SMT controls to ARM64 on the basis of general security vulnerability concerns as well as for better single-thread CPU performance in some workloads and possibly CPU power consumption benefits.
The engineers have tested their ARM64 SMT controls both on real ACPI-based ARM64 server hardware with SMT as well as on ACPI/OF-based QEMU virtual machines.
The v6 patches were posted today as the latest work on this support. The sixth revision to these patches bring various improvements as a result of earlier code review.
1 Comment