On Thu, Nov 29, 2012 at 06:26:46AM -0800, Tejun Heo wrote: > > What I'll try to do, is to come with another specialized lock in cgroup > > just for this case. So after taking the cgroup lock, we would also take > > an extra lock if we are adding another entry - be it task or children - > > to the cgroup. > > No, please don't do that. Just don't invoke cgroup operation inside > any subsystem lock. To add a bit, you won't be solving any problem by adding more locks here. cpuset wants to initiate task cgroup migration. It doesn't matter how many locks cgroup uses internally. You'll have to grab them all anyway to do that. It's not a problem caused by granularity of cgroup_lock at all, so there just isn't any logic in dividing locks for this. So, again, please don't go that direction. What we need to do is isolating subsystem locking and implementation from cgroup internals, not complicating cgroup internals even more, and now we have good enoug API to achieve such isolation. Thanks. -- tejun -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>