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

From: Tejun Heo
Date: Tue Dec 27 2011 - 12:06:44 EST


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@xxxxxxxxx>
> Cc: Li Zefan <lizf@xxxxxxxxxxxxxx>
> Cc: Tejun Heo <tj@xxxxxxxxxx>
> Cc: Containers <containers@xxxxxxxxxxxxxxxxxxxxxxxxxx>
> Cc: Cgroups <cgroups@xxxxxxxxxxxxxxx>
> Cc: KAMEZAWA Hiroyuki <kamezawa.hiroyu@xxxxxxxxxxxxxx>
> Cc: Oleg Nesterov <oleg@xxxxxxxxxx>
> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
> Cc: Paul Menage <paul@xxxxxxxxxxxxxx>
> Cc: Mandeep Singh Baines <msb@xxxxxxxxxxxx>

Applied to cgroup/for-3.3. Thank you.

--
tejun
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/