Skip to content

Scheduling domains

struct scheduler_group {
struct cpu_mask cpus;
struct cpu_mask idle;
uint64_t load;
uint32_t capacity;
int32_t parent_index;
int32_t topo_index;
};

struct scheduler_group referenced types:

struct scheduler_domain {
enum topology_level level;
struct scheduler_group *groups;
size_t ngroups;
struct scheduler_domain *parent;
};

struct scheduler_domain referenced types:

void scheduler_domains_init(void);
void scheduler_domain_mark_self_idle(bool idle);
int32_t scheduler_push_target(struct core *from);

scheduler_push_target referenced types:

int32_t scheduler_find_idle_cpu_near(struct core *from);

scheduler_find_idle_cpu_near referenced types:

int32_t scheduler_group_find_idle_cpu(struct scheduler_group *g);

scheduler_group_find_idle_cpu referenced types:

struct scheduler_group * scheduler_domain_find_sibling_group(struct core *c, size_t domain_idx);

scheduler_domain_find_sibling_group referenced types: