User-Defined Scheduling with sched_ext

May 2, 2025
ebpfuni

Hey there, and welcome to my first blog post. Actually, it isn't really a blog post but a report I wrote for a university course. It explores sched_ext sched_ext logo, a new mechanism for writing linux schedulers using eBPF sched_ext logo.

The report#

Abstract#

Specialized schedulers can provide significant performance advantages in datacenter and home computing. However, with existing methods, specialized schedulers are hard to write, maintain and deploy.

This report explores sched_ext, the extensible scheduler class. It is a new mechanism in the Linux kernel that enables loading custom schedulers at runtime. sched_ext utilizes eBPF, a technology for securely running user code in the kernel, to load programs defining a custom scheduling policy.

sched_ext provides an easy entry into scheduler deployment while also simplifying the development and maintainability of specialized schedulers.

Full report#

You can find the full report at https://storage.mr-pine.de/public/sched_ext.pdf or embedded below.