Re: [PATCH 0/7 v4] move update blocked load outside newidle_balance
From: Valentin Schneider
Date: Wed Feb 24 2021 - 13:48:18 EST
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
Otherwise, feel free to add to the lot:
Reviewed-by: Valentin Schneider <valentin.schneider@xxxxxxx>