https://github.com/rinhizakura/scx_playground
This is a playground to develop a BPF-extensible scheduler(sched_ext) on Linux
https://github.com/rinhizakura/scx_playground
Last synced: 27 days ago
JSON representation
This is a playground to develop a BPF-extensible scheduler(sched_ext) on Linux
- Host: GitHub
- URL: https://github.com/rinhizakura/scx_playground
- Owner: RinHizakura
- Created: 2023-12-23T14:51:19.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-02-18T16:18:39.000Z (3 months ago)
- Last Synced: 2025-03-25T14:06:08.047Z (about 1 month ago)
- Language: C
- Size: 24.4 KB
- Stars: 4
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# scx_playground
This is a playground to develop a BPF-extensible scheduler(sched_ext) on Linux. It
aims to provide friendly example for everyone to build their custumized scheduler.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. Base on the assumptions, we can purposely
design a simple Makefile which is friendly for user to take a glance and understand
the compilation flow easily.## How to play with scx?
Under the assumption above, first you need to clone the Linux kernel with
verison >= 6.13 and build it. Please note that the version of toolchain and the
configuration for Linux is also restricted. Take a look at
[this page](https://github.com/sched-ext/sched_ext/tree/sched_ext/tools/sched_ext)
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](https://hackmd.io/@RinHizakura/r1uSVAWwp) is
recommanded to be read before trying this project.