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). | |
Variables | |
| u64 | avg_load {0U} |
| u64 | balance_interval_ns {1'000'000ULL} |
| u64 | cache_hot_time_ns {500'000ULL} |
| sched_domain * | child {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_group * | groups {nullptr} |
| bool | has_running {false} |
| u32 | imbalance_pct {125U} |
| u64 | last_balance_tick {0ULL} |
| sd_level | level {sd_level::smt} |
| sched_domain * | levels [SCHED_DOMAIN_MAX_LEVEL] {nullptr,} |
| u32 | max_built_level {0U} |
| sched_group * | next {nullptr} |
| u32 | nr_balance_failed {0U} |
| u32 | nr_balance_failed {0U} |
| u32 | nr_busy_cpus {0U} |
| sched_domain * | parent {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 |