Name

find_busiest_group — Returns the busiest group within the sched_domain if there is an imbalance. If there isn't an imbalance, and the user has opted for power-savings, it returns a group whose CPUs can be put to idle by rebalancing those tasks elsewhere, if such a group exists.

Synopsis

struct sched_group * fsfuncfind_busiest_group (struct lb_env * env,
 const struct cpumask * cpus,
 int * balance);
 

Arguments

env

The load balancing environment.

cpus

The set of CPUs under consideration for load-balancing.

balance

Pointer to a variable indicating if this_cpu is the appropriate cpu to perform load balancing at this_level.

Description

Also calculates the amount of weighted load which should be moved to restore balance.

Returns

- the busiest group if imbalance exists. - If no imbalance and user has opted for power-savings balance, return the least loaded group whose CPUs can be put to idle by rebalancing its tasks onto our group.