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

From: Thomas Gleixner
Date: Wed Apr 27 2022 - 10:40:27 EST


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?

Thanks,

tglx