[Mesa-dev] [PATCH 13/17] i965: Use a separate state buffer, but avoid changing flushing behavior.

Chris Wilson chris at chris-wilson.co.uk
Wed Sep 6 12:57:03 UTC 2017


Quoting Chris Wilson (2017-09-06 10:45:57)
> Quoting Kenneth Graunke (2017-09-06 01:09:46)
> > However, this patch tries to retain the original flushing behavior - it
> > adds the amount of batch and state space together, as if they were still
> > co-existing in a single buffer.  The hope is to flush at the same time
> > as before.  This is necessary to avoid provoking bugs caused by broken
> > batch wrap handling (which we'll fix shortly).  It also avoids suddenly
> > increasing the size of the batch (due to state not taking up space),
> > which could have a significant performance impact.  We'll tune it later.
> 
> Note that there is also another potential perf impact from changing
> batch sizes, sometimes the smaller batch and lower latency is critical
> to keeping the GPU busy. (Not often an issue for us!)

And another situation that can arise when the working set size > GTT,
larger batches with more exec_bo cause more swapping. (Smaller batches
are less bursty, so fewer stalls.) A good example is gen7 and the UE4
Atlantis demo.
-Chris


More information about the mesa-dev mailing list