Re: [RFT] [PATCH v2] cpuidle: menu: Skip tick_nohz_get_sleep_length() call in some cases

From: Rafael J. Wysocki
Date: Thu Aug 17 2023 - 05:30:19 EST


On Mon, Aug 14, 2023 at 4:52 PM Doug Smythies <dsmythies@xxxxxxxxx> wrote:
>
> On Thu, Aug 10, 2023 at 11:38 AM Rafael J. Wysocki <rjw@xxxxxxxxxxxxx> wrote:
> >
> > From: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>
> > Subject: [PATCH] cpuidle: menu: Skip tick_nohz_get_sleep_length() call in some cases
> >
> > Because the cost of calling tick_nohz_get_sleep_length() may increase
> > in the future, reorder the code in menu_select() so it first uses the
> > statistics to determine the expected idle duration. If that value is
> > higher than RESIDENCY_THRESHOLD_NS, tick_nohz_get_sleep_length() will
> > be called to obtain the time till the closest timer and refine the
> > idle duration prediction if necessary.
> >
> > This causes the governor to always take the full overhead of
> > get_typical_interval() with the assumption that the cost will be
> > amortized by skipping the tick_nohz_get_sleep_length() call in the
> > cases when the predicted idle duration is relatively very small.
> >
> > Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>
>
> I ran the same tests as I did for the teo governor changes.
> Nothing of significance to report (well, some minor improvements
> in records per second at the long interval end of the sleeping
> ebizzy test, with a corresponding slight increase in processor
> package power).
>
> Tested-by: Doug Smythies <dsmythies@xxxxxxxxx>

Thank you!