Re: [PATCH v1 4/9] cpuidle: teo: Drop local variable prev_intercept_idx
From: Christian Loehle
Date: Wed Jan 15 2025 - 14:46:26 EST
On 1/13/25 18:40, Rafael J. Wysocki wrote:
> From: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>
>
> Local variable prev_intercept_idx in teo_select() is redundant becase
s/becase/because
> it cannot be 0 when candidate state index is 0.
>
> The prev_intercept_idx value is the index of the deepest enabled idle
> state, so if it is 0, state 0 is the deepest enabled idle state, in
> which case it must be the only enabled idle state, but then teo_select()
> would have returned early before initializing prev_intercept_idx.
>
> Thus prev_intercept_idx must be nonzero and the check of it against 0
> always passes, so it can be dropped altogether.
>
> No intentional functional impact.
>
> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>
> ---
> drivers/cpuidle/governors/teo.c | 15 +++++----------
> 1 file changed, 5 insertions(+), 10 deletions(-)
>
> --- a/drivers/cpuidle/governors/teo.c
> +++ b/drivers/cpuidle/governors/teo.c
> @@ -292,7 +292,6 @@
> unsigned int hit_sum = 0;
> int constraint_idx = 0;
> int idx0 = 0, idx = -1;
> - int prev_intercept_idx;
> s64 duration_ns;
> int i;
>
> @@ -370,7 +369,6 @@
> * all of the deeper states, a shallower idle state is likely to be a
> * better choice.
> */
> - prev_intercept_idx = idx;
> if (2 * idx_intercept_sum > cpu_data->total - idx_hit_sum) {
> int first_suitable_idx = idx;
>
> @@ -437,14 +435,11 @@
> idx = constraint_idx;
>
> if (!idx) {
> - if (prev_intercept_idx) {
> - /*
> - * Query the sleep length to be able to count the wakeup
> - * as a hit if it is caused by a timer.
> - */
> - duration_ns = tick_nohz_get_sleep_length(&delta_tick);
> - cpu_data->sleep_length_ns = duration_ns;
> - }
> + /*
> + * Query the sleep length to be able to count the wakeup as a
> + * hit if it is caused by a timer.
> + */
> + cpu_data->sleep_length_ns = tick_nohz_get_sleep_length(&delta_tick);
> goto out_tick;
Just like the previous one:
Reviewed-by: Christian Loehle <christian.loehle@xxxxxxx>