| From db865272d9c4687520dc29f77e701a1b2669872f Mon Sep 17 00:00:00 2001 |
| From: "Rafael J. Wysocki" <rafael.j.wysocki@intel.com> |
| Date: Fri, 23 Oct 2020 17:15:56 +0200 |
| Subject: cpufreq: Avoid configuring old governors as default with intel_pstate |
| |
| From: Rafael J. Wysocki <rafael.j.wysocki@intel.com> |
| |
| commit db865272d9c4687520dc29f77e701a1b2669872f upstream. |
| |
| Commit 33aa46f252c7 ("cpufreq: intel_pstate: Use passive mode by |
| default without HWP") was meant to cause intel_pstate to be used |
| in the passive mode with the schedutil governor on top of it, but |
| it missed the case in which either "ondemand" or "conservative" |
| was selected as the default governor in the existing kernel config, |
| in which case the previous old governor configuration would be used, |
| causing the default legacy governor to be used on top of intel_pstate |
| instead of schedutil. |
| |
| Address this by preventing "ondemand" and "conservative" from being |
| configured as the default cpufreq governor in the case when schedutil |
| is the default choice for the default governor setting. |
| |
| [Note that the default cpufreq governor can still be set via the |
| kernel command line if need be and that choice is not limited, |
| so if anyone really wants to use one of the legacy governors by |
| default, it can be achieved this way.] |
| |
| Fixes: 33aa46f252c7 ("cpufreq: intel_pstate: Use passive mode by default without HWP") |
| Reported-by: Julia Lawall <julia.lawall@inria.fr> |
| Cc: 5.8+ <stable@vger.kernel.org> # 5.8+ |
| Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com> |
| Acked-by: Viresh Kumar <viresh.kumar@linaro.org> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| |
| --- |
| drivers/cpufreq/Kconfig | 2 ++ |
| 1 file changed, 2 insertions(+) |
| |
| --- a/drivers/cpufreq/Kconfig |
| +++ b/drivers/cpufreq/Kconfig |
| @@ -71,6 +71,7 @@ config CPU_FREQ_DEFAULT_GOV_USERSPACE |
| |
| config CPU_FREQ_DEFAULT_GOV_ONDEMAND |
| bool "ondemand" |
| + depends on !(X86_INTEL_PSTATE && SMP) |
| select CPU_FREQ_GOV_ONDEMAND |
| select CPU_FREQ_GOV_PERFORMANCE |
| help |
| @@ -83,6 +84,7 @@ config CPU_FREQ_DEFAULT_GOV_ONDEMAND |
| |
| config CPU_FREQ_DEFAULT_GOV_CONSERVATIVE |
| bool "conservative" |
| + depends on !(X86_INTEL_PSTATE && SMP) |
| select CPU_FREQ_GOV_CONSERVATIVE |
| select CPU_FREQ_GOV_PERFORMANCE |
| help |