On 07/01/21 13:20, Vincent Guittot wrote:
> On Thu, 7 Jan 2021 at 12:26, Valentin Schneider
> <valentin.schnei...@arm.com> wrote:
>> > @@ -9499,13 +9499,32 @@ asym_active_balance(struct lb_env *env)
>> >  }
>> >
>> >  static inline bool
>> > -voluntary_active_balance(struct lb_env *env)
>> > +imbalanced_active_balance(struct lb_env *env)
>> > +{
>> > +     struct sched_domain *sd = env->sd;
>> > +
>> > +     /*
>> > +      * The imbalanced case includes the case of pinned tasks preventing 
>> > a fair
>> > +      * distribution of the load on the system but also the even 
>> > distribution of the
>> > +      * threads on a system with spare capacity
>> > +      */
>>
>> Do you mean s/imbalanced/migrate_task/? This part here will affect
>> group_imbalanced, group_asym_packing, and some others.
>
> I really mean the imbalanced case which refers to the function name
> and includes:
> - the pinned tasks case aka group_imbalanced and which is the primary
> target of this function ( which explains its name)
> - but also the case where we want to evenly spread tasks on system
> with spare capacity and removed this imbalance
>

But can't this also affect other group_types? calculate_imbalance() can
set

  env->migration_type = migrate_task;

for

  busiest->group_type > group_fully_busy

Reply via email to