linux/include
Arjan van de Ven 153d7f3fca [PATCH] Reorganize the cpufreq cpu hotplug locking to not be totally bizare
The patch below moves the cpu hotplugging higher up in the cpufreq
layering; this is needed to avoid recursive taking of the cpu hotplug
lock and to otherwise detangle the mess.

The new rules are:
1. you must do lock_cpu_hotplug() around the following functions:
   __cpufreq_driver_target
   __cpufreq_governor (for CPUFREQ_GOV_LIMITS operation only)
   __cpufreq_set_policy
2. governer methods (.governer) must NOT take the lock_cpu_hotplug()
   lock in any way; they are called with the lock taken already
3. if your governer spawns a thread that does things, like calling
   __cpufreq_driver_target, your thread must honor rule #1.
4. the policy lock and other cpufreq internal locks nest within
   the lock_cpu_hotplug() lock.

I'm not entirely happy about how the __cpufreq_governor rule ended up
(conditional locking rule depending on the argument) but basically all
callers pass this as a constant so it's not too horrible.

The patch also removes the cpufreq_governor() function since during the
locking audit it turned out to be entirely unused (so no need to fix it)

The patch works on my testbox, but it could use more testing
(otoh... it can't be much worse than the current code)

Signed-off-by: Arjan van de Ven <arjan@linux.intel.com>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-07-26 07:21:40 -07:00
..
acpi Pull acpi_os_allocate into test branch 2006-07-10 02:39:47 -04:00
asm-alpha [PATCH] remove set_wmb - arch removal 2006-07-14 21:56:14 -07:00
asm-arm [PATCH] remove set_wmb - arch removal 2006-07-14 21:56:14 -07:00
asm-arm26 [PATCH] remove set_wmb - arch removal 2006-07-14 21:56:14 -07:00
asm-cris [PATCH] remove set_wmb - arch removal 2006-07-14 21:56:14 -07:00
asm-frv [PATCH] remove set_wmb - arch removal 2006-07-14 21:56:14 -07:00
asm-generic [PATCH] hdrinstall: remove asm/io.h from user visibility 2006-07-14 21:53:52 -07:00
asm-h8300 [PATCH] remove set_wmb - arch removal 2006-07-14 21:56:14 -07:00
asm-i386 [PATCH] remove set_wmb - arch removal 2006-07-14 21:56:14 -07:00
asm-ia64 [PATCH] remove set_wmb - arch removal 2006-07-14 21:56:14 -07:00
asm-m32r [PATCH] remove set_wmb - arch removal 2006-07-14 21:56:14 -07:00
asm-m68k [SPARC]: Kill prom_getname, unused and not implemented properly. 2006-07-21 14:17:55 -07:00
asm-m68knommu [PATCH] remove set_wmb - arch removal 2006-07-14 21:56:14 -07:00
asm-mips [PATCH] remove set_wmb - arch removal 2006-07-14 21:56:14 -07:00
asm-parisc [PATCH] remove set_wmb - arch removal 2006-07-14 21:56:14 -07:00
asm-powerpc [PATCH] remove set_wmb - arch removal 2006-07-14 21:56:14 -07:00
asm-ppc [PATCH] remove set_wmb - arch removal 2006-07-14 21:56:14 -07:00
asm-s390 [S390] get_clock inline assembly. 2006-07-17 16:09:42 +02:00
asm-sh [PATCH] remove set_wmb - arch removal 2006-07-14 21:56:14 -07:00
asm-sh64 [PATCH] remove set_wmb - arch removal 2006-07-14 21:56:14 -07:00
asm-sparc [SPARC]: Kill prom_getname, unused and not implemented properly. 2006-07-21 14:17:55 -07:00
asm-sparc64 [SPARC]: Kill prom_getname, unused and not implemented properly. 2006-07-21 14:17:55 -07:00
asm-um Merge git://git.infradead.org/hdrinstall-2.6 2006-07-04 12:55:45 -07:00
asm-v850 [PATCH] remove set_wmb - arch removal 2006-07-14 21:56:14 -07:00
asm-x86_64 [PATCH] remove set_wmb - arch removal 2006-07-14 21:56:14 -07:00
asm-xtensa [PATCH] remove set_wmb - arch removal 2006-07-14 21:56:14 -07:00
keys [PATCH] keys: discard the contents of a key on revocation 2006-06-26 09:58:18 -07:00
linux [PATCH] Reorganize the cpufreq cpu hotplug locking to not be totally bizare 2006-07-26 07:21:40 -07:00
math-emu
media V4L/DVB (4270): Add tda9887-specific tuner configuration 2006-06-30 15:59:32 -03:00
mtd Merge git://git.infradead.org/hdrinstall-2.6 2006-07-04 12:55:45 -07:00
net [PKT_SCHED]: Fix regression in PSCHED_TADD{,2}. 2006-07-24 12:44:23 -07:00
pcmcia
rdma IB/mad: Validate MADs for spec compliance 2006-07-24 09:18:07 -07:00
rxrpc
scsi [SCSI] scsi_transport_sas: add expander backlink 2006-07-12 09:03:20 -04:00
sound [ALSA] Fix section mismatch errors in ALSA PCI drivers 2006-07-12 20:08:01 +02:00
video [PATCH] mbxfb: Add framebuffer driver for the Intel 2700G 2006-07-14 21:53:55 -07:00
Kbuild Add generic Kbuild files for 'make headers_install' 2006-06-18 12:14:01 +01:00