CPU Power Saving Methods for Real-time Workloads
summary
Describes two concrete methods to remove jitter from real‑time Linux: apply a PM QoS exit‑latency constraint (example: 30 µs blocks a problematic C6) and limit sleep chunks so target residency never fits (example: use ~100 µs chunks to filter a 200 µs target residency). Uses cyclictest histogram to measure worst‑case (example platform worst case ~400 µs) and calibrate settings. Shows per‑core constraints, kernel patches needed for 4.14→4.16, cache priming steps, and measurable reduction in latency tails.
AI-written summary · about
chapters (22)
- 0:00Background
- 1:23Introduction
- 1:54Why do we need this?
- 3:00Focus on Determinism
- 4:33Where does the jitter come from?
- 7:55How to control state selection?
- 10:042 Methods corresponding to Attributes
- 10:52C State Exit Latency Constraint
- 11:12Filter C States by Exit Latencies
- 12:23Filter C States by Target Residencies
- 14:01Name the 2 methods
- 14:26C State Selection Policy in Kernel
- 16:08PM QoS (Quality of Service) Framework
- 18:56Recap
- 20:20Calibrate Worst-case latency
- 21:47Find Safe Latency Constraint
- 22:17Find Safe Idle Interval
- 22:28Example Calibration
- 23:11Example Tuning
- 26:17Additional Strategies
- 28:10Key Takeaways
- 29:24References
related talks
52mEffectively Measure and Reduce Kernel Latencies for Real-time Constraints
49mDebugging Methodologies for Realtime Issues in Linux Systems
44mReducing cpu jitter for deterministic performance
36mJourney of improving RT performance on Single CPU equipped PREEMPT_RT Linux
26mReal-time Linux: what is next?
51mTuning RT Kernel to Improve Schedule Performance with Intel Platform
30mHow to get realistic c-state latency and residency?
51mTuning RT Kernel to Improve Schedule Performance with Intel Platform
