[PATCH] drm/vc4: improve throughput by pipelining binning and rendering jobs

Eric Anholt eric at anholt.net
Sat Mar 5 01:47:08 UTC 2016


Varad Gautam <varadgautam at gmail.com> writes:

> The hardware provides us with separate threads for binning and
> rendering, and the existing model waits for them both to complete
> before submitting the next job.
>
> Splitting the binning and rendering submissions reduces idle time
> and gives us approx 20-30% speedup with several x11perf tests.

This patch is:

Reviewed-by: Eric Anholt <eric at anholt.net.

Which tests did you find improved, specifically?  I'm seeing openarena
improved by 1.01897% +/- 0.247857% (n=16).  x11perf -aa24text and
-copypixwin looked like they had about the same level of improvement.

This conflicts with a change in -fixes.  I think this means that it
should go in -next once -fixes gets pulled in that.

Peter Brown had suggested to me at one point that we could queue up
multiple jobs at once by patching the last few bytes of the current job
to jump to the next one.  I haven't fully thought through how you'd
interlock to make sure that the CL wasn't going to execute the old
contents before you go to sleep, but it has the promise of being able to
mask out the flush/frame done interrupts.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 818 bytes
Desc: not available
URL: <https://lists.freedesktop.org/archives/dri-devel/attachments/20160304/defc5d98/attachment-0001.sig>


More information about the dri-devel mailing list