Re: [PATCH v2] cpufreq: CPPC: Enable boost by default when supported

From: Pengjie Zhang

Date: Mon Oct 26 2026 - 04:47:31 EST


+cc Christian Loehle

On 10/22/2026 3:59 PM, Pengjie Zhang wrote:
The CPPC driver leaves boost disabled by default when Highest Performance
exceeds Nominal Performance. Userspace must explicitly enable boost
before governors can use the full advertised performance range.

Enable boost by default when at least one possible CPU reports support,
while users who prefer to stay within the sustained nominal limit can
still disable it via the boost knob without determining scaling_max_freq
for each policy.

Check the performance capabilities before registering the driver so that
the cpufreq core enables boost for each policy that supports it.

Signed-off-by: Pengjie Zhang <zhangpengjie2@xxxxxxxxxx>
---
Changes in v2:
- Drop "even" and clarify the commit message (Christian).
- Link to v1: https://lore.kernel.org/all/20261015015812.867988-1-zhangpengjie2@xxxxxxxxxx/

drivers/cpufreq/cppc_cpufreq.c | 20 ++++++++++++++++++++
1 file changed, 20 insertions(+)

diff --git a/drivers/cpufreq/cppc_cpufreq.c b/drivers/cpufreq/cppc_cpufreq.c
index 80893844353c..0a4255a36f60 100644
--- a/drivers/cpufreq/cppc_cpufreq.c
+++ b/drivers/cpufreq/cppc_cpufreq.c
@@ -1052,6 +1052,25 @@ static struct cpufreq_driver cppc_cpufreq_driver = {
.name = "cppc_cpufreq",
};
+static void __init cppc_cpufreq_default_boost_init(void)
+{
+ struct cppc_perf_caps caps;
+ bool enable = false;
+ int cpu;
+
+ for_each_possible_cpu(cpu) {
+ if (cppc_get_perf_caps(cpu, &caps))
+ continue;
+
+ if (caps.highest_perf > caps.nominal_perf) {
+ enable = true;
+ break;
+ }
+ }
+
+ cppc_cpufreq_driver.boost_enabled = enable;
+}
+
static int __init cppc_cpufreq_init(void)
{
int ret;
@@ -1061,6 +1080,7 @@ static int __init cppc_cpufreq_init(void)
cppc_freq_invariance_init();
populate_efficiency_class();
+ cppc_cpufreq_default_boost_init();
ret = cpufreq_register_driver(&cppc_cpufreq_driver);
if (ret)