2013-03-22 17:51:19

by Dirk Brandewie

[permalink] [raw]
Subject: [PATCH] cpufreq/intel_pstate: Fix calculation of current frequency

From: Dirk Brandewie <[email protected]>

Use the correct pstate value to calculate the effective frequency.

https://bugzilla.redhat.com/show_bug.cgi?id=923942
Reported-by: Satish Balay <[email protected]>

Signed-off-by: Dirk Brandewie <[email protected]>
---
drivers/cpufreq/intel_pstate.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/drivers/cpufreq/intel_pstate.c b/drivers/cpufreq/intel_pstate.c
index e84af66..ad72922 100644
--- a/drivers/cpufreq/intel_pstate.c
+++ b/drivers/cpufreq/intel_pstate.c
@@ -454,7 +454,7 @@ static inline void intel_pstate_calc_busy(struct cpudata *cpu,
sample->idletime_us * 100,
sample->duration_us);
core_pct = div64_u64(sample->aperf * 100, sample->mperf);
- sample->freq = cpu->pstate.turbo_pstate * core_pct * 1000;
+ sample->freq = cpu->pstate.max_pstate * core_pct * 1000;

sample->core_pct_busy = div_s64((sample->pstate_pct_busy * core_pct),
100);
--
1.7.7.6


2013-03-23 00:07:17

by Rafael J. Wysocki

[permalink] [raw]
Subject: Re: [PATCH] cpufreq/intel_pstate: Fix calculation of current frequency

On Friday, March 22, 2013 10:51:05 AM [email protected] wrote:
> From: Dirk Brandewie <[email protected]>
>
> Use the correct pstate value to calculate the effective frequency.
>
> https://bugzilla.redhat.com/show_bug.cgi?id=923942
> Reported-by: Satish Balay <[email protected]>
>
> Signed-off-by: Dirk Brandewie <[email protected]>

Well, another quick fix for v3.9 I suppose?

May I please be sent CCs of such things to at least one of my addresses?

Rafael


> ---
> drivers/cpufreq/intel_pstate.c | 2 +-
> 1 files changed, 1 insertions(+), 1 deletions(-)
>
> diff --git a/drivers/cpufreq/intel_pstate.c b/drivers/cpufreq/intel_pstate.c
> index e84af66..ad72922 100644
> --- a/drivers/cpufreq/intel_pstate.c
> +++ b/drivers/cpufreq/intel_pstate.c
> @@ -454,7 +454,7 @@ static inline void intel_pstate_calc_busy(struct cpudata *cpu,
> sample->idletime_us * 100,
> sample->duration_us);
> core_pct = div64_u64(sample->aperf * 100, sample->mperf);
> - sample->freq = cpu->pstate.turbo_pstate * core_pct * 1000;
> + sample->freq = cpu->pstate.max_pstate * core_pct * 1000;
>
> sample->core_pct_busy = div_s64((sample->pstate_pct_busy * core_pct),
> 100);
>
--
I speak only for myself.
Rafael J. Wysocki, Intel Open Source Technology Center.