Skip to main content

Crate scx_flow

Crate scx_flow 

Source
Expand description

Flow scheduler front end.

Copyright (c) 2026 Galih Tama galpt@v.recipes Loads the BPF object, seeds the topology view, then drives the loop. Observability is counters through the stats server plus the loopback dashboard with per CPU cards plus a JSON snapshot for debugging.

Re-exportsยง

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::Result; ๐Ÿ”’
pub(crate) use clap::CommandFactory; ๐Ÿ”’
pub(crate) use clap::Parser; ๐Ÿ”’
pub(crate) use clap_complete::Shell; ๐Ÿ”’
pub(crate) use clap_complete::generate; ๐Ÿ”’
pub(crate) use crossbeam::channel::RecvTimeoutError; ๐Ÿ”’
pub(crate) use log::info; ๐Ÿ”’
pub(crate) use scx_utils::UserExitInfo; ๐Ÿ”’
pub(crate) use scx_utils::build_id; ๐Ÿ”’
pub(crate) use scx_utils::libbpf_clap_opts::LibbpfOpts; ๐Ÿ”’
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 ๐Ÿ”’
config ๐Ÿ”’
Validated scheduling constants for the flow scheduler.
imp
snapshot ๐Ÿ”’
Snapshot reads for the flow scheduler.
stats ๐Ÿ”’
Stats server for the flow scheduler.
topology ๐Ÿ”’
Topology view for the flow scheduler.
types
webui ๐Ÿ”’
Loopback dashboard for the flow scheduler.

Structsยง

BpfLinks
BpfMaps
BpfProgs
BpfSkel
BpfSkelBuilder
Config ๐Ÿ”’
Validated scheduling constants.
Metrics ๐Ÿ”’
Counters with placement, admission, and miss detail. BPF holds 17 counters, Rust adds display-only uptime for eighteen.
OpenBpfMaps
OpenBpfProgs
OpenBpfSkel
Opts ๐Ÿ”’
OwnedRef
Scheduler ๐Ÿ”’
StructOps

Constantsยง

SCHEDULER_NAME ๐Ÿ”’

Staticsยง

DATA

Functionsยง

build_skel_config
full_version ๐Ÿ”’
main ๐Ÿ”’
poll_interval_secs ๐Ÿ”’
Validated poll interval from float seconds. Rejects NaN plus infinite plus non-positive plus over one hour, so a bad flag fails closed before any timer starts with no panic.