diff options
author | Tejun Heo <tj@kernel.org> | 2011-11-21 21:32:24 +0100 |
---|---|---|
committer | Tejun Heo <tj@kernel.org> | 2011-11-21 21:32:24 +0100 |
commit | 85f1d476653f52c97ca75466b2494e67c1cbd25d (patch) | |
tree | a1839143272cc4e6593e5d4c97e8a3c39aed08ff /kernel/rcutree_trace.c | |
parent | freezer: make freezing indicate freeze condition in effect (diff) | |
download | linux-85f1d476653f52c97ca75466b2494e67c1cbd25d.tar.xz linux-85f1d476653f52c97ca75466b2494e67c1cbd25d.zip |
freezer: test freezable conditions while holding freezer_lock
try_to_freeze_tasks() and thaw_processes() use freezable() and
frozen() as preliminary tests before initiating operations on a task.
These are done without any synchronization and hinder with
synchronization cleanup without any real performance benefits.
In try_to_freeze_tasks(), open code self test and move PF_NOFREEZE and
frozen() tests inside freezer_lock in freeze_task().
thaw_processes() can simply drop freezable() test as frozen() test in
__thaw_task() is enough.
Note: This used to be a part of larger patch to fix set_freezable()
race. Separated out to satisfy ordering among dependent fixes.
Signed-off-by: Tejun Heo <tj@kernel.org>
Cc: Oleg Nesterov <oleg@redhat.com>
Diffstat (limited to 'kernel/rcutree_trace.c')
0 files changed, 0 insertions, 0 deletions