[PATCH V3 0/9] cpufreq: transition-latency cleanups
From: Viresh Kumar
Date: Wed Jul 19 2017 - 06:13:19 EST
Hi Rafael,
This series tries to cleanup the code around transition-latency and its
users. Some of the old legacy code, which may not make much sense now,
is dropped as well. And some code consolidation is also done across
governors.
Based of: v4.13-rc1
Tested on: ARM64 Hikey board.
I have pushed it here as well (which gets tested by kbuild test bot):
git://git.kernel.org/pub/scm/linux/kernel/git/vireshk/pm.git cpufreq/transition-latency
V2->V3:
- Rearranged patches to keep related stuff together
- Introduce CPUFREQ_NO_AUTO_DYNAMIC_SWITCHING flag (Rafael)
- Minor optimization in cpufreq_policy_transition_delay_us() and moved
it to cpufreq.c (Rafael)
- Allow dynamic switching for drivers which don't know their transition
latency.
V1->V2:
- While we still get rid of the limitation of 10ms for using
ondemand/conservative, but we preserve the earlier behavior where the
transition latency set to CPUFREQ_ETERNAL would not allow use of
ondemand/conservative governors. Thanks to Dominik for his feedback on
that.
--
viresh
Viresh Kumar (9):
cpufreq: governor: Drop min_sampling_rate
cpufreq: Use transition_delay_us for legacy governors as well
cpufreq: Cap the default transition delay value to 10 ms
cpufreq: Don't set transition_latency for setpolicy drivers
cpufreq: arm_big_little: Make ->get_transition_latency() mandatory
cpufreq: Replace "max_transition_latency" with "dynamic_switching"
cpufreq: schedutil: Set dynamic_switching to true
cpufreq: Add CPUFREQ_NO_AUTO_DYNAMIC_SWITCHING cpufreq driver flag
cpufreq: Allow dynamic switching with CPUFREQ_ETERNAL latency
Documentation/admin-guide/pm/cpufreq.rst | 8 --------
drivers/cpufreq/arm_big_little.c | 10 ++++------
drivers/cpufreq/cpufreq-nforce2.c | 2 +-
drivers/cpufreq/cpufreq.c | 34 ++++++++++++++++++++++++++++----
drivers/cpufreq/cpufreq_conservative.c | 6 ------
drivers/cpufreq/cpufreq_governor.c | 17 ++--------------
drivers/cpufreq/cpufreq_governor.h | 3 +--
drivers/cpufreq/cpufreq_ondemand.c | 12 -----------
drivers/cpufreq/elanfreq.c | 4 +---
drivers/cpufreq/gx-suspmod.c | 2 +-
drivers/cpufreq/intel_pstate.c | 1 -
drivers/cpufreq/longrun.c | 1 -
drivers/cpufreq/pmac32-cpufreq.c | 7 +++++--
drivers/cpufreq/sa1100-cpufreq.c | 5 +++--
drivers/cpufreq/sa1110-cpufreq.c | 5 +++--
drivers/cpufreq/sh-cpufreq.c | 3 +--
drivers/cpufreq/speedstep-smi.c | 2 +-
drivers/cpufreq/unicore2-cpufreq.c | 3 +--
include/linux/cpufreq.h | 18 ++++++++---------
kernel/sched/cpufreq_schedutil.c | 12 ++---------
20 files changed, 65 insertions(+), 90 deletions(-)
--
2.13.0.71.gd7076ec9c9cb