Linux Process Scheduling
Official docs outline
11 sections- Scheduler overview
Index of kernel scheduler documents covering fair, real-time and deadline classes.
- CFS design
Completely Fair Scheduler virtual runtime, red-black tree runqueue, nice weights and scheduling classes.
- EEVDF scheduler
Earliest Eligible Virtual Deadline First with lag, eligibility, virtual deadlines and slice length.
- Scheduling domains
Sched domains and groups used for multi-core and NUMA load balancing.
- Deadline scheduler
SCHED_DEADLINE runtime, deadline and period parameters, constant bandwidth server and admission control.
- Real-time group scheduling
SCHED_FIFO and SCHED_RR bandwidth limits for control groups.
- CFS bandwidth control
cpu.cfs_quota_us and period throttling of CPU time per cgroup.
- Energy aware scheduling
Energy model driven task placement on heterogeneous CPUs.
- Capacity-aware scheduling
CPU capacity, utilization and misfit tasks on asymmetric systems.
- Scheduler statistics
Per-CPU and per-domain schedstat counters in /proc/schedstat.
- sched_ext extensible scheduler
Writing BPF-defined schedulers with dispatch queues and ops callbacks.
Each section links to the official page. Titles and summaries by Extra Credit; the docs belong to their authors.