ZXFoundation™ 26h2
Loading...
Searching...
No Matches
zxfoundation.sched.rt.bandwidth Module Reference

Data Structures

struct  zxfoundation::sched::rt::bw::rt_bandwidth
 Per-CPU RT bandwidth accounting block. More...

Functions

auto zxfoundation::sched::rt::bw::bw_charge (rt_bandwidth &bw, u64 consumed_ns) noexcept -> bool
 Assess the RT bandwidth for the current CPU.
auto zxfoundation::sched::rt::bw::bw_init (rt_bandwidth &bw, u16 cpu) noexcept -> void
 Initialize one per-CPU RT bandwidth control block.
auto zxfoundation::sched::rt::bw::bw_replenish (rt_bandwidth &bw) noexcept -> void
 Period replenishment: reset the per-CPU RT runtime counter.

Variables

u8 _pad [3] {}
constexpr u64 zxfoundation::sched::rt::bw::RT_PERIOD_DEFAULT_NS = 1'000'000'000ULL
 System-wide RT bandwidth period (1 000 ms).
u64 rt_period_ns {RT_PERIOD_DEFAULT_NS}
u64 rt_period_start_ns {0ULL}
zxfoundation::sys::timer::kernel_timer rt_period_timer {}
constexpr u64 zxfoundation::sched::rt::bw::RT_RUNTIME_DEFAULT_NS = 950'000'000ULL
 Per-CPU RT runtime ceiling per period (950 ms).
u64 rt_runtime_ns {RT_RUNTIME_DEFAULT_NS}
bool rt_throttled {false}
u64 rt_time_ns {0ULL}
constexpr u64 zxfoundation::sched::rt::bw::sched_rt_period_us = RT_PERIOD_DEFAULT_NS / 1000ULL
 global sched_rt_period_us
constexpr u64 zxfoundation::sched::rt::bw::sched_rt_runtime_us = RT_RUNTIME_DEFAULT_NS / 1000ULL
 global sched_rt_runtime_us

Files

file  zxfoundation/sched/rt.zcomponent/bandwidth.cxxm
file  zxfoundation/sched/rt.zcomponent/bandwidth.cxx