Re: [RFC PATCH v3] tick/sched: Ensure quiet_vmstat() is called when the idle tick was stopped too

From: Aaron Tomlin
Date: Wed Apr 27 2022 - 10:49:42 EST

On Wed 2022-04-27 16:40 +0200, Thomas Gleixner wrote:
> On Wed, Apr 27 2022 at 12:50, Aaron Tomlin wrote:
> > On Mon 2022-04-25 16:21 -0300, Marcelo Tosatti wrote:
> >> Is there anything that prevents a nohz full CPU from running an
> >> application with short and frequent idling?
> >
> > I'm not sure I understand the question; albeit, if I understand correctly,
> > yes: the scheduling-clock tick, if it was stopped.
> > Yet I believe this behaviour is correct. Consider the following example:
> >
> > When a CFS task is moved/or migrated to a nohz_full CPU that was
> > previously idle and had its tick stopped, if its the only task on the
> > run-queue then it is possible that the idle task may not restart the
> > tick (see __tick_nohz_full_update_tick()). Thus once the CFS task exits
> > manual intervention i.e. a reschedule IPI to wake the idle task, would be
> > required to run again, on the same CPU.
> When the task exits and the tick was stopped, why should idle restart
> the tick? There is nothing to do, so what?

Hi Thomas,

Indeed. As per my response, I do not see an issue. Perhaps I misunderstood
Marcelo's question, no?

Kind regards,

Aaron Tomlin