linux/Documentation/scheduler/sched-eevdf.rst
Imported from
_research/manual-study-linux/file-notes/linux__Documentation__scheduler__sched-eevdf.rst.md.
File Notes: Documentation/scheduler/sched-eevdf.rst
Status: reviewed.
Purpose
Documents Linux’s move from earlier CFS behavior toward Earliest Eligible Virtual Deadline First, the fairness model based on lag, and latency behavior through virtual deadlines.
Key Points
EEVDF still aims to distribute CPU time fairly among same-priority runnable tasks, but it uses lag to decide whether a task is owed service. A task with positive lag is eligible; among eligible tasks, the earliest virtual deadline wins. Shorter requested slices can therefore improve latency while still remaining inside the fairness model.
The documentation also describes delayed dequeue for sleeping tasks: sleeping does not immediately erase negative lag, reducing the ability to game the scheduler by briefly sleeping.
Rust Translation Guidance
Use explicit eligibility and deadline fields instead of a vague “priority” number for fair scheduling. If jobs can sleep or yield, preserve enough lag state to avoid rewarding strategic sleeps.
AI-Native Systems Guidance
For AI workloads, EEVDF suggests a fair scheduler that can still favor interactive tasks. Chat turns, code edits, indexing jobs, and long research tasks can share compute by lag/deadline rather than by fixed FIFO order.
Evidence
- Linux transition context and EEVDF documentation relationship to CFS appear
at
Documentation/scheduler/sched-eevdf.rst:5-11. - Lag, eligibility, virtual deadlines, and latency-sensitive slices are
documented at
Documentation/scheduler/sched-eevdf.rst:13-22. - Delayed dequeue and lag decay for sleeping tasks are described at
Documentation/scheduler/sched-eevdf.rst:24-32.