Linux 7.1 sched_ext Brings cgroup Sub-Scheduler Groundwork, Idle SMT Sibling Improvement
([Linux Kernel] 36 Minutes Ago
sched_ext)
- Reference: 0001627572
- News link: https://www.phoronix.com/news/Linux-7.1-sched-ext
- Source link:
The extensible scheduler " [1]sched_ext " code for allowing Linux scheduling behavior to be defined via BPF programs is seeing some useful improvements with the in-development [2]Linux 7.1 kernel.
The now-merged sched_ext code for Linux 7.1 establishes the initial infrastructure around cgroup sub-scheduler support so that multiple BPF schedulers can be attached to the cgroup hierarchy for dealing with varying workloads on the system. This work was previously covered in [3]Sub-Scheduler Support Could Be One Of The Most Exciting Features To Come For Linux 7.1 . The pull request notes some functionality is now going to land in a later kernel cycle:
"Cgroup sub-scheduler groundwork. Multiple BPF schedulers can be attached to cgroups and the dispatch path is made hierarchical. This involves substantial restructuring of the core dispatch, bypass, watchdog, and dump paths to be per-scheduler, along with new infrastructure for scheduler ownership enforcement, lifecycle management, and cgroup subtree iteration. The enqueue path is not yet updated and will follow in a later cycle."
Another notable change for sched_ext this cycle is [4]prioritizing idle SMT siblings for better performance . On large SMT systems the change consistently boosted throughput by 2~3% for CPU bound workloads.
Sched_EXT for Linux 7.1 also brings another change to give schedulers tighter control over queuing latency. Plus documentation improvements, bug fixes, and other enhancements. More details on these now merged sched_ext changes for Linux 7.1 via [5]this pull .
[1] https://www.phoronix.com/search/sched_ext
[2] https://www.phoronix.com/search/Linux+7.1
[3] https://www.phoronix.com/news/cgroup-sub-scheduler-sched-ext
[4] https://www.phoronix.com/news/Linux-7.1-sched-ext-SMT-Sibling
[5] https://lore.kernel.org/lkml/d9b4c8a00c64192691e22954d09574d1@kernel.org/
The now-merged sched_ext code for Linux 7.1 establishes the initial infrastructure around cgroup sub-scheduler support so that multiple BPF schedulers can be attached to the cgroup hierarchy for dealing with varying workloads on the system. This work was previously covered in [3]Sub-Scheduler Support Could Be One Of The Most Exciting Features To Come For Linux 7.1 . The pull request notes some functionality is now going to land in a later kernel cycle:
"Cgroup sub-scheduler groundwork. Multiple BPF schedulers can be attached to cgroups and the dispatch path is made hierarchical. This involves substantial restructuring of the core dispatch, bypass, watchdog, and dump paths to be per-scheduler, along with new infrastructure for scheduler ownership enforcement, lifecycle management, and cgroup subtree iteration. The enqueue path is not yet updated and will follow in a later cycle."
Another notable change for sched_ext this cycle is [4]prioritizing idle SMT siblings for better performance . On large SMT systems the change consistently boosted throughput by 2~3% for CPU bound workloads.
Sched_EXT for Linux 7.1 also brings another change to give schedulers tighter control over queuing latency. Plus documentation improvements, bug fixes, and other enhancements. More details on these now merged sched_ext changes for Linux 7.1 via [5]this pull .
[1] https://www.phoronix.com/search/sched_ext
[2] https://www.phoronix.com/search/Linux+7.1
[3] https://www.phoronix.com/news/cgroup-sub-scheduler-sched-ext
[4] https://www.phoronix.com/news/Linux-7.1-sched-ext-SMT-Sibling
[5] https://lore.kernel.org/lkml/d9b4c8a00c64192691e22954d09574d1@kernel.org/