[PATCH V3 00/13] cpufreq: governors: Fix ABBA lockups

From: Viresh Kumar
Date: Mon Feb 08 2016 - 06:40:12 EST


Hi Rafael,

Things look much much better now. I have rebased this series over
pm/bleeding-edge, that has all your patches.

I have moved ahead and done few more changes in this series, that should
get rid of all the lockdeps we were getting earlier, that includes
fixing lockdep issue in update_sampling_rate() that we were chasing.

These are pushed here again:
git://git.kernel.org/pub/scm/linux/kernel/git/vireshk/pm.git cpufreq/governor-kobject

@Juri/Shilpa: Can you please confirm if all the issues got resolved now
?

V2->V3:
- The first patch from V2, that was moving min_sampling_rate to
per governor structure was dropped, as you suggested.
- Also, I have moved common tunables to struct dbs_data now, which you
also suggested sometime back.
- Last 5 patches are all new and fix rest of the issues we were facing.

--
viresh

Viresh Kumar (13):
cpufreq: governor: Create generic macro for global tuners
cpufreq: governor: Move common tunables to 'struct dbs_data'
cpufreq: governor: New sysfs show/store callbacks for governor
tunables
cpufreq: governor: Drop unused macros for creating governor tunable
attributes
Revert "cpufreq: Drop rwsem lock around CPUFREQ_GOV_POLICY_EXIT"
cpufreq: Merge cpufreq_offline_prepare/finish routines
cpufreq: Call __cpufreq_governor() with policy->rwsem held
cpufreq: Remove cpufreq_governor_lock
cpufreq: governor: Move common sysfs tunables to cpufreq_governor.c
cpufreq: governor: No need to manage state machine now
cpufreq: governor: Keep list of policy_dbs within dbs_data
cpufreq: ondemand: Traverse list of policy_dbs in
update_sampling_rate()
cpufreq: conservative: Update sample_delay_ns immediately

drivers/cpufreq/cpufreq.c | 98 ++++++------
drivers/cpufreq/cpufreq_conservative.c | 143 ++++--------------
drivers/cpufreq/cpufreq_governor.c | 266 +++++++++++++++++++++++++--------
drivers/cpufreq/cpufreq_governor.h | 156 ++++++++-----------
drivers/cpufreq/cpufreq_ondemand.c | 241 +++++------------------------
include/linux/cpufreq.h | 4 -
6 files changed, 381 insertions(+), 527 deletions(-)

--
2.7.1.370.gb2aa7f8