[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