mirror of
https://github.com/JakeHillion/scx.git
synced 2024-12-03 06:17:11 +00:00
a7965abdbc
If CONFIG_DEBUG_INFO_BTF is not enabled in the kernel, the C schedulers report the following error via libbpf, clearly indicating the missing kernel config: libbpf: kernel BTF is missing at '/sys/kernel/btf/vmlinux', was CONFIG_DEBUG_INFO_BTF enabled? In contrast, the Rust schedulers report a less clear error: thread 'main' panicked at /home/arighi/src/scx/rust/scx_utils/src/compat.rs:23:9: btf__load_vmlinux_btf() returned NULL note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace Make sure to report a similar error, so that users have a better clue about the missing kernel config. After this change the error looks like the following: thread 'main' panicked at /home/arighi/src/scx/rust/scx_utils/src/compat.rs:23:9: btf__load_vmlinux_btf() returned NULL, was CONFIG_DEBUG_INFO_BTF enabled? Signed-off-by: Andrea Righi <andrea.righi@canonical.com> |
||
---|---|---|
.. | ||
src | ||
.gitignore | ||
bindings.h | ||
bpf_h | ||
build.rs | ||
Cargo.toml | ||
LICENSE | ||
meson.build | ||
README.md |
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.