diff options
author | Tejun Heo | 2014-02-12 22:07:59 +0100 |
---|---|---|
committer | Tejun Heo | 2014-02-25 16:04:40 +0100 |
commit | a60bed296ac67b9e2765646dec8e36e3b4d7c395 (patch) | |
tree | 8056af9bec7cc230369ce94514560111bce0ad29 /kernel/cgroup.c | |
parent | cgroup: update cgroup_transfer_tasks() to either succeed or fail (diff) | |
download | kernel-qcow2-linux-a60bed296ac67b9e2765646dec8e36e3b4d7c395.tar.gz kernel-qcow2-linux-a60bed296ac67b9e2765646dec8e36e3b4d7c395.tar.xz kernel-qcow2-linux-a60bed296ac67b9e2765646dec8e36e3b4d7c395.zip |
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>
Diffstat (limited to 'kernel/cgroup.c')
0 files changed, 0 insertions, 0 deletions