Re: [PATCH v3 0/5] Improve newidle lb cost tracking and early abort

From: Vincent Guittot
Date: Thu Oct 21 2021 - 08:42:18 EST


On Thu, 21 Oct 2021 at 11:52, Mel Gorman <mgorman@xxxxxxx> wrote:
>
> On Tue, Oct 19, 2021 at 02:35:32PM +0200, Vincent Guittot wrote:
> > This patchset updates newidle lb cost tracking and early abort:
> >
> > The time spent running update_blocked_averages is now accounted in the 1st
> > sched_domain level. This time can be significant and move the cost of
> > newidle lb above the avg_idle time.
> >
> > The decay of max_newidle_lb_cost is modified to start only when the field
> > has not been updated for a while. Recent update will not be decayed
> > immediatlybut only after a while.
> >
> > The condition of an avg_idle lower than sysctl_sched_migration_cost has
> > been removed as the 500us value is quite large and prevent opportunity to
> > pull task on the newly idle CPU for at least 1st domain levels.
> >
> > Monitoring sd->max_newidle_lb_cost on cpu0 of a Arm64 system
> > THX2 (2 nodes * 28 cores * 4 cpus) during the benchmarks gives the
> > following results:
> > min avg max
> > SMT: 1us 33us 273us - this one includes the update of blocked load
> > MC: 7us 49us 398us
> > NUMA: 10us 45us 158us
> >
> >
> > Some results for hackbench -l $LOOPS -g $group :
> > group tip/sched/core + this patchset
> > 1 15.189(+/- 2%) 14.987(+/- 2%) +1%
> > 4 4.336(+/- 3%) 4.322(+/- 5%) +0%
> > 16 3.654(+/- 1%) 2.922(+/- 3%) +20%
> > 32 3.209(+/- 1%) 2.919(+/- 3%) +9%
> > 64 2.965(+/- 1%) 2.826(+/- 1%) +4%
> > 128 2.954(+/- 1%) 2.993(+/- 8%) -1%
> > 256 2.951(+/- 1%) 2.894(+/- 1%) +2%
> >
>
> I read the patches earlier but had queued tests and waiting on the results
> before Acking. The hackbench results were not bad, not a universal win,
> but wins more than it loses with small decreaseds in system CPU usage.

Thanks for running tests

>
> Most other results showed small gains or losses, nothing overly dramatic
> and mostly within the noise.
>
> --
> Mel Gorman
> SUSE Labs