]> git.proxmox.com Git - mirror_ubuntu-zesty-kernel.git/commit - kernel/cgroup_freezer.c
cgroup_freezer: document freezer_fork() subtleties
authorTejun Heo <tj@kernel.org>
Wed, 12 Feb 2014 21:07:59 +0000 (16:07 -0500)
committerTejun Heo <tj@kernel.org>
Tue, 25 Feb 2014 15:04:40 +0000 (10:04 -0500)
commita60bed296ac67b9e2765646dec8e36e3b4d7c395
tree8056af9bec7cc230369ce94514560111bce0ad29
parent952aaa125428fae883670a2c2e40ea8044ca1eaa
cgroup_freezer: document freezer_fork() subtleties

cgroup_subsys->fork() callback is special in that it's called outside
the usual cgroup locking and may race with on-going migration.
freezer_fork() currently doesn't consider such race condition;
however, it is still correct thanks to the fact that freeze_task() may
be called spuriously.

This is quite subtle.  Let's explain what's going on and add test to
detect racing and losing to task migration and skip freeze_task() in
such cases for documentation.

This doesn't make any behavior difference meaningful to userland.

Signed-off-by: Tejun Heo <tj@kernel.org>
Cc: Li Zefan <lizefan@huawei.com>
Cc: "Rafael J. Wysocki" <rjw@rjwysocki.net>
kernel/cgroup_freezer.c