Linux 6.6's new scheduler
Hybrid CPU (big.LITTLE) Optimizations
If you're running Linux on heterogeneous CPU hardware (like Intel 12th-generation "Alder Lake" or later, with P-cores and E-cores, or ARM big.LITTLE servers), note that Linux 6.6 also reintroduced cluster scheduling for such processors. In practice this means the scheduler is aware of grouping CPU cores of similar capacity and will aim to keep tasks on appropriate clusters more intelligently. As an admin, ensure your kernel has CONFIG_SCHED_CLUSTER (most distro kernels enabling EEVDF do include this for Intel hybrid). There isn't a manual switch for this at runtime, but it's good to know that EEVDF will handle hybrid scheduling better now. You should still set CPU affinity or policy if you require certain tasks to stay on certain core types for licensing or other reasons. But generally, let EEVDF manage the cores, it will reduce unnecessary task migration between disparate cores, which improves cache usage and overall throughput on hybrid designs.
Conclusion
The introduction of the EEVDF scheduler in Linux 6.6 is a significant advancement in how the kernel allocates CPU time, aimed squarely at improving performance, responsiveness, and scalability for modern workloads. EEVDF largely "just works," requiring minimal configuration changes, but offers a more robust foundation for running everything from cloud databases to real-time applications. We've seen how EEVDF's algorithmic approach ensures fairness (through the concept of lag) and quick response for interactive tasks (through virtual deadlines), effectively blending theoretical scheduling concepts into practical benefits. By removing many tuning knobs, the new scheduler simplifies optimization, and systems out-of-the-box perform well under a wide range of conditions, though understanding the underlying concepts can help in diagnosing issues or fine-tuning extreme cases.
Infos
- EEVDF Scheduler: https://docs.kernel.org/scheduler/sched-eevdf.html
« Previous 1 2 3
Buy this article as PDF
(incl. VAT)