On Tue, Aug 13, 2024 at 02:18:53PM +0100, Christian Loehle wrote: > 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. Please send all of these as a patch series for the relevent branches so we know exactly what is going on... thanks, greg k-h