[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