Lines Matching refs:sgs

6244 group_has_capacity(struct lb_env *env, struct sg_lb_stats *sgs)  in group_has_capacity()  argument
6246 if (sgs->sum_nr_running < sgs->group_weight) in group_has_capacity()
6249 if ((sgs->group_capacity * 100) > in group_has_capacity()
6250 (sgs->group_util * env->sd->imbalance_pct)) in group_has_capacity()
6265 group_is_overloaded(struct lb_env *env, struct sg_lb_stats *sgs) in group_is_overloaded() argument
6267 if (sgs->sum_nr_running <= sgs->group_weight) in group_is_overloaded()
6270 if ((sgs->group_capacity * 100) < in group_is_overloaded()
6271 (sgs->group_util * env->sd->imbalance_pct)) in group_is_overloaded()
6279 struct sg_lb_stats *sgs) in group_classify() argument
6281 if (sgs->group_no_capacity) in group_classify()
6301 int local_group, struct sg_lb_stats *sgs, in update_sg_lb_stats() argument
6307 memset(sgs, 0, sizeof(*sgs)); in update_sg_lb_stats()
6318 sgs->group_load += load; in update_sg_lb_stats()
6319 sgs->group_util += cpu_util(i); in update_sg_lb_stats()
6320 sgs->sum_nr_running += rq->cfs.h_nr_running; in update_sg_lb_stats()
6326 sgs->nr_numa_running += rq->nr_numa_running; in update_sg_lb_stats()
6327 sgs->nr_preferred_running += rq->nr_preferred_running; in update_sg_lb_stats()
6329 sgs->sum_weighted_load += weighted_cpuload(i); in update_sg_lb_stats()
6331 sgs->idle_cpus++; in update_sg_lb_stats()
6335 sgs->group_capacity = group->sgc->capacity; in update_sg_lb_stats()
6336 sgs->avg_load = (sgs->group_load*SCHED_CAPACITY_SCALE) / sgs->group_capacity; in update_sg_lb_stats()
6338 if (sgs->sum_nr_running) in update_sg_lb_stats()
6339 sgs->load_per_task = sgs->sum_weighted_load / sgs->sum_nr_running; in update_sg_lb_stats()
6341 sgs->group_weight = group->group_weight; in update_sg_lb_stats()
6343 sgs->group_no_capacity = group_is_overloaded(env, sgs); in update_sg_lb_stats()
6344 sgs->group_type = group_classify(group, sgs); in update_sg_lb_stats()
6363 struct sg_lb_stats *sgs) in update_sd_pick_busiest() argument
6367 if (sgs->group_type > busiest->group_type) in update_sd_pick_busiest()
6370 if (sgs->group_type < busiest->group_type) in update_sd_pick_busiest()
6373 if (sgs->avg_load <= busiest->avg_load) in update_sd_pick_busiest()
6385 if (sgs->sum_nr_running && env->dst_cpu < group_first_cpu(sg)) { in update_sd_pick_busiest()
6397 static inline enum fbq_type fbq_classify_group(struct sg_lb_stats *sgs) in fbq_classify_group() argument
6399 if (sgs->sum_nr_running > sgs->nr_numa_running) in fbq_classify_group()
6401 if (sgs->sum_nr_running > sgs->nr_preferred_running) in fbq_classify_group()
6415 static inline enum fbq_type fbq_classify_group(struct sg_lb_stats *sgs) in fbq_classify_group() argument
6445 struct sg_lb_stats *sgs = &tmp_sgs; in update_sd_lb_stats() local
6451 sgs = &sds->local_stat; in update_sd_lb_stats()
6458 update_sg_lb_stats(env, sg, load_idx, local_group, sgs, in update_sd_lb_stats()
6476 (sgs->sum_nr_running > 1)) { in update_sd_lb_stats()
6477 sgs->group_no_capacity = 1; in update_sd_lb_stats()
6478 sgs->group_type = group_classify(sg, sgs); in update_sd_lb_stats()
6481 if (update_sd_pick_busiest(env, sds, sg, sgs)) { in update_sd_lb_stats()
6483 sds->busiest_stat = *sgs; in update_sd_lb_stats()
6488 sds->total_load += sgs->group_load; in update_sd_lb_stats()
6489 sds->total_capacity += sgs->group_capacity; in update_sd_lb_stats()