Re-exportsΒ§
pub use bpf_intf::*;
ModulesΒ§
StructsΒ§
- BpfLinks
- BpfMaps
- BpfProgs
- BpfSkel
- BpfSkel
Builder - CpuTimes π
- Dynamic
Threshold πState - State for EMA-based dynamic threshold adjustment with hysteresis.
- Open
BpfMaps - Open
BpfProgs - Open
BpfSkel - Opts π
- Scheduler π
- Struct
Ops
ConstantsΒ§
- DYNAMIC_
THRESHOLD_ πEMA_ ALPHA - EMA smoothing factor (alpha). Higher values give more weight to recent samples. 0.3 provides good balance between responsiveness and stability.
- DYNAMIC_
THRESHOLD_ πHYSTERESIS - Hysteresis band: rate must move by this fraction beyond the target bounds before we act. This prevents oscillation when the rate hovers near the threshold boundaries.
- DYNAMIC_
THRESHOLD_ πINIT_ VALUE - Initial value for the dynamic threshold (in BPF units).
- DYNAMIC_
THRESHOLD_ πMIN_ VALUE - Minimum value for the dynamic threshold (in BPF units).
- DYNAMIC_
THRESHOLD_ πRATE_ HIGH - Target event rate (per second) above which we consider migrations/sticky dispatches too high.
- DYNAMIC_
THRESHOLD_ πRATE_ LOW - Target event rate (per second) below which we consider migrations/sticky dispatches too low.
- DYNAMIC_
THRESHOLD_ πSCALE_ MAX - Maximum scale factor when far from target (fast convergence when initial threshold is way off).
- DYNAMIC_
THRESHOLD_ πSCALE_ MIN - Minimum scale factor when just outside the target band (slow convergence near optimal).
- DYNAMIC_
THRESHOLD_ πSLOPE_ HIGH - Slope for βtoo highβ case: scale grows with (rate/HIGH - 1) so we step much harder when rate is many times over target.
- DYNAMIC_
THRESHOLD_ πSLOPE_ LOW - Slope for βtoo lowβ case: scale grows with deficit so we step harder when rate is near zero.
- GPU_
SYNC_ πINTERVAL - Minimum interval between NVML GPU PID syncs. Kept separate from CPU polling so that fast polling (e.g. 100 ms) does not trigger expensive NVML calls every tick.
- SCHEDULER_
NAME π
FunctionsΒ§
- main π
- parse_
cpu_ list