Re: [patch] Reorganize the cpufreq cpu hotplug locking to not be totally bizare

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, Jul 26, 2006 at 03:40:07PM +0200, Arjan van de Ven wrote:

 > Subject: Reorganize the cpufreq cpu hotplug locking to not be totally bizare
 > From: Arjan van de Ven <[email protected]>
 > 
 > 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 <[email protected]>

Looks sensible to me.   Assuming it passes testing..

Signed-off-by: Dave Jones <[email protected]>

Linus ?

		Dave

-- 
http://www.codemonkey.org.uk
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux