Skip to content

Commit 1ef6d20

Browse files
pierregondoisjamieNguyenNVIDIA
authored andcommitted
cpufreq: Remove max_freq_req update for pre-existing policy
policy->max_freq_req QoS constraint represents the maximal allowed frequency than can be requested. It is set by: - writing to policyX/scaling_max sysfs file - toggling the cpufreq/boost sysfs file Upon calling freq_qos_update_request(), a successful update of the max_freq_req value triggers cpufreq_notifier_max(), followed by cpufreq_set_policy() which update the requested frequency for the policy. If the new max_freq_req value is not different from the original value, no frequency update is triggered. In a specific sequence of toggling: - cpufreq/boost sysfs file - CPU hot-plugging a CPU could end up with boost enabled but running at the maximal non-boost frequency, cpufreq_notifier_max() not being triggered. The following fixed that: commit 1608f02 ("cpufreq: Fix re-boost issue after hotplugging a CPU") The following: commit dd016f3 ("cpufreq: Introduce a more generic way to set default per-policy boost flag") also fixed the issue by correctly setting the max_freq_req constraint of a policy that is re-activated. This makes the first fix unnecessary. As the original issue is fixed by another method, this patch reverts: commit 1608f02 ("cpufreq: Fix re-boost issue after hotplugging a CPU") Reviewed-by: Lifeng Zheng <zhenglifeng1@huawei.com> Signed-off-by: Pierre Gondois <pierre.gondois@arm.com> Acked-by: Viresh Kumar <viresh.kumar@linaro.org> Link: https://patch.msgid.link/20260326204404.1401849-2-pierre.gondois@arm.com Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com> (cherry picked from commit 04aa9d0) Signed-off-by: Jamie Nguyen <jamien@nvidia.com>
1 parent 07d53b6 commit 1ef6d20

1 file changed

Lines changed: 0 additions & 4 deletions

File tree

drivers/cpufreq/cpufreq.c

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1477,10 +1477,6 @@ static int cpufreq_policy_online(struct cpufreq_policy *policy,
14771477

14781478
blocking_notifier_call_chain(&cpufreq_policy_notifier_list,
14791479
CPUFREQ_CREATE_POLICY, policy);
1480-
} else {
1481-
ret = freq_qos_update_request(policy->max_freq_req, policy->max);
1482-
if (ret < 0)
1483-
goto out_destroy_policy;
14841480
}
14851481

14861482
if (cpufreq_driver->get && has_target()) {

0 commit comments

Comments
 (0)