linux-pm.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH V2 00/10] cpufreq: governor: Avoid invalid state-transitions
@ 2015-06-19 11:48 Viresh Kumar
  2015-06-19 11:48 ` [PATCH V2 01/10] cpufreq: governor: Name delayed-work as dwork Viresh Kumar
                   ` (12 more replies)
  0 siblings, 13 replies; 37+ messages in thread
From: Viresh Kumar @ 2015-06-19 11:48 UTC (permalink / raw)
  To: Rafael Wysocki, Preeti U Murthy, ke.wang
  Cc: linaro-kernel, linux-pm, ego, paulus, shilpa.bhat, prarit,
	robert.schoene, skannan, Viresh Kumar

Hi Rafael/Preeti,

This is another attempt to fix the crashes reported by Preeti. They work
quite well for me now, and I hope they would work well for Preeti as
well :)

So, patches [1-7,9] are already Reviewed by Preeti.

The first 5 patches are minor cleanups, 6th & 7th try to optimize few
things to make code less complex.

Patches 8-10 actually solve (or try to solve :)) the synchronization
problems, or the crashes I was getting.

V1->V2:
- 7/11 is dropped and only 8/11 is updated, which is 8/10 now.
- Avoid taking the same mutex in both cpufreq_governor_dbs() and
  work-handler as that has given us some locdeps, classic ABBA stuff.
- And so timer_mutex, responsible for synchronizing governor
  work-handlers is kept as is.
- Later patches are almost same with minor updates.
- Invalid state-transitions are sensed better now with improved checks.
- I have run enough tests on my exynos dual core board and failed to
  crash at all. Not that I wanted to crash :)

Rebased over pm/bleeeding-edge.

Viresh Kumar (10):
  cpufreq: governor: Name delayed-work as dwork
  cpufreq: governor: Drop unused field 'cpu'
  cpufreq: governor: Rename 'cpu_dbs_common_info' to 'cpu_dbs_info'
  cpufreq: governor: name pointer to cpu_dbs_info as 'cdbs'
  cpufreq: governor: rename cur_policy as policy
  cpufreq: governor: Keep single copy of information common to
    policy->cpus
  cpufreq: governor: split out common part of {cs|od}_dbs_timer()
  cpufreq: governor: Avoid invalid states with additional checks
  cpufreq: governor: Don't WARN on invalid states
  cpufreq: propagate errors returned from __cpufreq_governor()

 drivers/cpufreq/cpufreq.c              |  22 ++--
 drivers/cpufreq/cpufreq_conservative.c |  25 ++---
 drivers/cpufreq/cpufreq_governor.c     | 196 ++++++++++++++++++++++++---------
 drivers/cpufreq/cpufreq_governor.h     |  40 ++++---
 drivers/cpufreq/cpufreq_ondemand.c     |  67 ++++++-----
 5 files changed, 220 insertions(+), 130 deletions(-)

-- 
2.4.0

--
To unsubscribe from this list: send the line "unsubscribe linux-pm" in

^ permalink raw reply	[flat|nested] 37+ messages in thread

end of thread, other threads:[~2015-12-03 22:00 UTC | newest]

Thread overview: 37+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-06-19 11:48 [PATCH V2 00/10] cpufreq: governor: Avoid invalid state-transitions Viresh Kumar
2015-06-19 11:48 ` [PATCH V2 01/10] cpufreq: governor: Name delayed-work as dwork Viresh Kumar
2015-06-19 11:48 ` [PATCH V2 02/10] cpufreq: governor: Drop unused field 'cpu' Viresh Kumar
2015-06-19 11:48 ` [PATCH V2 03/10] cpufreq: governor: Rename 'cpu_dbs_common_info' to 'cpu_dbs_info' Viresh Kumar
2015-06-19 11:48 ` [PATCH V2 04/10] cpufreq: governor: name pointer to cpu_dbs_info as 'cdbs' Viresh Kumar
2015-06-19 11:48 ` [PATCH V2 05/10] cpufreq: governor: rename cur_policy as policy Viresh Kumar
2015-06-19 11:48 ` [PATCH V2 06/10] cpufreq: governor: Keep single copy of information common to policy->cpus Viresh Kumar
2015-07-17 22:11   ` Rafael J. Wysocki
2015-11-27 11:56   ` Lucas Stach
2015-11-30  5:19     ` Viresh Kumar
2015-11-30 10:34       ` Lucas Stach
2015-11-30 11:03         ` Viresh Kumar
2015-12-02 21:43           ` Saravana Kannan
2015-12-03  4:54             ` Viresh Kumar
2015-12-03  6:53               ` Robert Schöne
2015-12-03 22:00                 ` Saravana Kannan
2015-06-19 11:48 ` [PATCH V2 07/10] cpufreq: governor: split out common part of {cs|od}_dbs_timer() Viresh Kumar
2015-06-19 11:48 ` [PATCH V2 08/10] cpufreq: governor: Avoid invalid states with additional checks Viresh Kumar
2015-06-19 18:04   ` Preeti U Murthy
2015-06-19 11:48 ` [PATCH V2 09/10] cpufreq: governor: Don't WARN on invalid states Viresh Kumar
2015-06-19 11:48 ` [PATCH V2 10/10] cpufreq: propagate errors returned from __cpufreq_governor() Viresh Kumar
2015-06-19 18:02   ` Preeti U Murthy
2015-06-20  3:12     ` Viresh Kumar
2015-06-22  4:41       ` Preeti U Murthy
2015-06-22  5:21         ` Viresh Kumar
2015-06-19 18:09   ` Preeti U Murthy
2015-06-19 18:08 ` [PATCH V2 00/10] cpufreq: governor: Avoid invalid state-transitions Preeti U Murthy
2015-06-19 23:16 ` Rafael J. Wysocki
2015-06-20  2:36   ` Viresh Kumar
2015-07-17 22:15 ` Rafael J. Wysocki
2015-07-18  6:00   ` [PATCH V3 0/5] " Viresh Kumar
2015-07-18  6:00     ` [PATCH V3 1/5] cpufreq: governor: Keep single copy of information common to policy->cpus Viresh Kumar
2015-07-18  6:01     ` [PATCH V3 2/5] cpufreq: governor: split out common part of {cs|od}_dbs_timer() Viresh Kumar
2015-07-18  6:01     ` [PATCH V3 3/5] cpufreq: governor: Avoid invalid states with additional checks Viresh Kumar
2015-07-18  6:01     ` [PATCH V3 4/5] cpufreq: governor: Don't WARN on invalid states Viresh Kumar
2015-07-18  6:01     ` [PATCH V3 5/5] cpufreq: propagate errors returned from __cpufreq_governor() Viresh Kumar
2015-07-23 21:00     ` [PATCH V3 0/5] cpufreq: governor: Avoid invalid state-transitions Rafael J. Wysocki

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).