Extra Credit

Linux Process Scheduling

Official docs outline

11 sections
  1. Scheduler overview

    Index of kernel scheduler documents covering fair, real-time and deadline classes.

  2. CFS design

    Completely Fair Scheduler virtual runtime, red-black tree runqueue, nice weights and scheduling classes.

  3. EEVDF scheduler

    Earliest Eligible Virtual Deadline First with lag, eligibility, virtual deadlines and slice length.

  4. Scheduling domains

    Sched domains and groups used for multi-core and NUMA load balancing.

  5. Deadline scheduler

    SCHED_DEADLINE runtime, deadline and period parameters, constant bandwidth server and admission control.

  6. Real-time group scheduling

    SCHED_FIFO and SCHED_RR bandwidth limits for control groups.

  7. CFS bandwidth control

    cpu.cfs_quota_us and period throttling of CPU time per cgroup.

  8. Energy aware scheduling

    Energy model driven task placement on heterogeneous CPUs.

  9. Capacity-aware scheduling

    CPU capacity, utilization and misfit tasks on asymmetric systems.

  10. Scheduler statistics

    Per-CPU and per-domain schedstat counters in /proc/schedstat.

  11. 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.

All 29