[Intel-gfx] [PATCH] [RFC] drm/i915: read-read semaphore optimization
Eric Anholt
eric at anholt.net
Tue Dec 13 18:22:01 CET 2011
On Mon, 12 Dec 2011 19:52:08 -0800, Ben Widawsky <ben at bwidawsk.net> wrote:
> Since we don't differentiate on the different GPU read domains, it
> should be safe to allow back to back reads to occur without issuing a
> wait (or flush in the non-semaphore case).
>
> This has the unfortunate side effect that we need to keep track of all
> the outstanding buffer reads so that we can synchronize on a write, to
> another ring (since we don't know which read finishes first). In other
> words, the code is quite simple for two rings, but gets more tricky for
> > 2 rings.
>
> Here is a picture of the solution to the above problem
>
> Ring 0 Ring 1 Ring 2
> batch 0 batch 1 batch 2
> read buffer A read buffer A wait batch 0
> wait batch 1
> write buffer A
>
> This code is really untested. I'm hoping for some feedback if this is
> worth cleaning up, and testing more thoroughly.
You say it's an optimization -- do you have performance numbers?
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 197 bytes
Desc: not available
URL: <http://lists.freedesktop.org/archives/intel-gfx/attachments/20111213/9c49aa50/attachment.sig>
More information about the Intel-gfx
mailing list