Skip to main content

Crate scx_nitosis

Crate scx_nitosis 

Source

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
BpfSkelBuilder
Cell ๐Ÿ”’
CellManager ๐Ÿ”’
Manages cells for direct child cgroups of a specified parent
CellMetrics ๐Ÿ”’
CpuAssignment ๐Ÿ”’
Result of CPU assignment computation, containing both primary and optional borrowable masks.
DistributionStats ๐Ÿ”’
Metrics ๐Ÿ”’
MitosisTopology ๐Ÿ”’
OpenBpfMaps
OpenBpfProgs
OpenBpfSkel
Opts ๐Ÿ”’
scx_nitosis: A dynamic affinity scheduler
OwnedRef
Scheduler ๐Ÿ”’
StructOps

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ยง

DATA

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 ๐Ÿ”’