sched_ext (Extensible Scheduler Class) Patch Series Documentation
This repository documents and analyzes the sched_ext BPF extensible scheduler patch series (v7, June 2024).
Overview
The project includes:
- A main study guide: sched-ext-patch-study.md
- Per-patch analysis files:
patch-study/patch-01.mdthroughpatch-study/patch-30.md - Original source material:
source/scx-v7-patch.mbox,source/scx-v7-patch.mbox.gz, andsource/original-patches/ - Utility scripts for parsing and analysis generation in
scripts/
Patch Categories
- Foundational refactoring: patches 01-07
- sched_ext core: patches 08-11
- Debugging and monitoring: patches 12-16
- CPU coordination: patches 17-19
- Task management: patches 20-23
- System integration: patches 24-28
- Documentation and testing: patches 29-30
What Each Patch File Contains
Each patch-study/patch-XX.md includes:
- Commit message and rationale
- Implementation analysis
- Diff-focused breakdown
- Link to the lore.kernel.org discussion thread
Key Concepts
- BPF-based scheduler extensibility through
sched_ext - Safety via BPF verification and watchdog mechanisms
- Automatic fallback behavior when scheduler failures occur
- Dispatch queue (
dsq) and task lifecycle control
References
- Kernel repository: https://git.kernel.org/pub/scm/linux/kernel/git/tj/sched_ext.git
- sched_ext examples: https://github.com/sched-ext/scx
- Community Slack: https://bit.ly/scx_slack
Notes
- Patch series version: v7 (June 2024)
- Target kernel line: Linux 6.11+