-
Notifications
You must be signed in to change notification settings - Fork 215
[RFC] remove C schedulers from this repository #3195
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
oxyzenQ
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
😵💫
|
Honestly I'd prefer to keep the C schedulers in the repo, some devs are not familiar with Rust and may want to create a scheduler in C. Having the C schedulers as template / examples is useful. Also for quick experimentation, it is so much easier to create a C scheduler than a Rust one. |
If the motivation is to get rid of meson/complexity, maybe replace meson with a (few?) Makefile(s?)? |
|
keep C scheduler or for alternative. |
|
Updating with the discussion we had during scx office hours:
|
Another followup from the office hours discussion today: https://github.com/etsal/scx-c-examples should be a self-contained repo for C schedulers that can be used for experimentation. We can add it to the org as a repo, and if we find out there is interest from people to contribute complex C schedulers that would be difficult to add into the tools/sched_ext directory we can place them there. |
27fa017 to
309f7c5
Compare
309f7c5 to
ccf5625
Compare
C schedulers have historically been used as a demonstration of how to start writing scheduler code, but as the ecosystem has matured are no longer representative of how we develop schedulers. Keeping the C schedulers solely in the kernel removes the need to support a C-based build system and toolchain in this repo, and avoids confusing newcomers who may try to deploy or hack on our example C schedulers we've had.
Any C schedulers missing from the kernel will be added to tools/sched_ext along with the rest.
EDIT: Please see comment in this thread for more details.