News › linux

Linux 7.3 Completes Sched_ext's Sub-Scheduler Feature for Custom BPF Scheduling

By Zayden R., August 22, 2026

Linux 7.3 marks the completion of sched_ext's sub-scheduler support, allowing multiple BPF scheduler instances to manage workloads. Engineers can now customize scheduling for different application domains, enhancing system flexibility.

Linux 7.3 has officially made sched_ext's sub-scheduler support feature complete, a development that will undoubtedly catch the attention of system administrators and engineers alike. This enhancement allows multiple scheduler instances to be attached to the cgroup hierarchy, giving each application domain the power to utilize its own BPF scheduler tailored to its unique needs. This is a solid improvement for those managing diverse workloads on Linux systems.

The sub-scheduler capabilities have been under development over several kernel cycles, culminating in this release. Tejun Heo, in the sched_ext pull request for Linux 7.3, highlighted that the enqueue-path support for hierarchical sub-scheduling is now complete. This means a root BPF scheduler can hand over a cgroup subtree to a nested sub-scheduler, complete with revocable CPU grants. The sub-scheduler then takes charge of all scheduling decisions for its tasks on those CPUs.

Key improvements in this cycle include sub-scheduler CPU delegation, allowing parent schedulers to grant and revoke per-CPU capabilities like enqueueing and preemption. Previously, only dispatching could be delegated, but now sub-schedulers can fully manage their CPUs. Additionally, the kernel addresses rescue execution by running tasks directly on a small bandwidth budget if their scheduler lacks access to necessary CPUs, mitigating potential failures.

Furthermore, integration with cgroups has seen enhancements. Tasks moving across a sub-scheduler boundary are now correctly re-homed, preventing wrong-scheduler scheduling and use-after-free errors. This ensures that sub-schedulers can effectively manage their cgroup subtree, receiving the necessary callbacks for smooth operation.

For engineers working with Linux systems, this means greater flexibility and control over how different workloads are managed. It allows for fine-tuning of scheduling policies, potentially leading to more efficient resource utilization and improved system performance.

Sources

Practice this on a real machine

The Linux Camp teaches these topics as hands-on labs on real virtual machines, verified as you type.