Skip to main content

Crate scx_forge

Crate scx_forge 

Source

Re-exportsยง

pub(crate) use scx_utils::NR_CPU_IDS; ๐Ÿ”’
pub(crate) use scx_utils::NR_CPUS_POSSIBLE; ๐Ÿ”’
pub(crate) use std::collections::HashSet; ๐Ÿ”’
pub(crate) use std::ffi::c_int; ๐Ÿ”’
pub(crate) use std::mem::MaybeUninit; ๐Ÿ”’
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 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::MapFlags; ๐Ÿ”’
pub(crate) use libbpf_rs::OpenObject; ๐Ÿ”’
pub(crate) use libbpf_rs::ProgramInput; ๐Ÿ”’
pub(crate) use log::warn; ๐Ÿ”’
pub(crate) use debug; ๐Ÿ”’
pub(crate) use info; ๐Ÿ”’
pub(crate) use scx_utils::CoreType; ๐Ÿ”’
pub(crate) use scx_utils::Cpumask; ๐Ÿ”’
pub(crate) use scx_utils::NR_CPU_IDS; ๐Ÿ”’
pub(crate) use scx_utils::NR_CPUS_POSSIBLE; ๐Ÿ”’
pub(crate) use scx_utils::Powermode; ๐Ÿ”’
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::get_primary_cpus; ๐Ÿ”’
pub(crate) use scx_utils::libbpf_clap_opts::LibbpfOpts; ๐Ÿ”’
pub(crate) use scx_utils::perf::PerfEventSpec; ๐Ÿ”’
pub(crate) use scx_utils::perf::parse_perf_event; ๐Ÿ”’
pub(crate) use scx_utils::perf::setup_perf_events; ๐Ÿ”’
pub(crate) use scx_utils::scx_ops_attach; ๐Ÿ”’
pub(crate) use scx_utils::scx_ops_load; ๐Ÿ”’
pub(crate) use scx_utils::scx_ops_open; ๐Ÿ”’
pub(crate) use scx_utils::try_set_rlimit_infinity; ๐Ÿ”’
pub(crate) use scx_utils::uei_exited; ๐Ÿ”’
pub(crate) use scx_utils::uei_report; ๐Ÿ”’
pub use bpf_intf::*;
pub(crate) use scx_stats::prelude::*; ๐Ÿ”’

Modulesยง

bpf_intf
bpf_skel ๐Ÿ”’
imp
stats ๐Ÿ”’
types

Structsยง

BpfLinks
BpfMaps
BpfProgs
BpfSkel
BpfSkelBuilder
Metrics ๐Ÿ”’
OpenBpfMaps
OpenBpfProgs
OpenBpfSkel
Opts ๐Ÿ”’
OwnedRef
Scheduler ๐Ÿ”’
StructOps

Enumsยง

DsqTopology ๐Ÿ”’
Topology level of the user-created DSQs. Each variant maps to a value of enum topology_dsq_type from src/bpf/intf.h (the single source of truth), so the two cannot drift.
IdlePolicy ๐Ÿ”’
Wakeup idle-CPU selection policy. Each variant maps to a value of enum idle_policy_type from src/bpf/intf.h.
QueueOrdering ๐Ÿ”’
Ordering algorithm for the queue key of vtime-ordered DSQs. Each variant maps to a value of enum ordering_type from src/bpf/intf.h.

Constantsยง

FORGE_MAX_TOPO_DISTANCES_USIZE ๐Ÿ”’
FORGE_MAX_TOPO_DOMAINS_USIZE ๐Ÿ”’
FORGE_TOPO_CPUMASK_WORDS_USIZE ๐Ÿ”’
SCHEDULER_NAME ๐Ÿ”’

Staticsยง

DATA

Functionsยง

build_skel_config
main ๐Ÿ”’
parse_cpu_list