Skip to content

Commit

Permalink
cpuidle: teo: Cosmetic modifications of teo_update()
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Rafael J. Wysocki committed Jun 11, 2021
1 parent 6423333 commit f53cbda
Showing 1 changed file with 7 additions and 6 deletions.
13 changes: 7 additions & 6 deletions drivers/cpuidle/governors/teo.c
Original file line number Diff line number Diff line change
Expand Up @@ -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;

Expand Down Expand Up @@ -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;
}
}

Expand All @@ -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;
Expand Down

0 comments on commit f53cbda

Please sign in to comment.