Cluster Idling
summary
Describes an extension to CPU idle using the generic PM domain and a new genpd governor that chooses cluster-wide idle states by aggregating per‑CPU timers and a Last‑Man‑Standing reference; deployed against PCI firmware backends and tested on HiKey and Dragonboard plus a MediaTek tryout. A v13 series of patches sits on the mailing list (core four patches still awaiting merge) and uses per‑CPU flags, brief spinlock checks and firmware-side handling to avoid long busy‑loops; suspend‑to‑idle and ktime_get overheads remain as known limits.
AI-written summary · about
chapters (12)
- 0:00Introduction to cluster idling
- 2:17Why cluster idling is needed
- 7:50Current solution and PCI firmware
- 11:24Limitations and race conditions
- 21:30OS vs platform coordinated modes
- 28:02Suspend to idle challenges
- 31:28Optimizing timekeeping in idle paths
- 42:34Time resolution trade-offs
- 45:52Simplifying PM core for CPUs
- 47:24Next steps for governor improvements
- 51:41Hierarchy and state selection
- 55:55Q&A and closing remarks
