cgroup_freezer: prepare update_if_frozen() for locking change
authorTejun Heo <tj@kernel.org>
Tue, 16 Oct 2012 22:03:14 +0000 (15:03 -0700)
committerTejun Heo <tj@kernel.org>
Sat, 20 Oct 2012 23:33:08 +0000 (16:33 -0700)
commitb4d18311d37b0b1b370a1ef3e4de92b97930f0a8
treeca43c69c402de2cf67dc45e45ab90f86b489ff9c
parent8755ade683241e8c6b8fe8d22d0ae35041a3dc51
cgroup_freezer: prepare update_if_frozen() for locking change

Locking will change such that migration can happen while
freezer_read/write() is in progress.  This means that
update_if_frozen() can no longer assume that all tasks in the cgroup
coform to the current freezer state - newly migrated tasks which
haven't finished freezer_attach() yet might be in any state.

This patch updates update_if_frozen() such that it no longer verifies
task states against freezer state.  It now simply decides whether
FREEZING stage is complete.

This removal of verification makes it meaningless to call from
freezer_change_state().  Drop it and move the fast exit test from
freezer_read() - the only left caller - to update_if_frozen().

Signed-off-by: Tejun Heo <tj@kernel.org>
Cc: Oleg Nesterov <oleg@redhat.com>
Cc: Rafael J. Wysocki <rjw@sisk.pl>
Cc: Li Zefan <lizefan@huawei.com>
kernel/cgroup_freezer.c