On 8/12/24 13:42, Greg KH wrote:
On Mon, Aug 05, 2024 at 03:58:09PM +0100, Christian Loehle wrote:
commit 449914398083148f93d070a8aace04f9ec296ce3 upstream.
The logic for recent intercepts didn't work, there is an underflow of the 'recent' value that can be observed during boot already, which teo usually doesn't recover from, making the entire logic pointless. Furthermore the recent intercepts also were never reset, thus not actually being very 'recent'.
Having underflowed 'recent' values lead to teo always acting as if we were in a scenario were expected sleep length based on timers is too high and it therefore unnecessarily selecting shallower states.
Experiments show that the remaining 'intercept' logic is enough to quickly react to scenarios in which teo cannot rely on the timer expected sleep length.
See also here: https://lore.kernel.org/lkml/0ce2d536-1125-4df8-9a5b-0d5e389cd8af@arm.com/
Fixes: 77577558f25d ("cpuidle: teo: Rework most recent idle duration values treatment") Link: https://patch.msgid.link/20240628095955.34096-3-christian.loehle@arm.com Signed-off-by: Christian Loehle christian.loehle@arm.com Signed-off-by: Rafael J. Wysocki rafael.j.wysocki@intel.com
drivers/cpuidle/governors/teo.c | 79 ++++++--------------------------- 1 file changed, 14 insertions(+), 65 deletions(-)
We can't just take a 6.1.y backport without newer kernels also having this fix. Can you resend this as backports for all relevant kernels please?
Hi Greg, the email thread might've looked a bit strange to you but as I wrote in a previous reply: https://lore.kernel.org/linux-pm/20240628095955.34096-1-christian.loehle@arm... @stable 4b20b07ce72f cpuidle: teo: Don't count non-existent intercepts 449914398083 cpuidle: teo: Remove recent intercepts metric 0a2998fa48f0 Revert: "cpuidle: teo: Introduce util-awareness" apply as-is to linux-6.10.y linux-6.6.y for linux-6.1.y only 449914398083 ("cpuidle: teo: Remove recent intercepts metric") is relevant, I'll reply with a backport.
Ideally I would wait for an Ack from Rafael though. Hopefully that makes more sense then.