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

From: Rafael J. Wysocki
Date: Tue Aug 01 2023 - 15:41:21 EST


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@xxxxxxxxxxxxxx/

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!