Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1589866
| From | "Rafael J. Wysocki" <rjw@rjwysocki.net> |
|---|---|
| Newsgroups | linux.kernel |
| Subject | [PATCH v2 3/3] cpufreq: intel_pstate: Fix intel_pstate_verify_policy() |
| Date | 2017-03-01 00:30 +0100 |
| Message-ID | <tfZns-2Gn-11@gated-at.bofh.it> (permalink) |
| References | <tfQ0N-4XF-5@gated-at.bofh.it> <tfZns-2Gn-13@gated-at.bofh.it> |
| Organization | linux.* mail to news gateway |
From: Rafael J. Wysocki <rafael.j.wysocki@intel.com> The code added to intel_pstate_verify_policy() by commit 1443ebbacfd7 (cpufreq: intel_pstate: Fix sysfs limits enforcement for performance policy) should use perf_limits instead of limits, because otherwise setting global limits via sysfs may affect policies inconsistently. For example, in the sequence of shell commands below, the scaling_min_freq attribute for policy1 and policy2 should be affected in the same way, because scaling_governor is set in the same way for both of them: # cat cpufreq/policy1/scaling_governor powersave # cat cpufreq/policy2/scaling_governor powersave # echo performance > cpufreq/policy0/scaling_governor # echo 94 > intel_pstate/min_perf_pct # cat cpufreq/policy0/scaling_min_freq 2914000 # cat cpufreq/policy1/scaling_min_freq 2914000 # cat cpufreq/policy2/scaling_min_freq 800000 The are affected differently, because intel_pstate_verify_policy() is invoked with limits set to &performance_limits (left behind by policy0) for policy1 and with limits set to &powersave_limits (left behind by policy1) for policy2. Since perf_limits is set to the set of limits matching the policy being updated, using it instead of limits fixes the inconsistency. Fixes: 1443ebbacfd7 (cpufreq: intel_pstate: Fix sysfs limits enforcement for performance policy) Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com> --- drivers/cpufreq/intel_pstate.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) Index: linux-pm/drivers/cpufreq/intel_pstate.c =================================================================== --- linux-pm.orig/drivers/cpufreq/intel_pstate.c +++ linux-pm/drivers/cpufreq/intel_pstate.c @@ -2208,9 +2208,9 @@ static int intel_pstate_verify_policy(st unsigned int max_freq, min_freq; max_freq = policy->cpuinfo.max_freq * - limits->max_sysfs_pct / 100; + perf_limits->max_sysfs_pct / 100; min_freq = policy->cpuinfo.max_freq * - limits->min_sysfs_pct / 100; + perf_limits->min_sysfs_pct / 100; cpufreq_verify_within_limits(policy, min_freq, max_freq); }
Back to linux.kernel | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
[PATCH 0/2] cpufreq: intel_pstate: Two fixes related to limis "Rafael J. Wysocki" <rjw@rjwysocki.net> - 2017-02-28 14:30 +0100
[PATCH 1/2] cpufreq: intel_pstate: Fix global settings in active mode "Rafael J. Wysocki" <rjw@rjwysocki.net> - 2017-02-28 14:30 +0100
Re: [PATCH 1/2] cpufreq: intel_pstate: Fix global settings in active mode "Rafael J. Wysocki" <rafael@kernel.org> - 2017-02-28 23:40 +0100
[PATCH 2/2] cpufreq: intel_pstate: Do not reinit performance limits in ->setpolicy "Rafael J. Wysocki" <rjw@rjwysocki.net> - 2017-02-28 14:40 +0100
[PATCH v2 3/3] cpufreq: intel_pstate: Fix intel_pstate_verify_policy() "Rafael J. Wysocki" <rjw@rjwysocki.net> - 2017-03-01 00:30 +0100
[PATCH v2 1/3] cpufreq: intel_pstate: Fix global settings in active mode "Rafael J. Wysocki" <rjw@rjwysocki.net> - 2017-03-01 00:30 +0100
[PATCH v2 2/3] cpufreq: intel_pstate: Do not reinit performance limits in ->setpolicy "Rafael J. Wysocki" <rjw@rjwysocki.net> - 2017-03-01 00:30 +0100
Re: [PATCH v2 2/3] cpufreq: intel_pstate: Do not reinit performance limits in ->setpolicy "Rafael J. Wysocki" <rafael@kernel.org> - 2017-03-02 18:30 +0100
Re: [PATCH v2 2/3] cpufreq: intel_pstate: Do not reinit performance limits in ->setpolicy "Rafael J. Wysocki" <rafael@kernel.org> - 2017-03-02 18:30 +0100
[Update][PATCH v3 2/3] cpufreq: intel_pstate: Do not reinit performance limits in ->setpolicy "Rafael J. Wysocki" <rjw@rjwysocki.net> - 2017-03-02 23:40 +0100
[PATCH v2 0/3] cpufreq: intel_pstate: Fixes related to limis "Rafael J. Wysocki" <rjw@rjwysocki.net> - 2017-03-01 00:30 +0100
csiph-web