Skip to main content

Crate scx_layered

Crate scx_layered 

Source

Re-exportsยง

pub(crate) use libbpf_rs::MapCore 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::collections::BTreeMap; ๐Ÿ”’
pub(crate) use std::collections::BTreeSet; ๐Ÿ”’
pub(crate) use std::collections::HashMap; ๐Ÿ”’
pub(crate) use std::collections::HashSet; ๐Ÿ”’
pub(crate) use std::ffi::CString; ๐Ÿ”’
pub(crate) use std::fs; ๐Ÿ”’
pub(crate) use std::io::Write; ๐Ÿ”’
pub(crate) use std::mem::MaybeUninit; ๐Ÿ”’
pub(crate) use std::ops::Sub; ๐Ÿ”’
pub(crate) use std::path::Path; ๐Ÿ”’
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::Ordering; ๐Ÿ”’
pub(crate) use std::thread::ThreadId; ๐Ÿ”’
pub(crate) use std::time::Duration; ๐Ÿ”’
pub(crate) use std::time::Instant; ๐Ÿ”’
pub(crate) use Inotify; ๐Ÿ”’
pub(crate) use WatchMask; ๐Ÿ”’
pub(crate) use std::os::unix::io::AsRawFd; ๐Ÿ”’
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 crossbeam::channel::Receiver; ๐Ÿ”’
pub(crate) use crossbeam::select; ๐Ÿ”’
pub(crate) use lazy_static::lazy_static; ๐Ÿ”’
pub(crate) use libbpf_rs::AsRawLibbpf; ๐Ÿ”’
pub(crate) use libbpf_rs::OpenObject; ๐Ÿ”’
pub(crate) use libbpf_rs::ProgramInput; ๐Ÿ”’
pub(crate) use libbpf_rs::libbpf_sys; ๐Ÿ”’
pub(crate) use nix::sched::CpuSet; ๐Ÿ”’
pub(crate) use nvml_wrapper::Nvml; ๐Ÿ”’
pub(crate) use nvml_wrapper::error::NvmlError; ๐Ÿ”’
pub(crate) use once_cell::sync::OnceCell; ๐Ÿ”’
pub(crate) use regex::Regex; ๐Ÿ”’
pub(crate) use LayerAlloc; ๐Ÿ”’
pub(crate) use LayerDemand; ๐Ÿ”’
pub(crate) use unified_alloc; ๐Ÿ”’
pub(crate) use scx_raw_pmu::PMUManager; ๐Ÿ”’
pub(crate) use scx_utils::CoreType; ๐Ÿ”’
pub(crate) use scx_utils::Cpumask; ๐Ÿ”’
pub(crate) use scx_utils::Llc; ๐Ÿ”’
pub(crate) use scx_utils::NR_CPU_IDS; ๐Ÿ”’
pub(crate) use scx_utils::NR_CPUS_POSSIBLE; ๐Ÿ”’
pub(crate) use scx_utils::NetDev; ๐Ÿ”’
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::perf; ๐Ÿ”’
pub(crate) use cpu_idle_resume_latency_supported; ๐Ÿ”’
pub(crate) use update_cpu_idle_resume_latency; ๐Ÿ”’
pub(crate) use scx_utils::read_netdevs; ๐Ÿ”’
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 std::collections::VecDeque; ๐Ÿ”’
pub(crate) use Pid; ๐Ÿ”’
pub(crate) use ProcessRefreshKind; ๐Ÿ”’
pub(crate) use ProcessesToUpdate; ๐Ÿ”’
pub(crate) use System; ๐Ÿ”’
pub(crate) use debug; ๐Ÿ”’
pub(crate) use error; ๐Ÿ”’
pub(crate) use info; ๐Ÿ”’
pub(crate) use trace; ๐Ÿ”’
pub(crate) use warn; ๐Ÿ”’
pub(crate) use tracing_subscriber::filter::EnvFilter; ๐Ÿ”’
pub(crate) use walkdir::WalkDir; ๐Ÿ”’
pub(crate) use scx_layered::*; ๐Ÿ”’
pub(crate) use scx_stats::prelude::*; ๐Ÿ”’

