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