Skip to content

Latest commit

 

History

History
29 lines (22 loc) · 1.44 KB

README.md

File metadata and controls

29 lines (22 loc) · 1.44 KB

scx_playground

This is a playground to develop a BPF-extensible scheduler(sched_ext) on Linux. It aims to provide friendly framework for everyone to build their scheduler with their own implementation!

For simplicity, we assume that the extensible scheduler always builds with the kernel source codes that it will run on later. We also assume that there's no requirement for cross-compilation. These assumptions purposely lead to a simple Makefile which should be more friendly for reader to take a glance and understand the compilation flow easily. Once you understand the minimalist Makefile to build the sched_ext, extending it for advanced requirement should not be a hard problem

How to play with scx?

Under the assumption above, first you need to clone the kernel that support extensible scheduler(sched_ext) and build it. The version of toolchain and the configuration for kernel is restricted. Please take a look at this page for the details.

After compiling the kernel, you just need to put this project under the path tools/sched_ext and run make. Then you obtain a binary sched under build directory which is able to plug your custumized scheduler by executing it!

Reference

If you can read Chinese, this article is recommanded to be read before trying this project.