Re: [PATCH] sched/fair: consider sched-idle CPU when selecting idle core

From: Vincent Guittot
Date: Fri Jul 24 2020 - 06:34:07 EST


On Fri, 24 Jul 2020 at 10:12, Jiang Biao <benbjiang@xxxxxxxxx> wrote:
>
> On Fri, 24 Jul 2020 at 15:24, Vincent Guittot
> <vincent.guittot@xxxxxxxxxx> wrote:
> >
> > On Fri, 24 Jul 2020 at 01:39, Jiang Biao <humjb_1983@xxxxxxx> wrote:
> > >
> > > From: Jiang Biao <benbjiang@xxxxxxxxxxx>
> > >
> > > Sched-idle CPU has been considered in select_idle_cpu and
> > > select_idle_smt, it also needs to be considered in select_idle_core to
> > > be consistent and keep the same *idle* policy.
> >
> > In the case of select_idle_core, we are looking for a core that is
> > fully idle but if one CPU of the core is running a sched_idle task,
> > the core will not be idle and we might end up having the wakeup task
> > on a CPU and a sched_idle task on another CPU of the core which is not
> > what we want
> Got it. sched_idle task may interfere its sibling, which brings me
> another question,
> If there's a core with smt1 running sched_idle task and smt2 idle,
> selecting smt1
> rather than smt2 should be more helpful for wakee task, because wakee task
> could suppress the sched_idle task without neighbour interfering.

But the sched_idle will then probably quickly move on the idle smt2

> And there seems to be no consideration about that currently.
> Is it worth improving that?

This will complexify and extend the duration of the search loop and
as mentioned above, it will most probably be a nop at the end because
of sched_idle task moving on smt2

>
> Thanks a lot.
>
> Regards,
> Jiang