[RFC/RFT][PATCH v1 0/2] cpuidle: teo: Do not check timers unconditionally every time

Rafael J. Wysocki
2023-08-01T19:41:18Z

Hi Folks,

This is on top of the fixes series posted previously:

https://lore.kernel.org/linux-pm/4515817.LvFx2qVVIh@kreacher/

(I'll put it all into one git branch tomorrow).

I started to play with the idea described here

https://lore.kernel.org/linux-pm/CAJZ5v0hQh2Pg_uXxj8KBRw3oLS1WdsU+rUafBAAq7dRdbRwYSA@mail.gmail.com/

and this is the result.

Note that this is completely experimental, even though it doesn't kill any of
the test boxes I've run it on.

Patch [1/2] moves the tick_nohz_get_sleep_length() call in teo_select() after
a preliminary idle state selection based on statistics and patch [2/2] adds
checks to avoid it completely if the idle state selected so far is shallow
enough.

I would appreciate checking if this actually makes any difference.

Thanks!