ZXFoundation™ 26h2
Loading...
Searching...
No Matches
zxfoundation.sched.sd.types Module Reference

Data Structures

struct  zxfoundation::sched::sd::sched_domain
 Per-CPU per-level scheduling-domain descriptor. More...
struct  zxfoundation::sched::sd::sched_domain_tree
 Per-CPU sched_domain tree rooted at run_queue::sd. More...
struct  zxfoundation::sched::sd::sched_group
 Compact sched_group descriptor — a node in the sched_domain balancing candidates ring. More...

Enumerations

enum class  sd_flag : u32 {
  load_balance = 1U << 0 , balance_exec = 1U << 1 , balance_fork = 1U << 2 , balance_wake = 1U << 3 ,
  balance_newidle = 1U << 4 , update_idle_cpu = 1U << 5 , wake_affine = 1U << 6 , share_cpu_capacity = 1U << 7 ,
  share_pkg_resources = 1U << 8 , share_powerdomain = 1U << 9 , asym_cpucapacity = 1U << 10 , asym_cpucapacity_full = 1U << 11 ,
  prefer_sibling = 1U << 12 , overlap = 1U << 13 , serialise = 1U << 14 , prefer_level = 1U << 15 ,
  cluster = 1U << 16 , numa = 1U << 17 , clock_domain_gaps = 1U << 18 , no_balance = 1U << 19
}
 Scheduling domain flags.
enum class  sd_level : u8 {
  smt = 0 , mc = 1 , die = 2 , book = 3 ,
  numa = 4
}
 Topology level identifier (canonical ordering).

Functions

constexpr auto zxfoundation::sched::sd::operator& (sd_flag a, sd_flag b) noexcept -> sd_flag
constexpr auto zxfoundation::sched::sd::operator| (sd_flag a, sd_flag b) noexcept -> sd_flag
constexpr auto zxfoundation::sched::sd::operator|= (sd_flag &a, sd_flag b) noexcept -> sd_flag &

Variables

u64 avg_load {0U}
u64 balance_interval_ns {1'000'000ULL}
u64 cache_hot_time_ns {500'000ULL}
sched_domainchild {nullptr}
::lib::cpumask cpus {}
u32 domain_capacity {0U}
u64 domain_load {0ULL}
sd_flag flags {sd_flag::load_balance}
bool fresh_built {true}
u32 group_capacity {0U}
sched_groupgroups {nullptr}
bool has_running {false}
u32 imbalance_pct {125U}
u64 last_balance_tick {0ULL}
sd_level level {sd_level::smt}
sched_domainlevels [SCHED_DOMAIN_MAX_LEVEL] {nullptr,}
u32 max_built_level {0U}
sched_groupnext {nullptr}
u32 nr_balance_failed {0U}
u32 nr_balance_failed {0U}
u32 nr_busy_cpus {0U}
sched_domainparent {nullptr}
constexpr u32 zxfoundation::sched::sd::SCHED_DOMAIN_MAX_LEVEL = 5U
 Maximum supported depth of the sched_domain hierarchy.
::lib::cpumask span_cpus {}

Files

file  zxfoundation/sched/sd.zcomponent/types.cxxm