The Linux kernel scheduler is a critical component, profoundly impacting system performance and responsiveness. Traditionally, changing the scheduler has involved recompilation, rebooting, or complex kernel module management – a significant barrier for experimentation and fine-grained performance tuning. SchedKit dramatically simplifies this process, enabling users to dynamically switch between schedulers at runtime, without reboots or kernel modifications, opening up new possibilities in customizing kernel scheduling for the specific usecase.
This talk introduces SchedKit, a new open-source project leveraging the power of eBPF and the sched_ext framework. SchedKit allows users to leverage custom Linux schedulers as standard OCI (Open Container Initiative) images. These scheduler containers are then launched and managed by the user's preferred container runtime (e.g., Docker, Podman, containerd). Through the magic of eBPF and sched_ext, SchedKit seamlessly attaches these containerized schedulers to the running kernel, changing the existing scheduling policy.
Thanks to `schedctl` we can automatically download a new scheduler, run it, and have it attached to all the subsequent processes.
... and it's of course available on openSUSE!
Licensed to the public under https://creativecommons.org/licenses/by-sa/4.0/
about this event: https://c3voc.de