Re: [PATCH 0/7 v4] move update blocked load outside newidle_balance

From: Vincent Guittot
Date: Thu Feb 25 2021 - 03:06:19 EST


Hi Valentin,

On Wed, 24 Feb 2021 at 19:46, Valentin Schneider
<valentin.schneider@xxxxxxx> wrote:
>
> On 24/02/21 14:30, Vincent Guittot wrote:
> > Joel reported long preempt and irq off sequence in newidle_balance because
> > of a large number of CPU cgroups in use and having to be updated. This
> > patchset moves the update outside newidle_imblance. This enables to early
> > abort during the updates in case of pending irq as an example.
> >
> > Instead of kicking a normal ILB that will wakes up CPU which is already
> > idle, patch 6 triggers the update of statistics in the idle thread of
> > the CPU before selecting and entering an idle state.
> >
> > Changes on v4:
> > - Add a dedicated bit for updating blocked load when entering idle.
> > This simplifies the management of concurrency with kick_ilb.
> >
>
> I believe that solves the issues vs nohz balance.
>
> One last thing for patch 7: mayhaps we could do a tad better to avoid
> duplicate updates going through a heapful of leaf cfs rqs, see
>
> http://lore.kernel.org/r/jhj4kiht7oh.mognet@xxxxxxx

rq->last_blocked_load_update_tick is there only to filter duplicate
update during _nohz_idle_balance but not for other normal LB.

>
>
> Otherwise, feel free to add to the lot:
>
> Reviewed-by: Valentin Schneider <valentin.schneider@xxxxxxx>
>