Messages in this thread | | | Date | Fri, 15 Apr 2022 18:03:05 +0800 | From | Tao Zhou <> | Subject | Re: [PATCH V1 RESEND]: sched/fair: Revise comment about lb decision matrix |
| |
On Fri, Apr 15, 2022 at 10:32:09AM +0200, Vincent Guittot wrote:
> On Fri, 15 Apr 2022 at 04:22, Tao Zhou <tao.zhou@linux.dev> wrote: > > > > If busiest group type is group_misfit_task, the local > > group type must be group_has_spare according to below > > code in update_sd_pick_busiest(): > > > > if (sgs->group_type == group_misfit_task && > > (!capacity_greater(capacity_of(env->dst_cpu), sg->sgc->max_capacity) || > > sds->local_stat.group_type != group_has_spare)) > > return false; > > > > group type imbalanced and overloaded and fully_busy are filtered in here. > > misfit and asym are filtered before in update_sg_lb_stats(). > > The behavior has changed with > cad68e552e77 ("sched/fair: Consider misfit tasks when load-balancing") > But we haven't updated the matrix > > Reviewed-by: Vincent Guittot <vincent.guittot@linaro.org>
I send a version just now but forget to change the version number.
Thanks, Tao
> > So, change the decision matrix to: > > > > busiest \ local has_spare fully_busy misfit asym imbalanced overloaded > > has_spare nr_idle balanced N/A N/A balanced balanced > > fully_busy nr_idle nr_idle N/A N/A balanced balanced > > misfit_task force N/A N/A N/A *N/A* *N/A* > > asym_packing force force N/A N/A force force > > imbalanced force force N/A N/A force force > > overloaded force force N/A N/A force avg_load > > > > Fixes: 0b0695f2b34a ("sched/fair: Rework load_balance()") > > Reviewed-by: Dietmar Eggemann <dietmar.eggemann@arm.com> > > Signed-off-by: Tao Zhou <tao.zhou@linux.dev> > > --- > > > > v1 changelog: > > (1) Send to MAINTAINERS/REVIEWS get from `./scripts/get_maintainer.pl` > > suggested by Dietmar Eggemann. > > (2) Based on v5.18-rc2 > > > > > > kernel/sched/fair.c | 2 +- > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c > > index d4bd299d67ab..b8c67e7c8cf3 100644 > > --- a/kernel/sched/fair.c > > +++ b/kernel/sched/fair.c > > @@ -9495,7 +9495,7 @@ static inline void calculate_imbalance(struct lb_env *env, struct sd_lb_stats *s > > * busiest \ local has_spare fully_busy misfit asym imbalanced overloaded > > * has_spare nr_idle balanced N/A N/A balanced balanced > > * fully_busy nr_idle nr_idle N/A N/A balanced balanced > > - * misfit_task force N/A N/A N/A force force > > + * misfit_task force N/A N/A N/A N/A N/A > > * asym_packing force force N/A N/A force force > > * imbalanced force force N/A N/A force force > > * overloaded force force N/A N/A force avg_load > > -- > > 2.35.2 > >
| |