Skip to content

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.