Latency hints for CFS task
summary
Patch adds a latency hint per sched_entity that biases CFS vruntime comparisons so wakeups within a configurable window can preempt, keeping fairness by limiting extra CPU to the entity’s runtime budget. Tests use cyclic and agbench workloads with per-task and per-cgroup settings (cpu.latency / latency_nice across a scale range) and a latency-sensitive wait list. Results show the long tail shrinks—99th/95th percentile latency improves and max latency drops in one run from ~82 to ~58 (same fairness preserved).
AI-written summary · about
chapters (21)
- 0:00Introduction to CFS latency
- 1:05CFS scheduling basics
- 2:07Problem with fairness and latency
- 3:11Latency-sensitive task scheduling
- 4:15Current wake-up behavior
- 5:41Proposed latency hints
- 7:28Latency-sensitive waitlist
- 8:52Interface with user space
- 10:17Preemption and CPU selection
- 11:21Corner case with busy loops
- 13:28Wake-up decisions and CPU selection
- 15:36Latency nice priority values
- 16:59Benchmarking latency hints
- 18:03Cyclic test results
- 19:50Histogram analysis
- 20:30Interface design goals
- 21:36Latency nice priority explained
- 23:04Cgroup latency hints
- 24:30CPU latency interface
- 26:20Aggregation of latency hints
- 27:02Q&A session
related talks
30mHow to get realistic c-state latency and residency?
32mCPU Power Saving Methods for Real-time Workloads
18mScheduler Tracing With ftrace + eBPF
52mEffectively Measure and Reduce Kernel Latencies for Real-time Constraints
50mSCHED_DEADLINE: It's Alive!
17muclamp in CFS: Fairness, latency, and energy efficiency
48mCyclictest latency, find out why with tracing
19mDelay accounting: an underrated feature of the Linux kernel
