Re: [PATCH] sched/fair: Simplify the code of should_we_balance()

From: Valentin Schneider
Date: Mon Apr 13 2020 - 16:33:06 EST



On 12/04/20 09:42, Peng Wang wrote:
> On 4/11/20 5:20 PM, Peng Wang wrote:
>> We only consider group_balance_cpu() after there is no idle
>> cpu. So, just do comparison before return at these two cases.
>>

It's not really changing much, but if it helps making it a bit more
readable, why not. Small nit below.

Reviewed-by: Valentin Schneider <valentin.schneider@xxxxxxx>

>> Signed-off-by: Peng Wang <rocking@xxxxxxxxxxxxxxxxx>
>> ---
>> kernel/sched/fair.c | 16 +++++-----------
>> 1 file changed, 5 insertions(+), 11 deletions(-)
>>
>> diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c
>> index 1ea3ddd..81b2c647 100644
>> --- a/kernel/sched/fair.c
>> +++ b/kernel/sched/fair.c
>> @@ -9413,7 +9413,7 @@ static int active_load_balance_cpu_stop(void *data);
>> static int should_we_balance(struct lb_env *env)
>> {
>> struct sched_group *sg = env->sd->groups;
>> - int cpu, balance_cpu = -1;
>> + int cpu;
>>
>> /*
>> * Ensure the balancing environment is consistent; can happen
>> @@ -9434,18 +9434,12 @@ static int should_we_balance(struct lb_env *env)
>> if (!idle_cpu(cpu))
>> continue;
>>
>> - balance_cpu = cpu;
>> - break;
>> + /* Are we the first idle CPU? */
>> + return cpu == env->dst_cpu;
>> }
>>
>> - if (balance_cpu == -1)
>> - balance_cpu = group_balance_cpu(sg);
>> -
>> - /*
>> - * First idle CPU or the first CPU(busiest) in this sched group
>> - * is eligible for doing load balancing at this and above domains.
>> - */
>> - return balance_cpu == env->dst_cpu;
>> + /* Are we the first balance CPU of this group? */

Nit: That should be either "the balance CPU" or "the first CPU in the group
balance mask"

>> + return group_balance_cpu(sg) == env->dst_cpu;
>> }
>>
>> /*
>>
>
> +juri.lelli@xxxxxxxxxx