[Intel-gfx] i915/drm: SNB gpu won't throttle up with latest forcewake/gpufreq tracepoint drm patches

Daniel Vetter daniel at ffwll.ch
Fri Sep 14 18:44:50 CEST 2012


On Fri, Sep 14, 2012 at 06:23:59PM +0200, Nicolas Kalkhof wrote:
> Hello,
> 
> the patchset from ~danvet/drm-intel git  from earlier september concerning
> forcewake and gpu frequency made my SNB much calmer during idle times. However
> the GPU won't hit the turbo throttle when the load goes up resulting in very
> low framerates during gameplay. Most times the frequency read from /sys/class/
> drm/card0/gt_cur_freq_mhz is stuck to the lowest frequency.
> 
> Sysfs yields the following during load spikes:
> 
> i915_gen6_forcewake_count: 1
> 
> i915_cur_delayinfo:
> GT_PERF_STATUS: 0x00000d8a
> RPSTAT1: 0x00040d00
> Render p-state ratio: 13
> Render p-state VID: 138
> Render p-state limit: 255
> CAGF: 650MHz
> RP CUR UP EI: 18814us
> RP CUR UP: 10217us
> RP PREV UP: 43514us
> RP CUR DOWN EI: 0us
> RP CUR DOWN: 0us
> RP PREV DOWN: 0us
> Lowest (RPN) frequency: 650MHz
> Nominal (RP1) frequency: 650MHz
> Max non-overclocked (RP0) frequency: 1300MHz
> 
> sensors:
> acpitz-virtual-0
> Adapter: Virtual device
> temp1:        +62.0 C  (crit = +98.0 C)
> coretemp-isa-0000
> Adapter: ISA adapter
> Physical id 0:  +63.0 C  (high = +86.0 C, crit = +100.0 C)
> Core 0:         +63.0 C  (high = +86.0 C, crit = +100.0 C)
> Core 1:         +63.0 C  (high = +86.0 C, crit = +100.0 C)
> 
> /sys/class/drm/card0/gt_cur_freq_mhz: 650
> /sys/class/drm/card0/gt_max_freq_mhz: 1300
> /sys/class/drm/card0/gt_min_freq_mhz: 650
> 
> Kernel Params: i915.i915_enable_rc6=1 i915.i915_enable_fbc=1
> i915.lvds_downclock=1
> 
> Setting /sys/class/drm/card0/gt_min_freq_mhz to 1300MHz manually fixes the
> throttling issue however the gpu obviously won't throttle back then.
> 
> Any ideas/clues?

One issue we know about is when both gpu/cpu aren't 100% busy the tuning
can get into a death-spiral where we clock down the gpu a bit. Which then
makes the cpu less busy (since in needs to wait more on the gpu),
resulting in the cpu getting downclocked. Which in turn makes the gpu less
busy ...

To check whether it's not this case, can you benchmark with the cpu
frequency fixed to the maximum?

Since things previously worked with the old tuning values I don't think
it's an issue with the up clocking  code itself.
-Daniel
-- 
Daniel Vetter
Software Engineer, Intel Corporation
+41 (0) 79 365 57 48 - http://blog.ffwll.ch



More information about the Intel-gfx mailing list