From mboxrd@z Thu Jan 1 00:00:00 1970
From: bugzilla-daemon@bugzilla.kernel.org
Subject: [Bug 75121] Intel Pstate driver - powersave mode - CPU frequency too
low
Date: Sat, 03 May 2014 03:49:52 +0000
Message-ID:
References:
Mime-Version: 1.0
Content-Transfer-Encoding: 7bit
Return-path:
In-Reply-To:
Sender: cpufreq-owner@vger.kernel.org
List-ID:
Content-Type: text/plain; charset="us-ascii"
To: cpufreq@vger.kernel.org
https://bugzilla.kernel.org/show_bug.cgi?id=75121
--- Comment #12 from Doug Smythies ---
Created attachment 134831
--> https://bugzilla.kernel.org/attachment.cgi?id=134831&action=edit
CPU 7 frequency vs load. Turbo on. Modified C0 inclusion
There was a stupid mistake in the code change I made in the previous post. Here
it is again, fixed.
static inline void intel_pstate_calc_busy(struct cpudata *cpu,
struct sample *sample)
{
int32_t core_pct;
int32_t c0_pct;
int32_t temp;
// As a float with 6 FRAC_BITS ( 1 << FRAC_BITS / 4 )
#define C0_WEIGHT 16
core_pct = div_fp(int_tofp((sample->aperf)),
int_tofp((sample->mperf)));
core_pct = mul_fp(core_pct, int_tofp(100));
FP_ROUNDUP(core_pct);
c0_pct = div_fp(int_tofp(sample->mperf), int_tofp(sample->tsc));
sample->freq = fp_toint(
mul_fp(int_tofp(cpu->pstate.max_pstate * 1000), core_pct));
// sample->core_pct_busy = core_pct;
// sample->core_pct_busy = mul_fp(core_pct, c0_pct);
temp = core_pct - int_tofp(limits.min_perf_pct);
c0_pct = int_tofp(1) - mul_fp((int_tofp(1) - c0_pct), C0_WEIGHT);
temp = mul_fp(temp, c0_pct);
sample->core_pct_busy = temp + int_tofp(limits.min_perf_pct);
}
And the graph shows the effect, for C0_WEIGHT of 1 (Doug3) and 0.25 (Doug 4)
--
You are receiving this mail because:
You are the assignee for the bug.