Modulesยง

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

Structsยง

BpfLinks
BpfMaps
BpfProgs
BpfSkel
BpfSkelBuilder
BpfStats ๐Ÿ”’
DFL_DISALLOW_OPEN_AFTER_US ๐Ÿ”’
DFL_DISALLOW_PREEMPT_AFTER_US ๐Ÿ”’
EXAMPLE_CONFIG ๐Ÿ”’
GpuTaskAffinitizer ๐Ÿ”’
HintLayerInfo ๐Ÿ”’
Layer ๐Ÿ”’
LayerStats ๐Ÿ”’
NodeInfo ๐Ÿ”’
OpenBpfMaps
OpenBpfProgs
OpenBpfSkel
Opts ๐Ÿ”’
scx_layered: A highly configurable multi-layer sched_ext scheduler
OwnedRef
Scheduler ๐Ÿ”’
Stats ๐Ÿ”’
StructOps
SysStats ๐Ÿ”’
USAGE_DECAY ๐Ÿ”’
XnumaRates ๐Ÿ”’
Result of xnuma water-fill computation for a single layer.

Enumsยง

CgroupEvent ๐Ÿ”’
StatsReq ๐Ÿ”’
StatsRes ๐Ÿ”’

Constantsยง

DEFAULT_LAYER_WEIGHT ๐Ÿ”’
DUTY_CYCLE_SCALE ๐Ÿ”’
LAYER_USAGE_OPEN ๐Ÿ”’
LAYER_USAGE_OWNED ๐Ÿ”’
LAYER_USAGE_PROTECTED ๐Ÿ”’
LAYER_USAGE_PROTECTED_PREEMPT ๐Ÿ”’
LAYER_USAGE_SUM_UPTO ๐Ÿ”’
MAX_COMM ๐Ÿ”’
MAX_LAYERS ๐Ÿ”’
MAX_LAYER_MATCH_ORS ๐Ÿ”’
MAX_LAYER_NAME ๐Ÿ”’
MAX_LAYER_WEIGHT ๐Ÿ”’
MAX_PATH ๐Ÿ”’
MIN_LAYER_WEIGHT ๐Ÿ”’
NR_GSTATS ๐Ÿ”’
NR_LAYER_MATCH_KINDS ๐Ÿ”’
NR_LAYER_USAGES ๐Ÿ”’
NR_LLC_LSTATS ๐Ÿ”’
NR_LSTATS ๐Ÿ”’
SCHEDULER_NAME ๐Ÿ”’
USAGE_HALF_LIFE ๐Ÿ”’
USAGE_HALF_LIFE_F64 ๐Ÿ”’
XNUMA_RATE_DAMPEN ๐Ÿ”’

Staticsยง

DATA
NVML ๐Ÿ”’

Functionsยง

build_skel_config
calc_peak_aware_target_range ๐Ÿ”’
calc_util ๐Ÿ”’
clap_main_fn ๐Ÿ”’
copy_into_cstr ๐Ÿ”’
create_perf_fds ๐Ÿ”’
expand_template ๐Ÿ”’
find_cpumask ๐Ÿ”’
get_kallsyms_addr ๐Ÿ”’
main
name_suffix ๐Ÿ”’
nvml ๐Ÿ”’
read_cpu_ctxs ๐Ÿ”’
read_total_cpu ๐Ÿ”’
resolve_cpus_pct_range ๐Ÿ”’
setup_membw_tracking ๐Ÿ”’
traverse_sysfs ๐Ÿ”’
update_peak_util ๐Ÿ”’
verify_layer_specs ๐Ÿ”’
write_example_file ๐Ÿ”’
xnuma_check_active ๐Ÿ”’
Determine per-node migration source state with two-threshold hysteresis.
xnuma_compute_rates ๐Ÿ”’
Compute water-fill migration rates for a single layer.