Linux 7.2 sched_ext Continues Working Toward Sub-Scheduler Support
Merged last week for the Linux 7.2 kernel were all of the sched_ext changes for this extensible scheduler support that allows loading BPF programs from user-space for handling scheduling tasks. Linux 7.2 continues building out sched_ext's sub-scheduler support.
The sched_ext sub-scheduler support will allow for multiple scheduler instances to be attached to the cgroup hierarchy for dealing with different workloads on the system. This sub-scheduler support could become extremely valuable for multi-tenant platforms and heterogeneous workload environments.
With Linux 7.2 more of the infrastructure for this sub-scheduler support has been established along with other improvements, as noted in the pull request:
The sub-scheduler work merged for Linux 7.2 include Topological CPU IDs (CIDs), cmask infrastructure, BPF arena integration that the sub-scheduler support is built on, and reworking scx_qmap to exercise the new arena and CID interfaces.
More details for those interested via last week's pull request.
The sched_ext sub-scheduler support will allow for multiple scheduler instances to be attached to the cgroup hierarchy for dealing with different workloads on the system. This sub-scheduler support could become extremely valuable for multi-tenant platforms and heterogeneous workload environments.
With Linux 7.2 more of the infrastructure for this sub-scheduler support has been established along with other improvements, as noted in the pull request:
"Most of this continues the in-development sub-scheduler support, which lets a root BPF scheduler delegate to nested sub-schedulers. The dispatch-path building blocks landed in 7.1. A follow-up patchset in development will complete enqueue-path support for hierarchical scheduling."
The sub-scheduler work merged for Linux 7.2 include Topological CPU IDs (CIDs), cmask infrastructure, BPF arena integration that the sub-scheduler support is built on, and reworking scx_qmap to exercise the new arena and CID interfaces.
More details for those interested via last week's pull request.
