[PATCH v1] cpuidle: teo: Avoid unnecessary variable assignments

From: Rafael J. Wysocki
Date: Tue Aug 22 2023 - 07:28:11 EST


From: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>

Notice that it is not necessary to assign tick_intercept_sum in every
iteration of the first loop over idle states in teo_select(), because
the intercept_sum value does not change after the assignment in a
given iteration of the loop, so its value after the last iteration of
the loop can be used for computing the tick_intercept_sum value
directly.

Modify the code accordingly.

No intentional functional impact.

Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>
---

This is based on the pm-cpuidle-gov branch in linux-pm.git (which is included
into linux-next too).

---
drivers/cpuidle/governors/teo.c | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)

Index: linux-pm/drivers/cpuidle/governors/teo.c
===================================================================
--- linux-pm.orig/drivers/cpuidle/governors/teo.c
+++ linux-pm/drivers/cpuidle/governors/teo.c
@@ -450,8 +450,6 @@ static int teo_select(struct cpuidle_dri
hit_sum += prev_bin->hits;
recent_sum += prev_bin->recent;

- tick_intercept_sum = intercept_sum;
-
if (dev->states_usage[i].disable)
continue;

@@ -484,7 +482,8 @@ static int teo_select(struct cpuidle_dri
goto end;
}

- tick_intercept_sum += cpu_data->state_bins[drv->state_count-1].intercepts;
+ tick_intercept_sum = intercept_sum +
+ cpu_data->state_bins[drv->state_count-1].intercepts;

/*
* If the sum of the intercepts metric for all of the idle states