Limit the idle CPU search depth and use CPU filter during task wake up
summary
Two kernel changes target wasted idle-CPU scanning and cross-CPU wakeups: a merged scan-depth limiter (srs) and a CPU idle-mask filter that updates at core granularity to skip cold siblings. An experimental wake_affinity patch checks waker/wakee runtimes to keep short-lived pairs on the same CPU, cutting run-q spinlock contention and cross-runqueue wakeups. Reproduction shows setting affinity drops idle percent and boosts throughput ~300% in one workload; benching reports >100% throughput gain when saturated and smaller hackbench wins.
AI-written summary · about
chapters (16)
- 0:00Introduction and motivation
- 1:03Scan waste and idle CPU search
- 2:55Cross-run queue wake-up issue
- 5:45Short-running task wake-up proposal
- 7:12Benchmark results and benefits
- 8:58Feedback and future work
- 9:40Audience question on task runtime
- 12:06CPU filter introduction
- 13:09SIS domain scan background
- 14:37SIS YouTube and scan depth
- 15:23Co-location workloads and filter
- 16:27How CPU filter works
- 18:37Audience question on wake-up path
- 21:14Nesting mask and idle CPU search
- 22:44Tree-based idle CPU organization
- 23:46Conclusion and Q&A
related talks
19mDo nothing fast: How to scale idle cpus?
56mPMWG: CPU Idle governor and irq prediction
32mCPU Power Saving Methods for Real-time Workloads
34mA Journey into Linux Interrupt Handling Bottom Halves
51mTuning RT Kernel to Improve Schedule Performance with Intel Platform
52mEffectively Measure and Reduce Kernel Latencies for Real-time Constraints
18mScheduler Tracing With ftrace + eBPF
23mCPU Isolation state of the art
