sched_ext
also: extensible scheduler
sched_ext is an extensible CPU scheduler interface in Linux that allows userspace programs to implement custom scheduling policies without modifying the kernel.
sched_ext (extensible scheduler) is a Linux kernel subsystem that enables userspace applications to define and control CPU task scheduling through eBPF (extended Berkeley Packet Filter) programs. Rather than relying solely on the kernel's built-in CFS (Completely Fair Scheduler), sched_ext allows you to load custom scheduling logic at runtime.
This is particularly useful for specialized workloads—for example, you could write a scheduler that prioritizes latency-sensitive AI inference tasks, or one that optimizes for specific hardware like GPUs. The userspace scheduler communicates with the kernel scheduler via a queue-based interface.
Example: Instead of the default fair scheduling, you could deploy a custom scheduler that runs interactive tasks immediately while batching background work, all without recompiling the kernel.
sched_ext is still relatively new (added in Linux 6.12) and represents a shift toward making core kernel functionality more flexible and user-programmable.