[PATCH v2] cgroup: Remove task_lock() from cgroup_post_fork()

Tejun Heo tj at kernel.org
Fri Dec 23 23:00:13 UTC 2011


On Fri, Dec 23, 2011 at 04:25:23AM +0100, Frederic Weisbecker wrote:
> cgroup_post_fork() is protected between threadgroup_change_begin()
> and threadgroup_change_end() against concurrent changes of the
> child's css_set in cgroup_task_migrate(). Also the child can't
> exit and call cgroup_exit() at this stage, this means it's css_set
> can't be changed with init_css_set concurrently.
> 
> For these reasons, we don't need to hold task_lock() on the child
> because it's css_set can only remain stable in this place.
> 
> Let's remove the lock there.
> 
> v2: Update comment to explain that we are safe against
> cgroup_exit()
> 
> Signed-off-by: Frederic Weisbecker <fweisbec at gmail.com>
> Cc: Li Zefan <lizf at cn.fujitsu.com>
> Cc: Tejun Heo <tj at kernel.org>
> Cc: Containers <containers at lists.linux-foundation.org>
> Cc: Cgroups <cgroups at vger.kernel.org>
> Cc: KAMEZAWA Hiroyuki <kamezawa.hiroyu at jp.fujitsu.com>
> Cc: Oleg Nesterov <oleg at redhat.com>
> Cc: Andrew Morton <akpm at linux-foundation.org>
> Cc: Paul Menage <paul at paulmenage.org>
> Cc: Mandeep Singh Baines <msb at chromium.org>

Li, does this look good to you?

Thanks.

-- 
tejun


More information about the Containers mailing list