lkml.org 
[lkml]   [2015]   [Nov]   [20]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH V3] SKL intel_pstate update MSR values when changing governors


On 11/18/2015 02:58 PM, Alexandra Yates wrote:
> When changing from powersave to performance governors
> Intel_pstate fails to update the MSR values that reflect the
> max_perf_pct to 100%. For instance in SKL reading rdmsr 0x774:
>
> Governor MSR max_perf_pct
> ========= ======== ============
> Powersave 80002808 100%
> Powersave 80002008 80%
> Performance 80002028 [error] 100%
> Performance 80002828 [expected] 100%
>
> The line label [error] shows the culprit. At this point the MSR
> should reflect the max_perf_pct that is 100%, that corresponds
> to MSR 80002828 as shown on the next line of the example. Which
> is the maximum performance for the Performance governor.
> Instead it holds back the MSR value previously set by the
> Powersave, in this case 80002028.
>
> This patch allows the system to print the correct MSR value
> 80002828 that corresponds to the 100% max_perf_pct when changing
> from powersave to performance governors.
>
> For more information on the MSR values for SKL please visit
> ISDM under Managing HWP.
>
> Signed-off-by: Alexandra Yates <alexandra.yates@linux.intel.com>
Acked-by: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
> ---
> drivers/cpufreq/intel_pstate.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/drivers/cpufreq/intel_pstate.c b/drivers/cpufreq/intel_pstate.c
> index 2e31d09..0eeb7da 100644
> --- a/drivers/cpufreq/intel_pstate.c
> +++ b/drivers/cpufreq/intel_pstate.c
> @@ -1242,6 +1242,8 @@ static int intel_pstate_set_policy(struct cpufreq_policy *policy)
> policy->max >= policy->cpuinfo.max_freq) {
> pr_debug("intel_pstate: set performance\n");
> limits = &performance_limits;
> + if (hwp_active)
> + intel_pstate_hwp_set();
> return 0;
> }
>
>


\
 
 \ /
  Last update: 2015-11-21 01:41    [W:0.112 / U:0.152 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site