23 releases (8 stable)
new 1.0.7 | Nov 20, 2024 |
---|---|
1.0.5 | Oct 2, 2024 |
1.0.1 | Jul 15, 2024 |
0.8.1 | Jun 3, 2024 |
0.2.0 | Nov 30, 2023 |
#1034 in Unix APIs
296 downloads per month
Used in 7 crates
8MB
3.5K
SLoC
Utility collection for sched_ext schedulers
sched_ext is a Linux kernel feature which enables implementing kernel thread schedulers in BPF and dynamically loading them.
This crate is a collection of utilities for sched_ext scheduler implementations which use Rust for userspace component. This enables implementing hot paths in BPF while offloading colder and more complex operations to userspace Rust code which can be significantly more convenient and powerful.
Please see documentation for more details.
lib.rs
:
Utility collection for sched_ext schedulers
sched_ext is a Linux kernel feature which enables implementing kernel thread schedulers in BPF and dynamically loading them.
This crate is a collection of utilities for sched_ext scheduler implementations which use Rust for userspace component. This enables implementing hot paths in BPF while offloading colder and more complex operations to userspace Rust code which can be significantly more convenient and powerful.
The utilities can be put into two broad categories.
Build Utilities
BPF being its own CPU architecture and independent runtime environment,
build environment and steps are already rather complex. The need to
interface between two different languages - C and Rust - adds further
complexities. This crate contains struct BpfBuilder
which is to be
used from build.rs
and automates most of the process.
Utilities for Rust Userspace Component
Utility modules which can be useful for userspace component of sched_ext schedulers.
Dependencies
~24–35MB
~618K SLoC