123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270 |
- What: /sys/power/
- Date: August 2006
- Contact: Rafael J. Wysocki <rjw@rjwysocki.net>
- Description:
- The /sys/power directory will contain files that will
- provide a unified interface to the power management
- subsystem.
- What: /sys/power/state
- Date: May 2014
- Contact: Rafael J. Wysocki <rjw@rjwysocki.net>
- Description:
- The /sys/power/state file controls system sleep states.
- Reading from this file returns the available sleep state
- labels, which may be "mem", "standby", "freeze" and "disk"
- (hibernation). The meanings of the first three labels depend on
- the relative_sleep_states command line argument as follows:
- 1) relative_sleep_states = 1
- "mem", "standby", "freeze" represent non-hibernation sleep
- states from the deepest ("mem", always present) to the
- shallowest ("freeze"). "standby" and "freeze" may or may
- not be present depending on the capabilities of the
- platform. "freeze" can only be present if "standby" is
- present.
- 2) relative_sleep_states = 0 (default)
- "mem" - "suspend-to-RAM", present if supported.
- "standby" - "power-on suspend", present if supported.
- "freeze" - "suspend-to-idle", always present.
- Writing to this file one of these strings causes the system to
- transition into the corresponding state, if available. See
- Documentation/power/states.txt for a description of what
- "suspend-to-RAM", "power-on suspend" and "suspend-to-idle" mean.
- What: /sys/power/disk
- Date: September 2006
- Contact: Rafael J. Wysocki <rjw@rjwysocki.net>
- 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@rjwysocki.net>
- 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@rjwysocki.net>
- 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'
- If you do not get any matches (or they appear to be false
- positives), it is possible that the last PM event point
- referred to a device created by a loadable kernel module. In
- this case cat /sys/power/pm_trace_dev_match (see below) after
- your system is started up and the kernel modules are loaded.
- CAUTION: Using it will cause your machine's real-time (CMOS)
- clock to be set to a random invalid time after a resume.
- What; /sys/power/pm_trace_dev_match
- Date: October 2010
- Contact: James Hogan <james@albanarts.com>
- Description:
- The /sys/power/pm_trace_dev_match file contains the name of the
- device associated with the last PM event point saved in the RTC
- across reboots when pm_trace has been used. More precisely it
- contains the list of current devices (including those
- registered by loadable kernel modules since boot) which match
- the device hash in the RTC at boot, with a newline after each
- one.
- The advantage of this file over the hash matches printed to the
- kernel log (see /sys/power/pm_trace), is that it includes
- devices created after boot by loadable kernel modules.
- Due to the small hash size necessary to fit in the RTC, it is
- possible that more than one device matches the hash, in which
- case further investigation is required to determine which
- device is causing the problem. Note that genuine RTC clock
- values (such as when pm_trace has not been used), can still
- match a device and output it's name here.
- What: /sys/power/pm_async
- Date: January 2009
- Contact: Rafael J. Wysocki <rjw@rjwysocki.net>
- Description:
- The /sys/power/pm_async file controls the switch allowing the
- user space to enable or disable asynchronous suspend and resume
- of devices. If enabled, this feature will cause some device
- drivers' suspend and resume callbacks to be executed in parallel
- with each other and with the main suspend thread. It is enabled
- if this file contains "1", which is the default. It may be
- disabled by writing "0" to this file, in which case all devices
- will be suspended and resumed synchronously.
- What: /sys/power/wakeup_count
- Date: July 2010
- Contact: Rafael J. Wysocki <rjw@rjwysocki.net>
- Description:
- The /sys/power/wakeup_count file allows user space to put the
- system into a sleep state while taking into account the
- concurrent arrival of wakeup events. Reading from it returns
- the current number of registered wakeup events and it blocks if
- some wakeup events are being processed at the time the file is
- read from. Writing to it will only succeed if the current
- number of wakeup events is equal to the written value and, if
- successful, will make the kernel abort a subsequent transition
- to a sleep state if any wakeup events are reported after the
- write has returned.
- What: /sys/power/reserved_size
- Date: May 2011
- Contact: Rafael J. Wysocki <rjw@rjwysocki.net>
- Description:
- The /sys/power/reserved_size file allows user space to control
- the amount of memory reserved for allocations made by device
- drivers during the "device freeze" stage of hibernation. It can
- be written a string representing a non-negative integer that
- will be used as the amount of memory to reserve for allocations
- made by device drivers' "freeze" callbacks, in bytes.
- Reading from this file will display the current value, which is
- set to 1 MB by default.
- What: /sys/power/autosleep
- Date: April 2012
- Contact: Rafael J. Wysocki <rjw@rjwysocki.net>
- Description:
- The /sys/power/autosleep file can be written one of the strings
- returned by reads from /sys/power/state. If that happens, a
- work item attempting to trigger a transition of the system to
- the sleep state represented by that string is queued up. This
- attempt will only succeed if there are no active wakeup sources
- in the system at that time. After every execution, regardless
- of whether or not the attempt to put the system to sleep has
- succeeded, the work item requeues itself until user space
- writes "off" to /sys/power/autosleep.
- Reading from this file causes the last string successfully
- written to it to be returned.
- What: /sys/power/wake_lock
- Date: February 2012
- Contact: Rafael J. Wysocki <rjw@rjwysocki.net>
- Description:
- The /sys/power/wake_lock file allows user space to create
- wakeup source objects and activate them on demand (if one of
- those wakeup sources is active, reads from the
- /sys/power/wakeup_count file block or return false). When a
- string without white space is written to /sys/power/wake_lock,
- it will be assumed to represent a wakeup source name. If there
- is a wakeup source object with that name, it will be activated
- (unless active already). Otherwise, a new wakeup source object
- will be registered, assigned the given name and activated.
- If a string written to /sys/power/wake_lock contains white
- space, the part of the string preceding the white space will be
- regarded as a wakeup source name and handled as descrived above.
- The other part of the string will be regarded as a timeout (in
- nanoseconds) such that the wakeup source will be automatically
- deactivated after it has expired. The timeout, if present, is
- set regardless of the current state of the wakeup source object
- in question.
- Reads from this file return a string consisting of the names of
- wakeup sources created with the help of it that are active at
- the moment, separated with spaces.
- What: /sys/power/wake_unlock
- Date: February 2012
- Contact: Rafael J. Wysocki <rjw@rjwysocki.net>
- Description:
- The /sys/power/wake_unlock file allows user space to deactivate
- wakeup sources created with the help of /sys/power/wake_lock.
- When a string is written to /sys/power/wake_unlock, it will be
- assumed to represent the name of a wakeup source to deactivate.
- If a wakeup source object of that name exists and is active at
- the moment, it will be deactivated.
- Reads from this file return a string consisting of the names of
- wakeup sources created with the help of /sys/power/wake_lock
- that are inactive at the moment, separated with spaces.
- What: /sys/power/pm_print_times
- Date: May 2012
- Contact: Sameer Nanda <snanda@chromium.org>
- Description:
- The /sys/power/pm_print_times file allows user space to
- control whether the time taken by devices to suspend and
- resume is printed. These prints are useful for hunting down
- devices that take too long to suspend or resume.
- Writing a "1" enables this printing while writing a "0"
- disables it. The default value is "0". Reading from this file
- will display the current value.
- What: /sys/power/pm_wakeup_irq
- Date: April 2015
- Contact: Alexandra Yates <alexandra.yates@linux.intel.org>
- Description:
- The /sys/power/pm_wakeup_irq file reports to user space the IRQ
- number of the first wakeup interrupt (that is, the first
- interrupt from an IRQ line armed for system wakeup) seen by the
- kernel during the most recent system suspend/resume cycle.
- This output is useful for system wakeup diagnostics of spurious
- wakeup interrupts.
|