Device power management and idle
summary
Compares system-wide sleep (suspend-to-ram, suspend-to-idle, suspend-to-disk) and runtime PM using Linux PM core, dev_pm_ops callbacks and the runtime PM API, plus domain frameworks: CPM RPM domains and the generic genpd provider. Claims suspend-to-idle can match suspend-to-ram if CPU handling and drivers are implemented correctly. Shows pitfalls: ~20 legacy callbacks, racey get/put error handling, wakeup wiring, and recommends pm_runtime_for_suspend/pm_runtime_force_resume and PM-domain governors to avoid unnecessary resumes and latency.
AI-written summary · about
chapters (13)
- 0:00Intro
- 0:30Goal: Don't waste energy when idle! • Interfaces and frameworks Use coses and deployment
- 6:18System wide sleep-overview System wide sleep for all devices/resources.
- 22:20Runtime PM - Overview Avoid wasting energy for idle resources on a running system . At request Inactivity and for unused devices.
- 25:44Runtime PM - sysfs
- 29:22Runtime PM suspend/resume
- 30:15The device PM callbacks
- 31:39Hierarchy of device PM callbacks
- 34:04The generic PM domain (genpd) - overview
- 45:34Genpd and runtime PM Driver
- 47:55Remote wakeups - for runtime PM
- 50:06System wakeups - for system suspend/resume • Enable it supported and wanted by userspace
- 57:09The runtime PM centric approach - how?
related talks
41mLinux Power Management Features & Their Interactions, Part 2
36mLinux Power Management Features, Their Relationships and Interactions
36mLinux Power Management Features, Their Relationships and Interactions
32mAdding Runtime Power Management Capabilities to Device Drivers
25mMultiple system-wide low power-states
41mExploring Zephyr Power Management: Overview and Implementation Guide
41mExploring Zephyr Power Management: Overview and Implementation Guide
33mRemote Core Power Management in AMP Systems
