Re-exportsΒ§
pub(crate) use libbpf_rs::MapCore as _;πpub(crate) use scx_utils::NR_CPUS_POSSIBLE;πpub(crate) use scx_utils::scx_enums;πpub(crate) use std::cmp::max;πpub(crate) use HashMap;πpub(crate) use HashSet;πpub(crate) use std::fmt;πpub(crate) use std::fmt::Display;πpub(crate) use std::mem::MaybeUninit;πpub(crate) use std::os::fd::AsFd;πpub(crate) use std::path::PathBuf;πpub(crate) use std::sync::Arc;πpub(crate) use std::sync::atomic::AtomicBool;πpub(crate) use std::sync::atomic::AtomicU32;π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 libbpf_rs::OpenObject;πpub(crate) use libbpf_rs::ProgramInput;πpub(crate) use Epoll;πpub(crate) use EpollCreateFlags;πpub(crate) use EpollEvent;πpub(crate) use EpollFlags;πpub(crate) use EpollTimeout;πpub(crate) use nix::sys::eventfd::EventFd;πpub(crate) use scx_utils::Cpumask;πpub(crate) use scx_utils::NR_CPUS_POSSIBLE;πpub(crate) use scx_utils::Topology;πpub(crate) use scx_utils::TopologyArgs;πpub(crate) use scx_utils::UserExitInfo;πpub(crate) use scx_utils::build_id;πpub(crate) use scx_utils::compat;πpub(crate) use scx_utils::init_libbpf_logging;πpub(crate) use scx_utils::libbpf_clap_opts::LibbpfOpts;πpub(crate) use scx_utils::scx_enums;π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::uei_exited;πpub(crate) use scx_utils::uei_report;πpub(crate) use debug;πpub(crate) use info;πpub(crate) use trace;πpub(crate) use warn;πpub(crate) use tracing_subscriber::filter::EnvFilter;πpub(crate) use scx_stats::prelude::*;π
ModulesΒ§
- bpf_
intf - bpf_
skel π - cell_
manager π - Cell manager for userspace-driven cell creation.
- config π
- imp
- stats π
- topology π
- types
- undefok_
flags π
StructsΒ§
- BpfLinks
- BpfMaps
- BpfProgs
- BpfSkel
- BpfSkel
Builder - Cell π
- Cell
Manager π - Manages cells for direct child cgroups of a specified parent
- Cell
Metrics π - Configured
Cells π - CpuAssignment π
- Result of CPU assignment computation, containing both primary and optional borrowable masks.
- CpuRecipient π
- Generic allocation input for a CPU partitioning recipient.
- Distribution
Stats π - Metrics π
- Mitosis
Topology π - Open
BpfMaps - Open
BpfProgs - Open
BpfSkel - Opts π
- scx_mitosis: A dynamic affinity scheduler
- Owned
Ref - Scheduler π
- Struct
Ops - Subcell π
EnumsΒ§
- Cell
Source π - Where the schedulerβs cells come from.
- Subcell
Match π
ConstantsΒ§
- DEMAND_
ONE π - Fixed-point 1.0 of the per-task demand accumulated by BPF.
- INOTIFY_
TOKEN π - Epoll token for inotify events (cgroup creation/destruction)
- MAX_
CELLS π - MAX_
SUBCELLS_ πPER_ CELL - NR_
CSTATS π - QUEUE_
STATS_ πIDX - SCHEDULER_
NAME π - SHARE_
SIBLING_ πSUBCELL_ CPUS - STATS_
TOKEN π - Epoll token for stats request wakeups
StaticsΒ§
FunctionsΒ§
- build_
skel_ config - copy_
cstr π - default_
subcell_ πname - main π
- parse_
ewma_ πfactor - read_
bpf_ πcell - read_
cpu_ πctxs - read_
cpumask_ πfrom_ bytes - read_
subcell_ πaccounts - Read the per-CPU accounting slots of
active_subcellsfrom BPF. - run π
- validate_
subcell_ πassignments - write_
cpumask_ πto_ config - write_
subcell_ πmatches