| From | Greg Kroah-Hartman <> | Subject | [PATCH 5.3 090/180] cpuidle: teo: Ignore disabled idle states that are too deep | Date | Mon, 16 Dec 2019 18:48:50 +0100 |
| |
From: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
commit 069ce2ef1a6dd84cbd4d897b333e30f825e021f0 upstream.
Prevent disabled CPU idle state with target residencies beyond the anticipated idle duration from being taken into account by the TEO governor.
Fixes: b26bf6ab716f ("cpuidle: New timer events oriented governor for tickless systems") Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com> Cc: 5.1+ <stable@vger.kernel.org> # 5.1+ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
--- drivers/cpuidle/governors/teo.c | 7 +++++++ 1 file changed, 7 insertions(+)
--- a/drivers/cpuidle/governors/teo.c +++ b/drivers/cpuidle/governors/teo.c @@ -266,6 +266,13 @@ static int teo_select(struct cpuidle_dri if (s->disabled || su->disable) { /* + * Ignore disabled states with target residencies beyond + * the anticipated idle duration. + */ + if (s->target_residency > duration_us) + continue; + + /* * If the "early hits" metric of a disabled state is * greater than the current maximum, it should be taken * into account, because it would be a mistake to select
|