BACKPORT: cpuidle: teo: Remove recent intercepts metric
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: 77577558 ("cpuidle: teo: Rework most recent idle duration values treatment") Link: https://patch.msgid.link/20240628095955.34096-3-christian.loehle@arm.com Change-Id: I61ab6920e1d841dea55194370751cd67b55411b0 Signed-off-by:Christian Loehle <christian.loehle@arm.com> Signed-off-by:
Rafael J. Wysocki <rafael.j.wysocki@intel.com> (cherry picked from commit 44991439) [jstultz: Needed some collision fixups as this is being added without the revert of commit 9ce0f7c4 which was dropped upstream] revert instead of a total revert] Bug: 376482006 Signed-off-by:
John Stultz <jstultz@google.com>
Loading
Please sign in to comment