Hi Venki, On Wed, Dec 06, 2006 at 10:27:01AM -0800, Pallipadi, Venkatesh wrote:
> But, if we make cpufreq more affected_cpus aware and have a per_cpu > target() > call by moving set_cpus_allowed() from driver into cpufreq core and > define > the target function to be atomic/non-sleeping type, then we really don't > need a hotplug lock for the driver any more. Driver can have > get_cpu/put_cpu > pair to disable preemption and then change the frequency. Well, we would still need to keep the affected_cpus map in sync with the cpu_online map. That would still require hotplug protection, right? Besides, I would love to see a way of implementing target function to be atomic/non-sleeping type. But as of now, the target functions call cpufreq_notify_transition which might sleep. That's not the last of my worries. The ondemand-workqueue interaction in the cpu_hotplug callback path can cause a deadlock if we go for per-subsystem hotcpu mutexes. Can you think of a way by which we can avoid destroying the kondemand workqueue from the cpu-hotplug callback path ? Please see http://lkml.org/lkml/2006/11/30/9 for the culprit-callpath. Thanks and Regards gautham. -- Gautham R Shenoy Linux Technology Center IBM India. "Freedom comes with a price tag of responsibility, which is still a bargain, because Freedom is priceless!" - 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/