<html><head></head><body><div style="font-family: Verdana;font-size: 12.0px;"><div>Hi Daniel,<br/></div><div><br/></div><div>ok fixing cpu freq static to max (2700MHz) on both cores does increase performance a little bit however gpu freq reported by /sys/class/drm/card0/gt_cur_freq_mhz stays fixed at 650 MHz.
<br/></div><div><br/></div><div>-Nic<br/></div><div name="quote" style="margin:10px 5px 5px 10px; padding: 10px 0 10px 10px; border-left:2px solid #C3D9E5; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;">
<div style="margin:0 0 10px 0;">
<b>Gesendet:</b> Freitag, 14. September 2012 um 18:44 Uhr<br/>
<b>Von:</b> "Daniel Vetter" <daniel@ffwll.ch><br/>
<b>An:</b> "Nicolas Kalkhof" <nkalkhof@web.de><br/>
<b>Cc:</b> intel-gfx@lists.freedesktop.org<br/>
<b>Betreff:</b> Re: [Intel-gfx] i915/drm: SNB gpu won't throttle up with latest forcewake/gpufreq tracepoint drm patches
</div>
<div name="quoted-content">
On Fri, Sep 14, 2012 at 06:23:59PM +0200, Nicolas Kalkhof wrote:<br/>
> Hello,<br/>
> <br/>
> the patchset from ~danvet/drm-intel git from earlier september concerning<br/>
> forcewake and gpu frequency made my SNB much calmer during idle times. However<br/>
> the GPU won't hit the turbo throttle when the load goes up resulting in very<br/>
> low framerates during gameplay. Most times the frequency read from /sys/class/<br/>
> drm/card0/gt_cur_freq_mhz is stuck to the lowest frequency.<br/>
> <br/>
> Sysfs yields the following during load spikes:<br/>
> <br/>
> i915_gen6_forcewake_count: 1<br/>
> <br/>
> i915_cur_delayinfo:<br/>
> GT_PERF_STATUS: 0x00000d8a<br/>
> RPSTAT1: 0x00040d00<br/>
> Render p-state ratio: 13<br/>
> Render p-state VID: 138<br/>
> Render p-state limit: 255<br/>
> CAGF: 650MHz<br/>
> RP CUR UP EI: 18814us<br/>
> RP CUR UP: 10217us<br/>
> RP PREV UP: 43514us<br/>
> RP CUR DOWN EI: 0us<br/>
> RP CUR DOWN: 0us<br/>
> RP PREV DOWN: 0us<br/>
> Lowest (RPN) frequency: 650MHz<br/>
> Nominal (RP1) frequency: 650MHz<br/>
> Max non-overclocked (RP0) frequency: 1300MHz<br/>
> <br/>
> sensors:<br/>
> acpitz-virtual-0<br/>
> Adapter: Virtual device<br/>
> temp1: +62.0 C (crit = +98.0 C)<br/>
> coretemp-isa-0000<br/>
> Adapter: ISA adapter<br/>
> Physical id 0: +63.0 C (high = +86.0 C, crit = +100.0 C)<br/>
> Core 0: +63.0 C (high = +86.0 C, crit = +100.0 C)<br/>
> Core 1: +63.0 C (high = +86.0 C, crit = +100.0 C)<br/>
> <br/>
> /sys/class/drm/card0/gt_cur_freq_mhz: 650<br/>
> /sys/class/drm/card0/gt_max_freq_mhz: 1300<br/>
> /sys/class/drm/card0/gt_min_freq_mhz: 650<br/>
> <br/>
> Kernel Params: i915.i915_enable_rc6=1 i915.i915_enable_fbc=1<br/>
> i915.lvds_downclock=1<br/>
> <br/>
> Setting /sys/class/drm/card0/gt_min_freq_mhz to 1300MHz manually fixes the<br/>
> throttling issue however the gpu obviously won't throttle back then.<br/>
> <br/>
> Any ideas/clues?<br/>
<br/>
One issue we know about is when both gpu/cpu aren't 100% busy the tuning<br/>
can get into a death-spiral where we clock down the gpu a bit. Which then<br/>
makes the cpu less busy (since in needs to wait more on the gpu),<br/>
resulting in the cpu getting downclocked. Which in turn makes the gpu less<br/>
busy ...<br/>
<br/>
To check whether it's not this case, can you benchmark with the cpu<br/>
frequency fixed to the maximum?<br/>
<br/>
Since things previously worked with the old tuning values I don't think<br/>
it's an issue with the up clocking code itself.<br/>
-Daniel<br/>
-- <br/>
Daniel Vetter<br/>
Software Engineer, Intel Corporation<br/>
+41 (0) 79 365 57 48 - <a href="http://blog.ffwll.ch" target="_blank">http://blog.ffwll.ch</a><br/>
</div>
</div><div><br/><br/></div></div></body></html>