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

Jason Ekstrand jason at jlekstrand.net
Thu Jun 14 17:55:26 UTC 2018


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. :-(




More information about the mesa-dev mailing list