|  | What:		/sys/power/ | 
|  | Date:		August 2006 | 
|  | Contact:	Rafael J. Wysocki <rjw@sisk.pl> | 
|  | Description: | 
|  | The /sys/power directory will contain files that will | 
|  | provide a unified interface to the power management | 
|  | subsystem. | 
|  |  | 
|  | What:		/sys/power/state | 
|  | Date:		August 2006 | 
|  | Contact:	Rafael J. Wysocki <rjw@sisk.pl> | 
|  | Description: | 
|  | The /sys/power/state file controls the system power state. | 
|  | Reading from this file returns what states are supported, | 
|  | which is hard-coded to 'standby' (Power-On Suspend), 'mem' | 
|  | (Suspend-to-RAM), and 'disk' (Suspend-to-Disk). | 
|  |  | 
|  | Writing to this file one of these strings causes the system to | 
|  | transition into that state. Please see the file | 
|  | Documentation/power/states.txt for a description of each of | 
|  | these states. | 
|  |  | 
|  | What:		/sys/power/disk | 
|  | Date:		September 2006 | 
|  | Contact:	Rafael J. Wysocki <rjw@sisk.pl> | 
|  | Description: | 
|  | The /sys/power/disk file controls the operating mode of the | 
|  | suspend-to-disk mechanism.  Reading from this file returns | 
|  | the name of the method by which the system will be put to | 
|  | sleep on the next suspend.  There are four methods supported: | 
|  | 'firmware' - means that the memory image will be saved to disk | 
|  | by some firmware, in which case we also assume that the | 
|  | firmware will handle the system suspend. | 
|  | 'platform' - the memory image will be saved by the kernel and | 
|  | the system will be put to sleep by the platform driver (e.g. | 
|  | ACPI or other PM registers). | 
|  | 'shutdown' - the memory image will be saved by the kernel and | 
|  | the system will be powered off. | 
|  | 'reboot' - the memory image will be saved by the kernel and | 
|  | the system will be rebooted. | 
|  |  | 
|  | Additionally, /sys/power/disk can be used to turn on one of the | 
|  | two testing modes of the suspend-to-disk mechanism: 'testproc' | 
|  | or 'test'.  If the suspend-to-disk mechanism is in the | 
|  | 'testproc' mode, writing 'disk' to /sys/power/state will cause | 
|  | the kernel to disable nonboot CPUs and freeze tasks, wait for 5 | 
|  | seconds, unfreeze tasks and enable nonboot CPUs.  If it is in | 
|  | the 'test' mode, writing 'disk' to /sys/power/state will cause | 
|  | the kernel to disable nonboot CPUs and freeze tasks, shrink | 
|  | memory, suspend devices, wait for 5 seconds, resume devices, | 
|  | unfreeze tasks and enable nonboot CPUs.  Then, we are able to | 
|  | look in the log messages and work out, for example, which code | 
|  | is being slow and which device drivers are misbehaving. | 
|  |  | 
|  | The suspend-to-disk method may be chosen by writing to this | 
|  | file one of the accepted strings: | 
|  |  | 
|  | 'firmware' | 
|  | 'platform' | 
|  | 'shutdown' | 
|  | 'reboot' | 
|  | 'testproc' | 
|  | 'test' | 
|  |  | 
|  | It will only change to 'firmware' or 'platform' if the system | 
|  | supports that. | 
|  |  | 
|  | What:		/sys/power/image_size | 
|  | Date:		August 2006 | 
|  | Contact:	Rafael J. Wysocki <rjw@sisk.pl> | 
|  | Description: | 
|  | The /sys/power/image_size file controls the size of the image | 
|  | created by the suspend-to-disk mechanism.  It can be written a | 
|  | string representing a non-negative integer that will be used | 
|  | as an upper limit of the image size, in bytes.  The kernel's | 
|  | suspend-to-disk code will do its best to ensure the image size | 
|  | will not exceed this number.  However, if it turns out to be | 
|  | impossible, the kernel will try to suspend anyway using the | 
|  | smallest image possible.  In particular, if "0" is written to | 
|  | this file, the suspend image will be as small as possible. | 
|  |  | 
|  | Reading from this file will display the current image size | 
|  | limit, which is set to 500 MB by default. | 
|  |  | 
|  | What:		/sys/power/pm_trace | 
|  | Date:		August 2006 | 
|  | Contact:	Rafael J. Wysocki <rjw@sisk.pl> | 
|  | Description: | 
|  | The /sys/power/pm_trace file controls the code which saves the | 
|  | last PM event point in the RTC across reboots, so that you can | 
|  | debug a machine that just hangs during suspend (or more | 
|  | commonly, during resume).  Namely, the RTC is only used to save | 
|  | the last PM event point if this file contains '1'.  Initially | 
|  | it contains '0' which may be changed to '1' by writing a | 
|  | string representing a nonzero integer into it. | 
|  |  | 
|  | To use this debugging feature you should attempt to suspend | 
|  | the machine, then reboot it and run | 
|  |  | 
|  | dmesg -s 1000000 | grep 'hash matches' | 
|  |  | 
|  | CAUTION: Using it will cause your machine's real-time (CMOS) | 
|  | clock to be set to a random invalid time after a resume. |