Commit 78855d9b authored by Christian Loehle's avatar Christian Loehle Committed by John Stultz
Browse files

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: default avatarChristian Loehle <christian.loehle@arm.com>
Signed-off-by: default avatarRafael 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: default avatarJohn Stultz <jstultz@google.com>
parent f2c29174
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please to comment