| From | Vincent Guittot <> | Date | Thu, 25 Feb 2021 09:05:11 +0100 | Subject | Re: [PATCH 0/7 v4] move update blocked load outside newidle_balance |
| |
Hi Valentin,
On Wed, 24 Feb 2021 at 19:46, Valentin Schneider <valentin.schneider@arm.com> 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@arm.com
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@arm.com> >
|