Messages in this thread | | | Date | Wed, 20 Mar 2013 08:03:51 -0700 | From | Tejun Heo <> | Subject | Re: [PATCH cgroup/for-3.10] cgroup: make cgroup_mutex outer to threadgroup_lock |
| |
On Wed, Mar 20, 2013 at 08:58:08AM +0800, Li Zefan wrote: > On 2013/3/20 6:02, Tejun Heo wrote: > > It doesn't make sense to nest cgroup_mutex inside threadgroup_lock > > when it should be outer to most all locks used by all cgroup > > controllers. It was nested inside threadgroup_lock only because some > > controllers were abusing cgroup_mutex inside controllers leading to > > locking order inversion. > > > > cgroup_mutex is no longer abused by controllers and can be put outer > > to threadgroup_lock. Reverse the locking order in > > attach_task_by_pid(). > > > > But the code contrast to the changelog. ;) > > cgroup_mutex is currently outside of threadgroup_lock, and you're making > it nested inside threadgroup_lock in the code.
Heh heh, thanks for spotting my idiocy. Yeah, the locking order between the two has been swapped a couple times while writing up the original threadgroup_lock patch and I misremembered how it was at the end and got totally confused when writing this patch. Sorry about that. So, let's leave the locking in cgroup alone. I like cgroup_mutex to be the outer one.
Thanks.
-- tejun
| |