summaryrefslogtreecommitdiffstats
path: root/drivers/cpufreq/intel_pstate.c
diff options
context:
space:
mode:
authorLen Brown2017-06-24 07:11:54 +0200
committerRafael J. Wysocki2017-06-27 01:47:34 +0200
commit82b4e03e01bc8def546b52707962809f04ae5c7a (patch)
tree1dc5971444d0e81e2f931c0af7560ff2169223bb /drivers/cpufreq/intel_pstate.c
parentintel_pstate: delete scheduler hook in HWP mode (diff)
downloadkernel-qcow2-linux-82b4e03e01bc8def546b52707962809f04ae5c7a.tar.gz
kernel-qcow2-linux-82b4e03e01bc8def546b52707962809f04ae5c7a.tar.xz
kernel-qcow2-linux-82b4e03e01bc8def546b52707962809f04ae5c7a.zip
intel_pstate: skip scheduler hook when in "performance" mode
When the governor is set to "performance", intel_pstate does not need the scheduler hook for doing any calculations. Under these conditions, its only purpose is to continue to maintain cpufreq/scaling_cur_freq. The cpufreq/scaling_cur_freq sysfs attribute is now provided by shared x86 cpufreq code on modern x86 systems, including all systems supported by the intel_pstate driver. So in "performance" governor mode, the scheduler hook can be skipped. This applies to both in Software and Hardware P-state control modes. Suggested-by: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com> Signed-off-by: Len Brown <len.brown@intel.com> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Diffstat (limited to 'drivers/cpufreq/intel_pstate.c')
-rw-r--r--drivers/cpufreq/intel_pstate.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/cpufreq/intel_pstate.c b/drivers/cpufreq/intel_pstate.c
index b00a45595c89..1772d309bea9 100644
--- a/drivers/cpufreq/intel_pstate.c
+++ b/drivers/cpufreq/intel_pstate.c
@@ -2044,10 +2044,10 @@ static int intel_pstate_set_policy(struct cpufreq_policy *policy)
*/
intel_pstate_clear_update_util_hook(policy->cpu);
intel_pstate_max_within_limits(cpu);
+ } else {
+ intel_pstate_set_update_util_hook(policy->cpu);
}
- intel_pstate_set_update_util_hook(policy->cpu);
-
if (hwp_active)
intel_pstate_hwp_set(policy->cpu);