Massive power regression going 3.4->3.5

Chris Wilson chris at chris-wilson.co.uk
Tue Jul 31 12:24:19 PDT 2012


On Tue, 31 Jul 2012 11:14:17 +0100, Chris Wilson <chris at chris-wilson.co.uk> wrote:
> On Tue, 31 Jul 2012 10:57:10 +0100, James Bottomley <James.Bottomley at HansenPartnership.com> wrote:
> > > 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.
> > 
> > After I logged into an xfce4 session and powertop showed idle had been
> > reached.

That you are using xfce4 makes the use of semaphores for pageflips as
being the root cause even more suspect. Pageflips are only used for a
fullscreen DRI client caalling SwapBuffers, to my knowledge xfce4 does
not use DRI at all - its compositing manager is XRender based if you
happen to be using it.

Please can you try the small patch to disable the use of semaphores for
pageflips and see if the regression remains (which I judge it will...):

diff --git a/drivers/gpu/drm/i915/i915_gem.c
b/drivers/gpu/drm/i915/i915_gem.c
index 5c4657a..f301f2f 100644
--- a/drivers/gpu/drm/i915/i915_gem.c
+++ b/drivers/gpu/drm/i915/i915_gem.c
@@ -3067,7 +3067,7 @@ i915_gem_object_pin_to_display_plane(struct drm_i915_gem_o
                return ret;
 
        if (pipelined != obj->ring) {
-               ret = i915_gem_object_sync(obj, pipelined);
+               ret = i915_gem_object_wait_rendering(obj);
                if (ret)
                        return ret;
        }

-- 
Chris Wilson, Intel Open Source Technology Centre


More information about the dri-devel mailing list