Try   HackMD

Linux Power Management - Suspend to Idle (s2idle)

Notes

The suspend-to-idle could be a pure software construct. It works (at least in theory) even without any suspend_ops. See comments in the pm_states_init(). But it could also utilize capabilities of platform firmware (the so-called "BIOS") for better power efficient. For example, on some platform the suspend-to-idle utilizes the S0ix ACPI state, sometimes called "modern standby" for better marketing. In this case, the suspend-to-idle is not a purely software construct, but rather rely on the platform firmware for certain degree. One good example is the s0ix-selftest-tool.sh provided in the S0ixSelftestTool by Intel. This is a tool to see if suspend-to-idle could utilize the S0ix states on Intel processors properly. The very first thing it does it dump the ACPI tables and see if S0ix is supported. So some platform support is almosted required in this case.

For further description, see Power management/Suspend and hibernate on Arch Wiki. Also the HOW TO ACHIEVE S0IX STATES IN LINUX on once live-kicking 01.org, but now only exists on the web.archive.org.

Also read the Suspend to Idle from Linaro.

References

Evolution of Suspend-to-Idle Support in The Linux Kernel - Rafael Wysocki (LCA 2021 Online)

Note that this talk mainly focused on x86 architectures.

There are 2 version of suspension mentioned in the talk:

  1. Pure software implementation: putting all processors and devices to lower power sate.
  2. Platfom-aided suspension: other than putting power to low power state, it further unplugs the non-booting CPUs offline. Usually required firmware support. This is what s2ram does.

The former one is the s2idle; the later one is suspend-to-ram.

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →