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 2021年2月24日 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>
>