On Tue, Sep 05, 2023 at 05:16:46PM -0700, Keyon Jie wrote: > From: Doug Smythies <dsmythies@xxxxxxxxx> > > commit d51847acb018d83186e4af67bc93f9a00a8644f7 upstream. > > This fix applies to all stable kernel versions 5.18+. > > The intel_pstate CPU frequency scaling driver does not > use policy->cur and it is 0. > When the CPU frequency is outdated arch_freq_get_on_cpu() > will default to the nominal clock frequency when its call to > cpufreq_quick_getpolicy_cur returns the never updated 0. > Thus, the listed frequency might be outside of currently > set limits. Some users are complaining about the high > reported frequency, albeit stale, when their system is > idle and/or it is above the reduced maximum they have set. > > This patch will maintain policy_cur for the intel_pstate > driver at the current minimum CPU frequency. > > Reported-by: Yang Jie <yang.jie@xxxxxxxxxxxxxxx> > Closes: https://bugzilla.kernel.org/show_bug.cgi?id=217597 > Signed-off-by: Doug Smythies <dsmythies@xxxxxxxxx> > [ rjw: White space damage fixes and comment adjustment ] > Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> > Signed-off-by: Keyon Jie <yang.jie@xxxxxxxxxxxxxxx> > --- > drivers/cpufreq/intel_pstate.c | 5 +++++ > 1 file changed, 5 insertions(+) > > diff --git a/drivers/cpufreq/intel_pstate.c b/drivers/cpufreq/intel_pstate.c > index d51f90f55c05..fbe3a4098743 100644 > --- a/drivers/cpufreq/intel_pstate.c > +++ b/drivers/cpufreq/intel_pstate.c > @@ -2574,6 +2574,11 @@ static int intel_pstate_set_policy(struct cpufreq_policy *policy) > intel_pstate_clear_update_util_hook(policy->cpu); > intel_pstate_hwp_set(policy->cpu); > } > + /* > + * policy->cur is never updated with the intel_pstate driver, but it > + * is used as a stale frequency value. So, keep it within limits. > + */ > + policy->cur = policy->min; > > mutex_unlock(&intel_pstate_limits_lock); > Now queued up, thanks. greg k-h