interface.txt 3.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. Power Management Interface
  2. The power management subsystem provides a unified sysfs interface to
  3. userspace, regardless of what architecture or platform one is
  4. running. The interface exists in /sys/power/ directory (assuming sysfs
  5. is mounted at /sys).
  6. /sys/power/state controls system power state. Reading from this file
  7. returns what states are supported, which is hard-coded to 'standby'
  8. (Power-On Suspend), 'mem' (Suspend-to-RAM), and 'disk'
  9. (Suspend-to-Disk).
  10. Writing to this file one of those strings causes the system to
  11. transition into that state. Please see the file
  12. Documentation/power/states.txt for a description of each of those
  13. states.
  14. /sys/power/disk controls the operating mode of the suspend-to-disk
  15. mechanism. Suspend-to-disk can be handled in several ways. The
  16. greatest distinction is who writes memory to disk - the firmware or
  17. the kernel. If the firmware does it, we assume that it also handles
  18. suspending the system.
  19. If the kernel does it, then we have three options for putting the system
  20. to sleep - using the platform driver (e.g. ACPI or other PM
  21. registers), powering off the system or rebooting the system (for
  22. testing). The system will support either 'firmware' or 'platform', and
  23. that is known a priori. But, the user may choose 'shutdown' or
  24. 'reboot' as alternatives.
  25. Additionally, /sys/power/disk can be used to turn on one of the two testing
  26. modes of the suspend-to-disk mechanism: 'testproc' or 'test'. If the
  27. suspend-to-disk mechanism is in the 'testproc' mode, writing 'disk' to
  28. /sys/power/state will cause the kernel to disable nonboot CPUs and freeze
  29. tasks, wait for 5 seconds, unfreeze tasks and enable nonboot CPUs. If it is
  30. in the 'test' mode, writing 'disk' to /sys/power/state will cause the kernel
  31. to disable nonboot CPUs and freeze tasks, shrink memory, suspend devices, wait
  32. for 5 seconds, resume devices, unfreeze tasks and enable nonboot CPUs. Then,
  33. we are able to look in the log messages and work out, for example, which code
  34. is being slow and which device drivers are misbehaving.
  35. Reading from this file will display what the mode is currently set
  36. to. Writing to this file will accept one of
  37. 'firmware'
  38. 'platform'
  39. 'shutdown'
  40. 'reboot'
  41. 'testproc'
  42. 'test'
  43. It will only change to 'firmware' or 'platform' if the system supports
  44. it.
  45. /sys/power/image_size controls the size of the image created by
  46. the suspend-to-disk mechanism. It can be written a string
  47. representing a non-negative integer that will be used as an upper
  48. limit of the image size, in bytes. The suspend-to-disk mechanism will
  49. do its best to ensure the image size will not exceed that number. However,
  50. if this turns out to be impossible, it will try to suspend anyway using the
  51. smallest image possible. In particular, if "0" is written to this file, the
  52. suspend image will be as small as possible.
  53. Reading from this file will display the current image size limit, which
  54. is set to 500 MB by default.
  55. /sys/power/pm_trace controls the code which saves the last PM event point in
  56. the RTC across reboots, so that you can debug a machine that just hangs
  57. during suspend (or more commonly, during resume). Namely, the RTC is only
  58. used to save the last PM event point if this file contains '1'. Initially it
  59. contains '0' which may be changed to '1' by writing a string representing a
  60. nonzero integer into it.
  61. To use this debugging feature you should attempt to suspend the machine, then
  62. reboot it and run
  63. dmesg -s 1000000 | grep 'hash matches'
  64. CAUTION: Using it will cause your machine's real-time (CMOS) clock to be
  65. set to a random invalid time after a resume.