Linux Power Management Features, Their Relationships and Interactions
summary
Covers how Linux implements four suspend types (idle, standby, suspend-to-RAM, hibernation) and runtime PM, and why interactions break systems: example conflict where PCI requires suspend_noirq vs I2C GPIO but the I2C controller is runtime-suspended, downstream fixes that wake controllers at suspend and force runtime off, ~20 drivers branch on the PM suspend target state, suspend-to-RAM often copies code into SRAM and puts DDR in self-refresh, and PSCI/firmware offloads change wake/latency behavior.
AI-written summary · about
chapters (14)
- 0:00Linux power management intro
- 1:49Speaker background
- 2:31System-wide suspend
- 5:43Suspend callbacks order
- 9:38Device behavior in suspend
- 13:14Four suspend modes
- 18:07Platform suspend implementation
- 20:35Suspend-to-RAM vs hibernation
- 22:02Clock behavior in suspend
- 25:15Runtime PM fundamentals
- 27:42Advanced runtime PM
- 31:35Runtime PM vs suspend
- 33:01Pitfalls and conflicts
- 34:27Q&A
related talks
36mLinux Power Management Features, Their Relationships and Interactions
41mLinux Power Management Features & Their Interactions, Part 2
59mDevice power management and idle
47mLinux Kernel Power Management - 101
25mMultiple system-wide low power-states
32mAdding Runtime Power Management Capabilities to Device Drivers
47mEvolution of Suspend-to-Idle Support in The Linux Kernel
33mRemote Core Power Management in AMP Systems
