About Kernel Documentation Linux Kernel Contact Linux Resources Linux Blog

Documentation / power / states.txt




Custom Search

Based on kernel version 3.13. Page generated on 2014-01-20 22:04 EST.

1	
2	System Power Management States
3	
4	
5	The kernel supports four power management states generically, though
6	one is generic and the other three are dependent on platform support
7	code to implement the low-level details for each state.
8	This file describes each state, what they are
9	commonly called, what ACPI state they map to, and what string to write
10	to /sys/power/state to enter that state
11	
12	state:		Freeze / Low-Power Idle
13	ACPI state:	S0
14	String:		"freeze"
15	
16	This state is a generic, pure software, light-weight, low-power state.
17	It allows more energy to be saved relative to idle by freezing user
18	space and putting all I/O devices into low-power states (possibly
19	lower-power than available at run time), such that the processors can
20	spend more time in their idle states.
21	This state can be used for platforms without Standby/Suspend-to-RAM
22	support, or it can be used in addition to Suspend-to-RAM (memory sleep)
23	to provide reduced resume latency.
24	
25	
26	State:		Standby / Power-On Suspend
27	ACPI State:	S1
28	String:		"standby"
29	
30	This state offers minimal, though real, power savings, while providing
31	a very low-latency transition back to a working system. No operating
32	state is lost (the CPU retains power), so the system easily starts up
33	again where it left off. 
34	
35	We try to put devices in a low-power state equivalent to D1, which
36	also offers low power savings, but low resume latency. Not all devices
37	support D1, and those that don't are left on. 
38	
39	
40	State:		Suspend-to-RAM
41	ACPI State:	S3
42	String:		"mem"
43	
44	This state offers significant power savings as everything in the
45	system is put into a low-power state, except for memory, which is
46	placed in self-refresh mode to retain its contents. 
47	
48	System and device state is saved and kept in memory. All devices are
49	suspended and put into D3. In many cases, all peripheral buses lose
50	power when entering STR, so devices must be able to handle the
51	transition back to the On state. 
52	
53	For at least ACPI, STR requires some minimal boot-strapping code to
54	resume the system from STR. This may be true on other platforms. 
55	
56	
57	State:		Suspend-to-disk
58	ACPI State:	S4
59	String:		"disk"
60	
61	This state offers the greatest power savings, and can be used even in
62	the absence of low-level platform support for power management. This
63	state operates similarly to Suspend-to-RAM, but includes a final step
64	of writing memory contents to disk. On resume, this is read and memory
65	is restored to its pre-suspend state. 
66	
67	STD can be handled by the firmware or the kernel. If it is handled by
68	the firmware, it usually requires a dedicated partition that must be
69	setup via another operating system for it to use. Despite the
70	inconvenience, this method requires minimal work by the kernel, since
71	the firmware will also handle restoring memory contents on resume. 
72	
73	For suspend-to-disk, a mechanism called 'swsusp' (Swap Suspend) is used
74	to write memory contents to free swap space. swsusp has some restrictive
75	requirements, but should work in most cases. Some, albeit outdated,
76	documentation can be found in Documentation/power/swsusp.txt.
77	Alternatively, userspace can do most of the actual suspend to disk work,
78	see userland-swsusp.txt.
79	
80	Once memory state is written to disk, the system may either enter a
81	low-power state (like ACPI S4), or it may simply power down. Powering
82	down offers greater savings, and allows this mechanism to work on any
83	system. However, entering a real low-power state allows the user to
84	trigger wake up events (e.g. pressing a key or opening a laptop lid).
Hide Line Numbers
About Kernel Documentation Linux Kernel Contact Linux Resources Linux Blog

Information is copyright its respective author. All material is available from the Linux Kernel Source distributed under a GPL License. This page is provided as a free service by mjmwired.net.