linux/kernel/power
Tejun Heo 85f1d47665 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>
2011-11-21 12:32:24 -08:00
..
block_io.c block: kill off REQ_UNPLUG 2011-03-10 08:52:27 +01:00
console.c PM / VT: Cleanup #if defined uglyness and fix compile error 2011-10-16 23:28:51 +02:00
hibernate.c PM / Hibernate: Fix the early termination of test modes 2011-11-18 23:02:42 +01:00
Kconfig Merge branch 'devel-stable' of http://ftp.arm.linux.org.uk/pub/linux/arm/kernel/git-cur/linux-2.6-arm 2011-10-28 12:02:27 -07:00
main.c PM / Suspend: Fix bug in suspend statistics update 2011-11-19 14:37:57 +01:00
Makefile PM / VT: Cleanup #if defined uglyness and fix compile error 2011-10-16 23:28:51 +02:00
power.h PM / Hibernate: Improve performance of LZO/plain hibernation, checksum image 2011-10-16 23:30:38 +02:00
poweroff.c Input: sysrq - drop tty argument from sysrq ops handlers 2010-08-19 22:07:06 -07:00
process.c freezer: test freezable conditions while holding freezer_lock 2011-11-21 12:32:24 -08:00
qos.c PM / QoS: Set cpu_dma_pm_qos->name 2011-11-07 23:02:24 +01:00
snapshot.c PM / Hibernate: Include storage keys in hibernation image on s390 2011-10-16 23:27:46 +02:00
suspend_test.c PM: Make warning in suspend_test_finish() less likely to happen 2009-10-22 08:23:45 +09:00
suspend.c kernel: Fix files explicitly needing EXPORT_SYMBOL infrastructure 2011-10-31 19:30:05 -04:00
swap.c PM / Hibernate: Improve performance of LZO/plain hibernation, checksum image 2011-10-16 23:30:38 +02:00
user.c kernel: fix several implicit usasges of kmod.h 2011-10-31 09:20:12 -04:00