Re: [tip:sched/eevdf] [sched/fair] e0c2ff903c: phoronix-test-suite.blogbench.Write.final_score -34.8% regression

From: Peter Zijlstra
Date: Wed Aug 16 2023 - 16:04:58 EST


On Wed, Aug 16, 2023 at 05:38:20PM +0200, Mike Galbraith wrote:
> On Wed, 2023-08-16 at 15:40 +0200, Peter Zijlstra wrote:
> > On Wed, Aug 16, 2023 at 02:37:16PM +0200, Peter Zijlstra wrote:
> > > On Mon, Aug 14, 2023 at 08:32:55PM +0200, Mike Galbraith wrote:
> > >
> > > > --- a/kernel/sched/fair.c
> > > > +++ b/kernel/sched/fair.c
> > > > @@ -875,6 +875,12 @@ static struct sched_entity *pick_eevdf(s
> > > >         if (curr && (!curr->on_rq || !entity_eligible(cfs_rq, curr)))
> > > >                 curr = NULL;
> > > >  
> > > > +       /*
> > > > +        * Once selected, run the task to parity to avoid overscheduling.
> > > > +        */
> > > > +       if (sched_feat(RUN_TO_PARITY) && curr)
> > > > +               return curr;
> > > > +
> > > >         while (node) {
> > > >                 struct sched_entity *se = __node_2_se(node);
> > > >  
> > >
> > > So I read it wrong last night... but I rather like this idea. But
> > > there's something missing. When curr starts a new slice it should
> > > probably do a full repick and not stick with it.
> > >
> > > Let me poke at this a bit.. nice
> >
> > Something like so.. it shouldn't matter much now, but might make a
> > difference once we start mixing different slice lengths.
>
> Hm, that stash the deadline trick _seems_ to have cured the reason I
> was inspired to added that XXX hunk.. no 'ew, that's a tad harsh'
> latency penalty in sight <knocks wood>.
>
> Here's hoping test bots don't have a cow.

You want to write up a Changelog for this, or should I attempt to write
one?