Skip to main content

Crate scx_eevdf

Crate scx_eevdf 

Source

Re-exportsΒ§

pub(crate) use scx_utils::NR_CPU_IDS; πŸ”’
pub(crate) use scx_utils::NR_CPUS_POSSIBLE; πŸ”’
pub(crate) use std::collections::BTreeMap; πŸ”’
pub(crate) use std::ffi::CStr; πŸ”’
pub(crate) use std::mem::MaybeUninit; πŸ”’
pub(crate) use std::os::fd::AsFd; πŸ”’
pub(crate) use std::os::fd::AsRawFd; πŸ”’
pub(crate) use std::os::fd::FromRawFd; πŸ”’
pub(crate) use std::os::fd::OwnedFd; πŸ”’
pub(crate) use std::sync::Arc; πŸ”’
pub(crate) use std::sync::atomic::AtomicBool; πŸ”’
pub(crate) use std::sync::atomic::Ordering; πŸ”’
pub(crate) use std::time::Duration; πŸ”’
pub(crate) use std::time::Instant; πŸ”’
pub(crate) use anyhow::Context; πŸ”’
pub(crate) use anyhow::Result; πŸ”’
pub(crate) use anyhow::bail; πŸ”’
pub(crate) use clap::Parser; πŸ”’
pub(crate) use crossbeam::channel::RecvTimeoutError; πŸ”’
pub(crate) use libbpf_rs::MapCore; πŸ”’
pub(crate) use libbpf_rs::OpenObject; πŸ”’
pub(crate) use libbpf_rs::ProgramInput; πŸ”’
pub(crate) use libbpf_rs::ProgramType; πŸ”’
pub(crate) use libbpf_rs::skel::Skel; πŸ”’
pub(crate) use log::debug; πŸ”’
pub(crate) use log::warn; πŸ”’
pub(crate) use scx_arena::ArenaLib; πŸ”’
pub(crate) use scx_utils::NR_CPU_IDS; πŸ”’
pub(crate) use scx_utils::NR_CPUS_POSSIBLE; πŸ”’
pub(crate) use scx_utils::SchedDomainSource; πŸ”’
pub(crate) use scx_utils::ScxExitKind; πŸ”’
pub(crate) use scx_utils::Topology; πŸ”’
pub(crate) use scx_utils::UserExitInfo; πŸ”’
pub(crate) use scx_utils::build_id; πŸ”’
pub(crate) use scx_utils::compat; πŸ”’
pub(crate) use scx_utils::libbpf_clap_opts::LibbpfOpts; πŸ”’
pub(crate) use scx_utils::scx_ops_attach; πŸ”’
pub(crate) use scx_utils::scx_ops_cid_load; πŸ”’
pub(crate) use scx_utils::scx_ops_cid_open; πŸ”’
pub(crate) use scx_utils::try_set_rlimit_infinity; πŸ”’
pub(crate) use scx_utils::uei_exited; πŸ”’
pub(crate) use scx_utils::uei_read; πŸ”’
pub use bpf_intf::*;
pub(crate) use scx_stats::prelude::*; πŸ”’

ModulesΒ§

bpf_intf
bpf_skel πŸ”’
console πŸ”’
The console style shared by the startup report, the stats blocks and the status lines: a header line of |-separated fields, then aligned rows. Every line goes through the logger at info level, so it carries the same time stamp and prefix as any other message, in plain ASCII, appended and never redrawn.
imp
stats πŸ”’
types

StructsΒ§

BpfLinks
BpfMaps
BpfProgs
BpfSkel
BpfSkelBuilder
Metrics πŸ”’
OpStats πŸ”’
Kernel BPF run-time statistics of one sched_ext callback, see BPF_ENABLE_STATS. Cumulative on the server side, per interval once the client has taken the delta.
OpenBpfMaps
OpenBpfProgs
OpenBpfSkel
OpsProfiler πŸ”’
Kernel run-time accounting of the sched_ext callbacks, BPF_ENABLE_STATS.
Opts πŸ”’
OwnedRef
Scheduler πŸ”’
StructOps

ConstantsΒ§

SCHEDULER_NAME πŸ”’

StaticsΒ§

DATA

FunctionsΒ§

arena_usage πŸ”’
What the arena holds, in bytes, and the size of the map. Kernels from 7.3 account the allocated pages in the map’s memlock; before that the figure is the one kept at the allocator by eevdf_arena_alloc_pages(), when @counted says those programs are attached, and None otherwise.
base_slice_ns πŸ”’
build_skel_config
capacity_tiers πŸ”’
Assign sorted, descending CPU capacities to tiers.
cgroups_with πŸ”’
The request size fair.c hands out by default on this machine.
check_cgroup_support πŸ”’
Tell whether cgroup scheduling can do what the options ask for: warn when it was asked for and the kernel or the cgroup setup leaves nothing to hook into, and when a cpu.weight or a cpu.max somebody set is ignored because the feature that reads it is off.
kernel_major_minor πŸ”’
main πŸ”’
run_syscall_prog πŸ”’
Run a SEC(β€œsyscall”) program with @args as its context.
tick_ns πŸ”’
Return TICK_NSEC, the kernel’s timing granularity.
warn_on_old_kernel πŸ”’