A recent proposal by a Huawei engineer to enable CPU Boost mode by default in Linux’s ACPI CPPC CPUFreq driver has sparked a discussion within the kernel community. The move, aimed at ensuring peak performance for ARM64 servers, has been met with caution from an Arm engineer who highlighted the complexities of modern processor thermal and power management.
Huawei’s Proposal for Default CPU Boost
Pengjie Zhang, a Huawei engineer, submitted a patch to the Linux kernel suggesting that CPU Boost should be enabled by default when supported by the hardware. The proposed change modifies the cppc_cpufreq.c file, adding code to initialize the Boost state to enabled. This would affect systems utilizing the ACPI CPPC (Collaborative Processor Performance Control) mechanism, a standard that allows the operating system to interact with platform firmware for processor performance adjustments.
Currently, under the general ACPI CPPC driver, Boost mode is disabled by default if the processor’s highest performance level exceeds its nominal performance level. Users typically need to manually enable it via sysfs. Phoronix noted that ACPI CPPC is widely used on ARM64 Linux server platforms, where users often prioritize maintaining peak performance.
Zhang’s rationale is that if at least one CPU core supports Boost, all cores capable of using this feature should have it enabled automatically. The intention is to provide users of these high-performance platforms with the best possible performance out of the box.
Arm Engineer’s Counterpoint: Complexity and Diminishing Returns
However, the proposal has drawn a thoughtful response from Christian Loehle, an Arm engineer and Linux developer. Loehle expressed skepticism about the continued relevance and benefits of a distinct “Boost” mode given the intricate power and thermal constraints of contemporary processors.
I often wonder if we should retain Boost at all, the power and thermal boundaries of chips these days are complex enough that Boost doesn’t add much value, it doesn’t guarantee that it won’t downclock nor does it guarantee the performance requested.
Loehle pointed out that Boost mode doesn’t guarantee sustained peak performance and might not even deliver the exact performance level requested due to underlying hardware limitations. He suggested that knowledgeable users can already achieve fine-grained control over performance by manually setting the scaling_max_freq parameter, allowing them to tailor performance limits to specific platforms, workloads, and operating environments.
Furthermore, Loehle questioned another related commit previously introduced by Huawei, expressing curiosity about its specific use case. He also commented that having platforms on Linux where nominal performance is not equal to the highest performance currently introduces more complications than benefits.
Context and Next Steps
It’s important to clarify that this patch specifically targets the general ACPI CPPC CPUFreq driver and is not intended as a blanket change for all Linux processor platforms. The final decision on whether to merge this proposal rests with the Linux kernel maintainers, who will consider the arguments from both sides during their review process. The discussion highlights the ongoing effort to balance performance, power efficiency, and system stability in the ever-evolving landscape of Linux system architecture.









