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 -- To unsubscribe from this list: send the line "unsubscribe cgroups" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html