scx/rust/scx_utils
Andrea Righi bbe388e3bc scx_utils: topology: add base_freq() method to Cpu
With Intel Turbo Boost enabled, some CPUs might show a higher maximum
frequency than others, even if they are not actually faster cores. This
can potentially confuse some auto-detection logic for distinguishing
between fast and slow cores in certain schedulers.

The base CPU frequency reported in
/sys/devices/system/cpu/cpuN/cpufreq/base_frequency represents a more
reliable indicator for identifying truly fast and slow cores.

To address this, provide a new base_freq() method in the struct Cpu,
which will return the base operational frequency of a CPU when Turbo
Boost is present. If Turbo Boost is not available, base_freq() will
return the maximum frequency, functioning the same as max_freq().

Signed-off-by: Andrea Righi <andrea.righi@linux.dev>
2024-08-21 10:07:57 +02:00
..
src scx_utils: topology: add base_freq() method to Cpu 2024-08-21 10:07:57 +02:00
.gitignore scx_utils: Add log_recorder module for metrics-rs 2024-06-24 18:45:02 -06: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 utils: Export build ID values from rust scx_utils 2024-06-25 11:44:19 -05:00
Cargo.toml Merge branch 'main' into topic/inlined-skeleton-members 2024-08-08 14:23:37 -10:00
LICENSE rust: clarify license and include text 2023-12-12 13:02:13 -08:00
meson.build Fetch and build bpftool by default 2024-03-11 10:00:01 -07: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.