Massive power regression going 3.4->3.5

Chris Wilson chris at chris-wilson.co.uk
Tue Jul 31 02:54:14 PDT 2012


On Tue, 31 Jul 2012 10:37:35 +0100, James Bottomley <James.Bottomley at HansenPartnership.com> wrote:
> On Tue, 2012-07-31 at 09:28 +0100, Chris Wilson wrote:
> > On Tue, 31 Jul 2012 09:06:42 +0100, James Bottomley <James.Bottomley at HansenPartnership.com> wrote:
> > > Actually, bad news: it looks like the problem is drm:
> > > 
> > > on 3.5 killing X causes idle power to go 14W -> 5.9W
> > > on 3.4.6 killing X causes idle power to go 6.8W -> 5.7W
> > 
> > The files that will be the most interesting to compare at first are:
> > 
> > /sys/kernel/debug/dri/0/i915_drpc_info
> > /sys/kernel/debug/dri/0/i915_cur_delayinfo
> > /sys/kernel/debug/dri/0/i915_fbc_status
> 
> This is for the good kernel 3.4.6
> 
> jejb at dabdike> cat /sys/kernel/debug/dri/0/i915_drpc_info
> RC information accurate: yes
> Video Turbo Mode: yes
> HW control enabled: yes
> SW control enabled: no
> RC1e Enabled: no
> RC6 Enabled: yes
> Deep RC6 Enabled: no
> Deepest RC6 Enabled: no
> Current RC state: RC6
> Core Power Down: no
> jejb at dabdike> cat /sys/kernel/debug/dri/0/i915_cur_delayinfo
> GT_PERF_STATUS: 0x00000d29
> RPSTAT1: 0x00040d00
> Render p-state ratio: 13
> Render p-state VID: 41
> Render p-state limit: 255
> CAGF: 650MHz
> RP CUR UP EI: 20459us
> RP CUR UP: 172us
> RP PREV UP: 0us
> 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: 1100MHz
> jejb at dabdike> cat /sys/kernel/debug/dri/0/i915_fbc_status
> FBC disabled: disabled per module param (default off)
> 
> And the bad kernel 3.5
> 
> jejb at dabdike> cat /sys/kernel/debug/dri/0/i915_drpc_info
> RC information accurate: yes
> Video Turbo Mode: yes
> HW control enabled: yes
> SW control enabled: no
> RC1e Enabled: no
> RC6 Enabled: yes
> Deep RC6 Enabled: no
> Deepest RC6 Enabled: no
> Current RC state: RC6
> Core Power Down: no
> RC6 "Locked to RPn" residency since boot: 0
> RC6 residency since boot: 97671911
> RC6+ residency since boot: 0
> RC6++ residency since boot: 0
> jejb at dabdike> cat /sys/kernel/debug/dri/0/i915_cur_delayinfo
> GT_PERF_STATUS: 0x00000d29
> RPSTAT1: 0x00048d00
> Render p-state ratio: 13
> Render p-state VID: 41
> Render p-state limit: 255
> CAGF: 650MHz
> RP CUR UP EI: 63719us
> RP CUR UP: 26us
> RP PREV UP: 0us
> 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: 1100MHz
> jejb at dabdike> cat /sys/kernel/debug/dri/0/i915_fbc_status
> FBC disabled: disabled per module param (default off)

Ok, that rules out the the easy case of rc6 being disabled or not
functioning at all, which could easily account for 6W.

When did you inspect the debug files? One effect I can imagine is that
if your system was previously stuck at RPn and never upclocking the GPU
when X starts. The question would then be what is preventing the GPU
from reaching its lowest power state again.
-Chris

-- 
Chris Wilson, Intel Open Source Technology Centre


More information about the dri-devel mailing list