diff options
author | Linus Walleij <linus.walleij@linaro.org> | 2020-04-02 11:02:39 +0300 |
---|---|---|
committer | Rafael J. Wysocki <rafael.j.wysocki@intel.com> | 2020-04-03 12:20:06 +0300 |
commit | 8fdcca8e254ad980d083a03c3c60d8225b320ffb (patch) | |
tree | 7f662445e4be8256ee08be76e31e95fc02969a31 /drivers/cpufreq | |
parent | a00ec3874e7d326ab2dffbed92faddf6a77a84e9 (diff) | |
download | linux-8fdcca8e254ad980d083a03c3c60d8225b320ffb.tar.xz |
cpufreq: Select schedutil when using big.LITTLE
When we are using a system with big.LITTLE HMP
configuration, we need to use EAS to schedule the
system.
As can be seen from kernel/sched/topology.c:
"EAS can be used on a root domain if it meets all the following conditions:
1. an Energy Model (EM) is available;
2. the SD_ASYM_CPUCAPACITY flag is set in the sched_domain hierarchy.
3. no SMT is detected.
4. the EM complexity is low enough to keep scheduling overheads low;
5. schedutil is driving the frequency of all CPUs of the rd;"
This means that at the very least, schedutil needs to be
available as a scheduling policy for EAS to work on these
systems. Make this explicit by defaulting to the schedutil
governor if BIG_LITTLE is selected.
Currently users of the TC2 board (like me) has to figure these
dependencies out themselves and it is not helpful.
Suggested-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Acked-by: Sudeep Holla <sudeep.holla@arm.com>
Acked-by: Viresh Kumar <viresh.kumar@linaro.org>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Diffstat (limited to 'drivers/cpufreq')
-rw-r--r-- | drivers/cpufreq/Kconfig | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/cpufreq/Kconfig b/drivers/cpufreq/Kconfig index 9f0e7e79ed14..c3e6bd59e920 100644 --- a/drivers/cpufreq/Kconfig +++ b/drivers/cpufreq/Kconfig @@ -37,6 +37,7 @@ config CPU_FREQ_STAT choice prompt "Default CPUFreq governor" default CPU_FREQ_DEFAULT_GOV_USERSPACE if ARM_SA1100_CPUFREQ || ARM_SA1110_CPUFREQ + default CPU_FREQ_DEFAULT_GOV_SCHEDUTIL if BIG_LITTLE default CPU_FREQ_DEFAULT_GOV_SCHEDUTIL if X86_INTEL_PSTATE && SMP default CPU_FREQ_DEFAULT_GOV_PERFORMANCE help |