Hibernation: New testing facility (rev. 2)
authorRafael J. Wysocki <rjw@sisk.pl>
Mon, 19 Nov 2007 22:42:31 +0000 (23:42 +0100)
committerLen Brown <len.brown@intel.com>
Fri, 1 Feb 2008 23:30:54 +0000 (18:30 -0500)
commit4cc79776c9ea431790e04fcacbebb30d28eb1570
tree42eb5b8c5f2a2d1fcfb1dae8fa77ad70be209cbb
parent039a75c6e17ba4ff76998d6ac6ee3d508fff1930
Hibernation: New testing facility (rev. 2)

Make it possible to test the hibernation core code with the help of the
/sys/power/pm_test attribute introduced for suspend testing in the previous
patch.

Writing an appropriate string to this file causes the hibernation code to work
in one of the test modes defined as follows:

freezer
- test the freezing of processes

devices
- test the freezing of processes and suspending of devices

platform
- test the freezing of processes, suspending of devices and platform global
  control methods(*)

processors
- test the freezing of processes, suspending of devices, platform global
  control methods(*) and the disabling of nonboot CPUs

core
- test the freezing of processes, suspending of devices, platform global
  control methods(*), the disabling of nonboot CPUs and suspending of
  platform/system devices

(*) - the platform global control methods are only available on ACPI systems
      and are only tested if the hibernation mode is set to "platform"

Then, if a hibernation is started by normal means, the hibernation core will
perform its normal operations up to the point indicated by given test level.
Next, it will wait for 5 seconds and carry out the resume operations needed to
transition the system back to the fully functional state.

Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
Acked-by: Pavel Machek <pavel@ucw.cz>
Signed-off-by: Len Brown <len.brown@intel.com>
kernel/power/disk.c
kernel/power/power.h