ZXFoundation™ 26h2
Loading...
Searching...
No Matches
run_queue Struct Reference

Per-CPU run queue — schedules strands (execution contexts). More...

Collaboration diagram for run_queue:
[legend]

Public Member Functions

auto operator= (const run_queue &)=delete
auto operator= (run_queue &&)=delete
 run_queue (const run_queue &)=delete
 run_queue (run_queue &&)=delete

Data Fields

i64 avg_vruntime_acc {0}
u64 avg_weight_acc {0}
std::atomic< u64 > balance_attached_asce {0}
std::atomic< u8 > balance_attached_dgp_state {0}
std::atomic< u32 > balance_attached_domain_id {0}
std::atomic< i64 > balance_avg_vruntime_acc {0}
std::atomic< u64 > balance_avg_weight_acc {0}
std::atomic< u64 > balance_cfs_load_avg {0}
std::atomic< u64 > balance_cfs_runnable_avg {0}
std::atomic< u64 > balance_cfs_util_avg {0}
std::atomic< u32 > balance_cpu_capacity_curr {1024}
std::atomic< u64 > balance_min_vruntime {0}
 Lockless advisory view consumed by remote balancers.
std::atomic< u32 > balance_nr_running {0}
std::atomic< u32 > balance_online {0}
sched_avg_rq cfs_avg {}
 Per-CPU PELT averaging accumulator (mirrors Linux's cfs_rq::avg).
sync::qspinlock::qspinlock context_lock {}
 Serializes ASCE / CR1 loads during context switch.
u32 cpu_capacity_curr {1024}
 Current CPU capacity — dynamically reduced by RT pressure and restored by tick decay (matches Linux scheduler).
u32 cpu_capacity_orig {1024}
 Original CPU capacity (SMT-aware throughput units, 1024=max).
u16 cpu_id {0}
 Logical CPU ID this run_queue belongs to.
dgp::domain::strand * curr {nullptr}
 Currently running strand.
lib::list_head deadline_queue {}
 Conservative EDF deadline queue.
lib::rb_root_cached fair_tree {}
 EEVDF fair scheduling tree (cached leftmost = earliest deadline).
dgp::domain::strand * idle_strand {nullptr}
 This CPU's idle strand.
sync::qspinlock::qspinlock lock {}
 Protects run queue data (enqueue/dequeue/select).
u64 min_vruntime {0}
 Monotonically increasing vruntime floor.
u32 nohz_flags {0}
 Per-CPU nohz idle state (tickless flags).
u32 nr_running {0}
 Total runnable strands on this CPU.
std::atomic< u32 > online {0}
 Set to 1 when this CPU's run queue is fully initialized.
rt::bw::rt_bandwidth rt_bw {}
 Per-CPU RT bandwidth controller (1 s period, 950 ms quota).
lib::list_head rt_queue {}
 RT FIFO queue (domains dequeued in FIFO order).
sd::sched_domain_tree sd_tree {}
 Per-CPU scheduler-domain hierarchy (SMT → MC → DIE → BOOK → NUMA).

Detailed Description

Per-CPU run queue — schedules strands (execution contexts).


The documentation for this struct was generated from the following file:
  • zxfoundation/sched/rq.cxxm