Messages in this thread | | | Date | Mon, 23 Jun 2008 23:29:21 -0700 | From | Max Krasnyansky <> | Subject | Re: v2.6.26-rc7/cgroups: circular locking dependency |
| |
Peter Zijlstra wrote: > On Mon, 2008-06-23 at 00:34 +0900, KOSAKI Motohiro wrote: >> CC'ed Paul Jackson >> >> it seems typical ABBA deadlock. >> I think cpuset use cgrou_lock() by mistake. >> >> IMHO, cpuset_handle_cpuhp() sholdn't use cgroup_lock() and >> shouldn't call rebuild_sched_domains(). > > Looks like Max forgot to test with lockdep enabled... Hmm, I don't think I actually changed any lock nesting/dependencies. Did I ? Oh, I see rebuild_sched_domains() is now called from cpuset hotplug handler. I just looked at the comment for rebuild_sched_domains() and it says " * Call with cgroup_mutex held. ..." that's why I thought it's safe and it worked on the test stations.
Anyway, we need definitely need to make rebuild_sched_domains() work from the hotplug handler.
> Well, someone should when you change the online map. > > Max, Paul, can we handle this in update_sched_domains() instead?
That'd be exactly the same as calling rebuild_sched_domains() outside of the cgroup_lock(). So I do not think it'll help. Paul has more info in his reply so I'll reply to his email.
Max
| |