“I’m also not a believer in the argument that has been used (multiple times) that the BPF scheduler would keep people from participating in scheduler development.” - Linus Torvalds
Introduced in Linux v6.12, sched_ext
(scx) empowers developers to implement custom CPU schedulers using eBPF, enabling dynamic loading and replacement of schedulers from user space. This talk explores integrating machine learning with scheduling, leveraging BPF maps to aggregate event data and dynamically adjust time slices, CPU affinity, and task migration based on inference results. Key discussion points include:
- A review of CFS and EEVDF
- Innovations and mechanisms behind sched_ext
- Evolution from custom FCFS/RR schedulers to ML-based load prediction and adaptation
- Retargeting upstream schedulers