[lkml]   [2006]   [Jul]   [9]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
SubjectRe: 2.6.18-rc1-mm1
Andrew Morton wrote:
> On Sun, 9 Jul 2006 12:26:45 +0200
> "Fabio Comolli" <> wrote:
>>[ INFO: possible circular locking dependency detected ]
>>cpuspeed/1520 is trying to acquire lock:
>> (&policy->lock){--..}, at: [<c02c130f>] mutex_lock+0x21/0x24
>>but task is already holding lock:
>> (cpucontrol){--..}, at: [<c02c130f>] mutex_lock+0x21/0x24
>>which lock already depends on the new lock.
> Yeah, that's lock_cpu_hotplug(). We've made a complete and utter mess of
> that thing.
> And I don't know how to fix it, really. Is it a highly-localised innermost
> lock? Or a broad-coverage outermost lock? Nobody knows, neither suits.
> I'm suspecting is was a bad idea and we should just rip it out altogether.
> - If a piece of kernel code is dealing with cpu-local data it needs to be
> running atomically, and that'll hold off hot hotplug anyway.

These guys don't need lock_cpu_hotplug() today.

> - If a piece of kernel code is dealing with per-cpu data and cannot run
> atomically then it should have its own cpu hotplug handlers anyway. It
> is up to that code (ie: cpufreq) to provide its own locking against its
> own CPU hotplug callback.

This still does not solve this cpufreq problem where it is trying to
take the same lock twice down the same call path. Whether it is the
lock_cpu_hotplug mutex or another one, the code must be just busted.

SUSE Labs, Novell Inc.
Send instant messages to your online friends

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

 \ /
  Last update: 2006-07-09 16:15    [W:0.088 / U:5.976 seconds]
©2003-2018 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site