cpuidle: teo: Cosmetic modifications of teo_update()

Rename a local variable in teo_update() so that its purpose is better
reflected by its name and use one more local variable in the loop
over the CPU idle states in that function to make the code somewhat
easier to read.

No functional impact.

Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
This commit is contained in:
Rafael J. Wysocki 2021-06-02 20:15:10 +02:00
parent 6423333849
commit f53cbdab01
1 changed files with 7 additions and 6 deletions

View File

@ -117,7 +117,7 @@ static DEFINE_PER_CPU(struct teo_cpu, teo_cpus);
static void teo_update(struct cpuidle_driver *drv, struct cpuidle_device *dev)
{
struct teo_cpu *cpu_data = per_cpu_ptr(&teo_cpus, dev->cpu);
int i, idx_hit = 0, idx_timer = 0;
int i, idx_timer = 0, idx_duration = 0;
unsigned int hits, misses;
u64 measured_ns;
@ -156,14 +156,15 @@ static void teo_update(struct cpuidle_driver *drv, struct cpuidle_device *dev)
* states matching the sleep length and the measured idle duration.
*/
for (i = 0; i < drv->state_count; i++) {
s64 target_residency_ns = drv->states[i].target_residency_ns;
unsigned int early_hits = cpu_data->states[i].early_hits;
cpu_data->states[i].early_hits -= early_hits >> DECAY_SHIFT;
if (drv->states[i].target_residency_ns <= cpu_data->sleep_length_ns) {
if (target_residency_ns <= cpu_data->sleep_length_ns) {
idx_timer = i;
if (drv->states[i].target_residency_ns <= measured_ns)
idx_hit = i;
if (target_residency_ns <= measured_ns)
idx_duration = i;
}
}
@ -181,11 +182,11 @@ static void teo_update(struct cpuidle_driver *drv, struct cpuidle_device *dev)
misses = cpu_data->states[idx_timer].misses;
misses -= misses >> DECAY_SHIFT;
if (idx_timer == idx_hit) {
if (idx_timer == idx_duration) {
hits += PULSE;
} else {
misses += PULSE;
cpu_data->states[idx_hit].early_hits += PULSE;
cpu_data->states[idx_duration].early_hits += PULSE;
}
cpu_data->states[idx_timer].misses = misses;