Swsusp

swsusp (Software Suspend) is a kernel feature (i.e., program) which is part of power management framework in the Linux kernel. It is the default suspend framework as of kernel 3.8.

Objective
SWSUSP helps to drive the system to a low power state (called suspend) when not actively used, while providing the ability to return to the same state as before suspend (called resume/restore).

Features
As of 3.8 Swsusp provides the following options under suspend:


 * StandBy: the CPU and main memory (RAM) both are powered up (CPU could be in Wait for Interrupt/WFI)
 * Suspend to RAM: the CPU could be powered down while the RAM is up and in Self-refresh state.
 * Suspend to Disk: a snapshot of the current system including CPU registers and memory contents are stored in an image in non-volatile memory such as a hard disk and the system is powered down.

For more details on Swsusp refer to kernel documentation under  Documentation/power/swsusp.txt

Usage
To enable swsusp, the following should be selected during kernel configuration :

Power management options → <*>Power management support (CONFIG_PM) Power management options → <*>Software Suspend (CONFIG_SOFTWARE_SUSPEND) Power management options → [/dev/resume_partition]Default resume partition (CONFIG_PM_STD_PARTITION)

The /dev/resume_partition needs to be replaced by the actual swap partition that is to be used for suspending. Otherwise, resume=/dev/resume_partition can be given as a parameter during system bootup. The actual suspend is done by :

echo shutdown > /sys/power/disk; echo disk > /sys/power/state

You may check other suspend options available by doing"

cat /sys/power/state

depending on your kernel config, it will show something similar to [standby] mem disk

and options available under disk can be viewed by

cat /sys/power/disk

depending on your kernel config, it will show something similar to [platform] shutdown reboot

swsusp lacks compression and graphical progress indication, which can be provided through Uswsusp.