diff mbox

Massive power regression going 3.4->3.5

Message ID 1343762668_23120@CP5-2952 (mailing list archive)
State New, archived
Headers show

Commit Message

Chris Wilson July 31, 2012, 7:24 p.m. UTC
On Tue, 31 Jul 2012 11:14:17 +0100, Chris Wilson <chris@chris-wilson.co.uk> wrote:
> On Tue, 31 Jul 2012 10:57:10 +0100, James Bottomley <James.Bottomley@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 mbox

Patch

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;
        }