Re-exportsยง
pub(crate) use libbpf_rs::skel::Skel as _;๐pub(crate) use scx_utils::NR_CPU_IDS;๐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::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::anyhow;๐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_arena::ArenaLib;๐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::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::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_cid_load;๐pub(crate) use scx_utils::scx_ops_cid_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.
- 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 ๐ - CpuAssignment ๐
- Result of CPU assignment computation, containing both primary and optional borrowable masks.
- Distribution
Stats ๐ - Metrics ๐
- Mitosis
Topology ๐ - Open
BpfMaps - Open
BpfProgs - Open
BpfSkel - Opts ๐
- scx_nitosis: A dynamic affinity scheduler
- Owned
Ref - Scheduler ๐
- Struct
Ops
Constantsยง
- INOTIFY_
TOKEN ๐ - Epoll token for inotify events (cgroup creation/destruction)
- MAX_
CELLS ๐ - NR_
CSTATS ๐ - QUEUE_
STATS_ ๐IDX - SCHEDULER_
NAME ๐ - STATS_
TOKEN ๐ - Epoll token for stats request wakeups
Staticsยง
Functionsยง
- build_
skel_ config - main ๐
- parse_
ewma_ ๐factor - read_
cell_ ๐sub_ cgids - Every cellโs attached sub-scheduler cgroup ID as the arena records it, 0 when none.
- read_
cpu_ ๐ctxs - run ๐
- write_
cpumask_ ๐to_ config