Re: [PATCH v3] sched,fair: skip newidle_balance if a wakeup is pending

From: Rik van Riel
Date: Thu Apr 22 2021 - 12:47:10 EST


On Thu, 2021-04-22 at 10:37 +0200, Vincent Guittot wrote:
> On Wed, 21 Apr 2021 at 19:27, Vincent Guittot
> <vincent.guittot@xxxxxxxxxx> wrote:
> >
> > > - if (pulled_task)
> > > + /*
> > > + * If we are no longer idle, do not let the time spent
> > > here pull
> > > + * down this_rq->avg_idle. That could lead to
> > > newidle_balance not
> > > + * doing enough work, and the CPU actually going idle.
> > > + */
> > > + if (pulled_task || this_rq->ttwu_pending)
> >
> I confirmed that the line above generate hackbench regression on my
> large arm64 system (2 * 112 CPUs)
> I'm testing hackbench with various number of group : 1, 2, 4, 16, 32,
> 64, 128, 256 but I have only put the 2 results which significantly
> regress. The other ones are in the +/-1% variation range
>
> hackbench -g $group
>
> group v5.12-rc8+tip w/ this patch w/ this patch
> without
> the line above
> 64 2.862(+/- 9%) 2.952(+/-11%) -3% 2.807(+/- 7%) +2%
> 128 3.334(+/-10%) 3.561-+/-13%) -7% 3.181(+/- 6%) +4%

OK, I guess this part of the patch needs additional work.

I'll send a v4 with just the first two changes.

Thank you for running those tests.

--
All Rights Reversed.

Attachment: signature.asc
Description: This is a digitally signed message part