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@xxxxxxx/ >> >> Fixes: 77577558f25d ("cpuidle: teo: Rework most recent idle duration values treatment") >> Link: https://patch.msgid.link/20240628095955.34096-3-christian.loehle@xxxxxxx >> Signed-off-by: Christian Loehle <christian.loehle@xxxxxxx> >> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> >> --- >> 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@xxxxxxx/T/#ma5bcd00c4b0ffa1fc34e8d7fa237b8de4ee8a25c @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.