/conf/

co'/>
summaryrefslogtreecommitdiff
path: root/kernel/power/process.c
diff options
context:
space:
mode:
authorTejun Heo <tj@kernel.org>2011-11-21 12:32:24 -0800
committerTejun Heo <tj@kernel.org>2011-11-21 12:32:24 -0800
commit85f1d476653f52c97ca75466b2494e67c1cbd25d (patch)
treea1839143272cc4e6593e5d4c97e8a3c39aed08ff /kernel/power/process.c
parent6907483b4e803a20f0b48cc9afa3817420ce61c5 (diff)
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/power/process.c')