linux/drivers/cpufreq
Alan Stern b4dfdbb3c7 [PATCH] cpufreq: make the transition_notifier chain use SRCU
This patch (as762) changes the cpufreq_transition_notifier_list from a
blocking_notifier_head to an srcu_notifier_head.  This will prevent errors
caused attempting to call down_read() to access the notifier chain at a
time when interrupts must remain disabled, during system suspend.

It's not clear to me whether this is really necessary; perhaps the chain
could be made into an atomic_notifier.  However a couple of the callout
routines do use blocking operations, so this approach seems safer.

The head of the notifier chain needs to be initialized before use; this is
done by an __init routine at core_initcall time.  If this turns out not to
be a good choice, it can easily be changed.

Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
Cc: "Paul E. McKenney" <paulmck@us.ibm.com>
Cc: Jesse Brandeburg <jesse.brandeburg@gmail.com>
Cc: Dave Jones <davej@codemonkey.org.uk>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-10-04 07:55:30 -07:00
..
Kconfig [CPUFREQ] Update LART site URL 2006-04-03 07:25:54 -05:00
Makefile [CPUFREQ] Conservative cpufreq governer 2005-05-31 19:03:47 -07:00
cpufreq.c [PATCH] cpufreq: make the transition_notifier chain use SRCU 2006-10-04 07:55:30 -07:00
cpufreq_conservative.c [PATCH] Reorganize the cpufreq cpu hotplug locking to not be totally bizare 2006-07-26 07:21:40 -07:00
cpufreq_ondemand.c [CPUFREQ] Fix sparse warning in ondemand 2006-09-05 17:15:47 -04:00
cpufreq_performance.c [CPUFREQ] Lots of whitespace & CodingStyle cleanup. 2006-02-28 00:43:23 -05:00
cpufreq_powersave.c [CPUFREQ] Lots of whitespace & CodingStyle cleanup. 2006-02-28 00:43:23 -05:00
cpufreq_stats.c [CPUFREQ] Fix some more CPU hotplug locking. 2006-09-22 19:15:23 -04:00
cpufreq_userspace.c [PATCH] Reorganize the cpufreq cpu hotplug locking to not be totally bizare 2006-07-26 07:21:40 -07:00
freq_table.c [CPUFREQ] Remove more freq_table reinitialisations. 2006-05-30 18:09:31 -04:00