scx-upstream/rust/scx_utils
Andrea Righi 872e653cd2 scx_utils: introduce Turbo core type to Topology
Integrate the logic used by scx_bpfland to detect turbo-boosted cores in
Topology.

Also change the logic to detect Big/Little cores in function of
base_frequency, instead of scaling_max_freq, otherwise turbo-boosted
cores in homogeneous systems may be incorrectly classified as Big.

Moreover, introduce the following new methods to Cpu to check for the
core type:
 - is_turbo(): return true if the CPU is Turbo, false otherwise
 - is_big(): return true if the CPU is either Turbo or Big
 - is_little(): return true if the CPU is Little

Signed-off-by: Andrea Righi <andrea.righi@linux.dev>
2024-08-28 00:09:08 +02:00
..
src scx_utils: introduce Turbo core type to Topology 2024-08-28 00:09:08 +02:00
bindings.h rust/scx_utils: Add user_exit_info support 2024-01-31 10:54:15 -10:00
bpf_h scx_utils: Add mod bpf_h 2023-11-28 15:20:01 -10:00
build.rs scx_utils, scx_rusty: Minor updates to version handling 2024-08-20 21:03:05 -10:00
Cargo.toml Merge branch 'main' into htejun/scx_rusty 2024-08-23 07:50:23 -10:00
LICENSE rust: clarify license and include text 2023-12-12 13:02:13 -08:00
README.md scx_utils: Fix typos 2024-06-18 00:35:43 +08:00

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.