Re: [PATCH] cpufreq: intel_pstate: set stale CPU frequency to minimum

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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



[Index of Archives]     [Linux Kernel]     [Kernel Development Newbies]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux