[Mesa-dev] [PATCH 0/8] i965: Don't recycle BOs until they are idle

Jason Ekstrand jason at jlekstrand.net
Fri Jun 15 05:31:54 UTC 2018

On Thu, Jun 14, 2018 at 10:55 AM, Jason Ekstrand <jason at jlekstrand.net>

> On June 14, 2018 01:43:12 Michel Dänzer <michel at daenzer.net> wrote:
> On 2018-06-13 10:26 PM, Jason Ekstrand wrote:
>>> The current BO cache puts BOs back into the recycle bucket the moment the
>>> refcount hits zero.  If the BO is busy, we just don't re-use it until it
>>> isn't or we re-use it for a render target which we assume will be used
>>> first for drawing.  This patch series reworks the way the BO cache works
>>> a
>>> bit so that we don't ever recycle a busy BO.  On the down side, it means
>>> that we don't get the "keep busy BOs busy" heuristic (which we have no
>>> proof actually helps).  On the up side, we can now easily use a MRU
>>> heuristic instead of round-robin for all buffers and not just the busy
>>> ones.  Will this be an improvement, a regression or a wash?  I don't know
>>> but I doubt it will have a major effect one way or another.
>> FWIW, I suspect this could be a significant loss with overlapping copies
>> in glamor (e.g. x11perf -copywinwin500), because it won't be able to
>> reuse the busy BOs anymore (glamor creates a temporary FBO for each
>> overlapping copy).
> That's rather horrific... That seems like something glamour could do
> better.  How common are overlapping copies in practice?  Are we talking a
> couple per frame or hundreds?  If that really is going on then we may need
> to rethink our approach on this one. :-(

I did some testing and x11perf -copywinwin500 is... exactly the same with
or without my patches.  If anything they might improve it by just a hair.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/mesa-dev/attachments/20180614/de0d3ceb/attachment.html>

More information about the mesa-dev mailing list