]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
cpufreq: conservative: Reset requested_freq on limits change
authorViresh Kumar <viresh.kumar@linaro.org>
Fri, 20 Mar 2026 09:38:14 +0000 (15:08 +0530)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Mon, 23 Mar 2026 12:32:57 +0000 (13:32 +0100)
commit6a28fb8cb28b9eb39a392e531d938a889eacafc5
tree69d0bf198e967a423a8d323da008d2dec1fa3a76
parent8f13c0c6cb75cc4421d5a60fc060e9e6fd9d1097
cpufreq: conservative: Reset requested_freq on limits change

A recently reported issue highlighted that the cached requested_freq
is not guaranteed to stay in sync with policy->cur. If the platform
changes the actual CPU frequency after the governor sets one (e.g.
due to platform-specific frequency scaling) and a re-sync occurs
later, policy->cur may diverge from requested_freq.

This can lead to incorrect behavior in the conservative governor.
For example, the governor may assume the CPU is already running at
the maximum frequency and skip further increases even though there
is still headroom.

Avoid this by resetting the cached requested_freq to policy->cur on
detecting a change in policy limits.

Reported-by: Lifeng Zheng <zhenglifeng1@huawei.com>
Tested-by: Lifeng Zheng <zhenglifeng1@huawei.com>
Link: https://lore.kernel.org/all/20260210115458.3493646-1-zhenglifeng1@huawei.com/
Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
Reviewed-by: Zhongqiu Han <zhongqiu.han@oss.qualcomm.com>
Cc: All applicable <stable@vger.kernel.org>
Link: https://patch.msgid.link/d846a141a98ac0482f20560fcd7525c0f0ec2f30.1773999467.git.viresh.kumar@linaro.org
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
drivers/cpufreq/cpufreq_conservative.c
drivers/cpufreq/cpufreq_governor.c
drivers/cpufreq/cpufreq_governor.h