Re: Stopping the tick on a fully loaded system

From: Rafael J. Wysocki
Date: Wed Jul 26 2023 - 11:09:15 EST


On Wed, Jul 26, 2023 at 12:59 PM Frederic Weisbecker
<frederic@xxxxxxxxxx> wrote:
>
> Le Tue, Jul 25, 2023 at 04:27:56PM +0200, Rafael J. Wysocki a écrit :
> > On Tue, Jul 25, 2023 at 3:07 PM Anna-Maria Behnsen
> > I'll let Frederic respond to the above, but from my perspective it all
> > just means that the idle governors in use today are not perfect.
> >
> > However, they will never be perfect, because they only have a little
> > time to make a decision, so it's a matter of balancing that with
> > precision.
>
> So, even without considering Anna-Maria's patchset, sparing
> the next timer lookup if we already know we won't stop it would show
> quite a benefit because that lookup involves locking and quite some
> overhead walking through all levels.

You are right.

In principle, this can be done by using TICK_NSEC as the initial
estimation of the idle duration and only calling
tick_nohz_get_sleep_length() if the candidate state ends up in the
higher bins. Interesting.