linux/kernel/power
Brian Norris 1d4a9c17d4 PM / sleep: add configurable delay for pm_test
When CONFIG_PM_DEBUG=y, we provide a sysfs file (/sys/power/pm_test) for
selecting one of a few suspend test modes, where rather than entering a
full suspend state, the kernel will perform some subset of suspend
steps, wait 5 seconds, and then resume back to normal operation.

This mode is useful for (among other things) observing the state of the
system just before entering a sleep mode, for debugging or analysis
purposes. However, a constant 5 second wait is not sufficient for some
sorts of analysis; for example, on an SoC, one might want to use
external tools to probe the power states of various on-chip controllers
or clocks.

This patch turns this 5 second delay into a configurable module
parameter, so users can determine how long to wait in this
pseudo-suspend state before resuming the system.

Example (wait 30 seconds);

  # echo 30 > /sys/module/suspend/parameters/pm_test_delay
  # echo core > /sys/power/pm_test
  # time echo mem  > /sys/power/state
  ...
  [   17.583625] suspend debug: Waiting for 30 second(s).
  ...
  real	0m30.381s
  user	0m0.017s
  sys	0m0.080s

Signed-off-by: Brian Norris <computersforpeace@gmail.com>
Acked-by: Pavel Machek <pavel@ucw.cz>
Reviewed-by: Kevin Cernekee <cernekee@chromium.org>
Acked-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
2015-02-26 01:21:26 +01:00
..
autosleep.c PM / Sleep: avoid 'autosleep' in shutdown progress 2013-07-15 01:31:37 +02:00
block_io.c block: Abstract out bvec iterator 2013-11-23 22:33:47 -08:00
console.c arm, pm, vmpressure: add missing slab.h includes 2014-02-03 13:24:01 -05:00
hibernate.c PM / Hibernate: Migrate to ktime_t 2014-11-03 01:02:55 +01:00
Kconfig rcu: Make SRCU optional by using CONFIG_SRCU 2015-01-06 11:04:29 -08:00
main.c Merge branches 'pm-apm' and 'pm-sleep' 2014-07-27 23:56:30 +02:00
Makefile PM / Sleep: Add user space interface for manipulating wakeup sources, v3 2012-05-01 21:26:05 +02:00
power.h PM / Hibernate: Migrate to ktime_t 2014-11-03 01:02:55 +01:00
poweroff.c power/sysrq: fix inconstistent help message of sysrq key 2013-04-30 17:04:10 -07:00
process.c oom, PM: make OOM detection in the freezer path raceless 2015-02-11 17:06:03 -08:00
qos.c PM / QoS: Add debugfs support to view the list of constraints 2015-01-23 22:16:21 +01:00
snapshot.c PM / hibernate: exclude freed pages from allocated pages printout 2015-02-03 22:53:53 +01:00
suspend_test.c PM / sleep: Enhance test_suspend option with repeat capability 2014-09-09 01:48:02 +02:00
suspend.c PM / sleep: add configurable delay for pm_test 2015-02-26 01:21:26 +01:00
swap.c PM / hibernate: Deletion of an unnecessary check before the function call "vfree" 2014-11-18 02:49:40 +01:00
user.c PM / hibernate: introduce "nohibernate" boot parameter 2014-06-16 23:29:39 +02:00
wakelock.c PM / wakeup: Include appropriate header file in kernel/power/wakelock.c 2014-03-01 01:02:09 +01:00