Re: CPUFREQ-CPUHOTPLUG: Possible circular locking dependency

From: Ingo Molnar
Date: Thu Nov 30 2006 - 06:04:19 EST

* Gautham R Shenoy <ego@xxxxxxxxxx> wrote:

> a) cpufreq maintain's it's own cpumask in the variable
> policy->affected_cpus and says : If a frequency change is issued to
> any one of the cpu's in the affected_cpus mask, you change frequency
> on all cpus in the mask. So this needs to be consistent with
> cpu_online map and hence cpu hotplug aware. Furthermore, we don't want
> cpus in this mask to go down when we are trying to change frequencies
> on them. The function which drives the frequency change in
> cpufreq-core is cpufreq_driver_target and it needs cpu-hotplug
> protection.

couldnt this complexity be radically simplified by having new kernel
infrastructure that does something like:

" 'gather' all CPUs mentioned in <mask> via scheduling a separate
helper-kthread on every CPU that <mask> specifies, disable all
interrupts, and execute function <fn> once all CPUs have been
'gathered' - and release all CPUs once <fn> has executed on each of


This would be done totally serialized and while holding the hotplug
lock, so no CPU could go away or arrive while this operation is going

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at
Please read the FAQ at