[Intel-gfx] Patches for performance improvement

Chris Wilson chris at chris-wilson.co.uk
Mon Aug 26 12:36:37 CEST 2013


On Mon, Aug 26, 2013 at 11:16:40AM +0300, Ville Syrjälä wrote:
> On Sun, Aug 25, 2013 at 04:35:52AM +0000, Kannan, Vandana wrote:
> > Hi,
> > 
> >             For sprite performance improvement, instead of the patch "drm/i915: Don't wait for vblank for sprite plane flips", we made use of Chris Wilson's patches from "RFC asynchronous vblank tasks" and verified that it gives the expected performance boost.
> >             Chris's patches have not been merged yet, specifically,
> >             drm/i915: Introduce vblank work function
> >             drm/i915: Asynchronously unpin the old   framebuffer after the next vblank
> >             drm/i915/sprite: Make plane switching     asynchronous
> > 
> >             Will the updated patches for these be coming any time soon ? We require these patches as it gives us a very good performance improvement.
> >             Please let me know, I can verify with the updated patches.
> 
> I don't seem to have said patches in my mailbox, so I can't comment on
> the details, but...
> 
> My main concern is again the contents of the old fb after the setplane
> ioctl returns. Due to the current synchronous nature of the ioctl,
> userspace knows that when the ioctl returns the flip has completed, and
> so can write the old fb again.
> 
> If the ioctl is async, userspace has to guess whether the old fb can
> be safely written. We could solve this with a new event that gets sent
> from setplane. We do have plenty of flags left in setplane so it's
> certainly doable.

The patches were originally motivated because the setplane ioctl was
doing the opposite of the userspace expectations. Its user is quite
happy to have the ioctl pretend it completed immediately without an
event. (Okay, not happy, but the whole setup just ignores the complexity
by have a small ringbuffer of frames and hoping for the best [mplayer].)

The issue and discussion is as old as the original patch for setplane.
-Chris

-- 
Chris Wilson, Intel Open Source Technology Centre



More information about the Intel-gfx mailing list