Expand description
Named defaults for the parametric WorkType variants, used by
WorkType::from_name. Extracting the magic numbers here
provides a named home for the default values so tests and docs
(e.g. doc/guide/src/architecture/workers.md) can cite them by
constant name instead of each tracking a scattered integer
literal. Every value carries a single-line comment naming the
knob and its unit; the const names mirror the
{variant_snake}_{field} convention so renames show up as
compile errors in both sites.
Constants§
- AFFINITY_
CHURN_ SPIN_ ITERS - ALU_
HOT_ WIDTH - Default for
WorkType::AluHot’swidthfield.Widestresolves to the widest data-path the host supports at worker entry — seesuper::AluWidthfor the resolution order. - ASYMMETRIC_
WAKER_ BURST_ ITERS - BURSTY_
BURST_ DURATION - BURSTY_
SLEEP_ DURATION - CACHE_
PIPE_ BURST_ ITERS - CACHE_
PIPE_ SIZE_ KIB - CACHE_
PRESSURE_ SIZE_ KIB - CACHE_
PRESSURE_ STRIDE - CACHE_
YIELD_ SIZE_ KIB - CACHE_
YIELD_ STRIDE - CGROUP_
ATTACH_ STORM_ DEST - CGROUP_
CHURN_ CYCLE_ MS - CGROUP_
CHURN_ GROUPS - CROSS_
AFFINITY_ CHURN_ SPIN_ ITERS - EPOLL_
STORM_ CONSUMERS - EPOLL_
STORM_ EVENTS_ PER_ BURST - EPOLL_
STORM_ PRODUCERS - FAN_
OUT_ COMPUTE_ CACHE_ FOOTPRINT_ KIB - FAN_
OUT_ COMPUTE_ FAN_ OUT - FAN_
OUT_ COMPUTE_ OPERATIONS - FAN_
OUT_ COMPUTE_ SLEEP_ USEC - FUTEX_
FAN_ OUT_ FAN_ OUT - FUTEX_
FAN_ OUT_ SPIN_ ITERS - FUTEX_
PING_ PONG_ SPIN_ ITERS - IDLE_
CHURN_ BURST_ DURATION - IDLE_
CHURN_ PRECISE_ TIMING - Default for
WorkType::IdleChurn’sprecise_timingfield.falsekeeps the inherited 50µscurrent->timer_slack_nsthe variant doc describes; opt-in callers set the field totruedirectly to callprctl(PR_SET_TIMERSLACK, 1). - IDLE_
CHURN_ SLEEP_ DURATION - IPC_
VARIANCE_ COLD_ ITERS - Random cache-line touches per cold phase in
WorkType::IpcVariance. 1024 touches across a 512KB working set on a typical x86 core takes ~100µs (LLC) to ~1ms (DRAM-spill). - IPC_
VARIANCE_ HOT_ ITERS - Multiply-chain steps per hot phase in
WorkType::IpcVariance. At IPC 2.0 / 2 GHz this spans ~50µs — long enough that the scheduler’s IPC-window observer sees a steady high-IPC signal before the cold phase flips it. - IPC_
VARIANCE_ PERIOD_ ITERS - Hot+cold pair iterations per outer loop in
WorkType::IpcVariance. 64 keeps per-stop-check overhead at <2% while bounding shutdown latency to one outer iteration (~10ms with the defaults above). - IRQ_
WAKE_ FRAME_ BYTES - Default
crate::workload::WorkType::IrqWakeEthernet frame size (bytes): 60 =ETH_ZLEN, the minimum L2 frame sans FCS. - IRQ_
WAKE_ INTERVAL_ US - Default
crate::workload::WorkType::IrqWakeinter-frame interval (µs): 1000 (1 kHz) paces the sender so the receiver drains its queue and genuinely blocks between frames — giving a usable (non-degenerate) wake reservoir.interval_us == 0maximizes softirq load (serviced byksoftirqd) but degenerates the wake reservoir — see the variant doc. - MUTEX_
CONTENTION_ CONTENDERS - MUTEX_
CONTENTION_ HOLD_ ITERS - MUTEX_
CONTENTION_ WORK_ ITERS - NET_
TRAFFIC_ FRAME_ BYTES - Default
crate::workload::WorkType::NetTrafficEthernet frame size (bytes): 60 =ETH_ZLEN, the minimum L2 frame sans FCS. - NET_
TRAFFIC_ INTERVAL_ US - Default
crate::workload::WorkType::NetTrafficinter-frame interval (µs): 0 = continuous (maximum TX-kick / softirq rate). - NUMA_
MIGRATION_ CHURN_ PERIOD_ MS - NUMA_
WORKING_ SET_ SWEEP_ REGION_ KIB - NUMA_
WORKING_ SET_ SWEEP_ SWEEP_ PERIOD_ MS - PAGE_
FAULT_ CHURN_ REGION_ KIB - PAGE_
FAULT_ CHURN_ SPIN_ ITERS - PAGE_
FAULT_ CHURN_ TOUCHES_ PER_ CYCLE - PIPE_
IO_ BURST_ ITERS - POLICY_
CHURN_ SPIN_ ITERS - PREEMPT_
STORM_ CFS_ WORKERS - PREEMPT_
STORM_ RT_ BURST_ ITERS - PREEMPT_
STORM_ RT_ SLEEP_ US - PRIORITY_
INVERSION_ HIGH_ COUNT - PRIORITY_
INVERSION_ HOLD_ ITERS - PRIORITY_
INVERSION_ LOW_ COUNT - PRIORITY_
INVERSION_ MEDIUM_ COUNT - PRIORITY_
INVERSION_ PI_ MODE - PRIORITY_
INVERSION_ WORK_ ITERS - PRODUCER_
CONSUMER_ CONSUMERS - PRODUCER_
CONSUMER_ CONSUME_ ITERS - PRODUCER_
CONSUMER_ PRODUCERS - PRODUCER_
CONSUMER_ PRODUCE_ RATE_ HZ - PRODUCER_
CONSUMER_ QUEUE_ DEPTH_ TARGET - RT_
STARVATION_ BURST_ ITERS - RT_
STARVATION_ CFS_ WORKERS - RT_
STARVATION_ RT_ PRIORITY - RT_
STARVATION_ RT_ WORKERS - SIGNAL_
STORM_ SIGNALS_ PER_ ITER - SIGNAL_
STORM_ WORK_ ITERS - THUNDERING_
HERD_ BATCHES - THUNDERING_
HERD_ INTER_ BATCH_ MS - THUNDERING_
HERD_ WAITERS - TIMER_
LATENCY_ INTERVAL_ US - Default
crate::workload::WorkType::TimerLatencyinter-wake interval (µs): 1000 = 1kHz, matchingcyclictest’s default tick rate. The absolute deadline advances by this each cycle. - WAKE_
CHAIN_ DEPTH - WAKE_
CHAIN_ WAKE - WAKE_
CHAIN_ WORK_ PER_ HOP