Sub-Scheduler Support Could Be One Of The Most Exciting Features To Come For Linux 7.1
([Linux Kernel] 61 Minutes Ago
cgroup sub-scheduler)
- Reference: 0001615926
- News link: https://www.phoronix.com/news/cgroup-sub-scheduler-sched-ext
- Source link:
While there are [1]many great Linux 7.0 features with that still-young development cycle, looking ahead to Linux 7.1 this summer there's an interesting feature on track: cgroup sub-scheduler support for sched_ext.
For Linux's extensible scheduler support with [2]sched_ext , the cgroup sub-scheduler support currently being developed is quite promising and could help roll out more Linux performance especially on multi-tenant systems / heterogeneous workload environments
Linux developer Tejun Heo yesterday posted his second iteration of the sched_ext patches implementing cgroup sub-scheduler support. This new work allows for multiple scheduler instances to be attached to the cgroup hierarchy for dealing with varying workloads on the system. Tejun explained in the latest patches:
"Applications often have domain-specific knowledge that generic schedulers cannot possess. Database systems understand query priorities and lock holder criticality. Virtual machine monitors can coordinate with guest schedulers and handle vCPU placement intelligently. Game engines know rendering deadlines and which threads are latency-critical.
On multi-tenant systems where multiple such workloads coexist, implementing application-customized scheduling is difficult. Hard partitioning with cpuset lacks the dynamism needed - users often don't care about specific CPU assignments and want optimizations enabled by sharing a larger machine: opportunistic over-commit, improving latency-critical workload characteristics while maintaining bandwidth fairness, and packing similar workloads on the same L3 caches for efficiency.
Sub-scheduler support addresses this by allowing schedulers to be attached to the cgroup hierarchy. Each application domain runs its own BPF scheduler tailored to its needs, while a parent scheduler dynamically controls CPU allocation to children without static partitioning."
Those interested in this very promising work around cgroup sub-scheduler support for sched_ext can check out the [3]v2 patch series .
[4]
These latest patches are marked as for "sched_ext/for-7.1", so if all goes well we could see this multi scheduler functionality potentially merged in April for the Linux 7.1 merge window that in turn will see its stable release mid-year.
[1] https://www.phoronix.com/review/linux-7-features-changes
[2] https://www.phoronix.com/search/sched_ext
[3] https://lore.kernel.org/lkml/20260225050152.1070601-1-tj@kernel.org/
[4] https://www.phoronix.com/image-viewer.php?id=2026&image=sub_scheduler_lrg
For Linux's extensible scheduler support with [2]sched_ext , the cgroup sub-scheduler support currently being developed is quite promising and could help roll out more Linux performance especially on multi-tenant systems / heterogeneous workload environments
Linux developer Tejun Heo yesterday posted his second iteration of the sched_ext patches implementing cgroup sub-scheduler support. This new work allows for multiple scheduler instances to be attached to the cgroup hierarchy for dealing with varying workloads on the system. Tejun explained in the latest patches:
"Applications often have domain-specific knowledge that generic schedulers cannot possess. Database systems understand query priorities and lock holder criticality. Virtual machine monitors can coordinate with guest schedulers and handle vCPU placement intelligently. Game engines know rendering deadlines and which threads are latency-critical.
On multi-tenant systems where multiple such workloads coexist, implementing application-customized scheduling is difficult. Hard partitioning with cpuset lacks the dynamism needed - users often don't care about specific CPU assignments and want optimizations enabled by sharing a larger machine: opportunistic over-commit, improving latency-critical workload characteristics while maintaining bandwidth fairness, and packing similar workloads on the same L3 caches for efficiency.
Sub-scheduler support addresses this by allowing schedulers to be attached to the cgroup hierarchy. Each application domain runs its own BPF scheduler tailored to its needs, while a parent scheduler dynamically controls CPU allocation to children without static partitioning."
Those interested in this very promising work around cgroup sub-scheduler support for sched_ext can check out the [3]v2 patch series .
[4]
These latest patches are marked as for "sched_ext/for-7.1", so if all goes well we could see this multi scheduler functionality potentially merged in April for the Linux 7.1 merge window that in turn will see its stable release mid-year.
[1] https://www.phoronix.com/review/linux-7-features-changes
[2] https://www.phoronix.com/search/sched_ext
[3] https://lore.kernel.org/lkml/20260225050152.1070601-1-tj@kernel.org/
[4] https://www.phoronix.com/image-viewer.php?id=2026&image=sub_scheduler_lrg