From: Tejun Heo Date: Mon, 21 Nov 2011 20:32:24 +0000 (-0800) Subject: freezer: test freezable conditions while holding freezer_lock X-Git-Tag: v3.3-rc1~148^2~24^2~14 X-Git-Url: http://git.openpandora.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=85f1d476653f52c97ca75466b2494e67c1cbd25d;p=pandora-kernel.git 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 Cc: Oleg Nesterov --- Reading git-diff-tree failed