[PATCH] cpufreq/intel_pstate: Set timer timeout correctly

From: dirk . brandewie
Date: Thu Apr 04 2013 - 13:35:50 EST


From: Dirk Brandewie <dirk.brandewie@xxxxxxxxx>

The current calculation of the delay time is wrong and a cut and paste
error from a previous experimental driver. This can result in the
timeout being set to jiffies + 1 which setup the driver to race with
it's self if the apic timer interrupt happen at just the right time.


https://bugzilla.redhat.com/show_bug.cgi?id=920289

Reported-by: Adam Williamson <awilliam@xxxxxxxxxx>
Reported-by: Parag Warudkar <parag.lkml@xxxxxxxxx>

Signed-off-by: Dirk Brandewie <dirk.brandewie@xxxxxxxxx>
---
drivers/cpufreq/intel_pstate.c | 1 -
1 files changed, 0 insertions(+), 1 deletions(-)

diff --git a/drivers/cpufreq/intel_pstate.c b/drivers/cpufreq/intel_pstate.c
index 43ffe1c..4d6b988 100644
--- a/drivers/cpufreq/intel_pstate.c
+++ b/drivers/cpufreq/intel_pstate.c
@@ -502,7 +502,6 @@ static inline void intel_pstate_set_sample_time(struct cpudata *cpu)

sample_time = cpu->pstate_policy->sample_rate_ms;
delay = msecs_to_jiffies(sample_time);
- delay -= jiffies % delay;
mod_timer_pinned(&cpu->timer, jiffies + delay);
}

--
1.7.7.6

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/