Quoting Tvrtko Ursulin (2018-05-17 14:13:00)
>
> On 17/05/2018 08:40, Chris Wilson wrote:
> > Back in commit 27af5eea54d1 ("drm/i915: Move execlists irq handler to a
> > bottom half"), we came to the conclusion that running our CSB processing
> > and ELSP submission from inside the irq handler was a bad idea. A really
> > bad idea as we could impose nearly 1s latency on other users of the
> > system, on average! Deferring our work to a tasklet allowed us to do the
> > processing with irqs enabled, reducing the impact to an average of about
> > 50us.
> >
> > We have since eradicated the use of forcewaked mmio from inside the CSB
> > processing and ELSP submission, bringing the impact down to around 5us
> > (on Kabylake); an order of magnitude better than our measurements 2
> > years ago on Broadwell and only about 2x worse on average than the
> > gem_syslatency on an unladen system.
> >
> > Comparing the impact on the maximum latency observed over a 120s interval,
> > repeated several times (using gem_syslatency, similar to RT's cyclictest)
> > while the system is fully laden with i915 nops, we see that direct
> > submission definitely worsens the response but not to the same outlandish
> > degree as before.
> >
> > x Unladen baseline
> > + Using tasklet
> > * Direct submission
> >
> > +------------------------------------------------------------------------+
> > |xx x ++ +++ + * * * ** *** * *|
> > ||A| |__AM__| |_____A_M___| |
> > +------------------------------------------------------------------------+
>
> What are these headers? This one and below, I cannot decipher them at all.
>
> > N Min Max Median Avg Stddev
> > x 10 5 18 10 9.3 3.6530049
> > + 10 72 120 108 102.9 15.758243
> > * 10 255 348 316 305.7 28.74814
>
> In micro-seconds? so tasklet is 108us median? Direct submission 316us
> median?
Perspective, ivb ringbuf:
x syslatency-ringbuf-mean.txt
+ syslatency-ringbuf-max.txt
+------------------------------------------------------------------------+
| xx + |
| xx + |
| xx + |
| xx ++ |
| xxxx + + + ++ + ++ |
|x xxxx + + + ++ + ++ ++++ ++++ +|
| |AM |__________A__M_______| |
+------------------------------------------------------------------------+
N Min Max Median Avg Stddev
x 30 5.395 17.893 13.626 13.135367 2.2143809
+ 30 33 169 143 135.86667 25.609445
Using execlists+tasklet is on par with irqoff (i.e. max) latency of
ringbuf. (There should be very little irq disabling for ringbuf.) Normal
average latency of execlists+direct_submission is still better than ivb,
but that is almost entirely generational differences.
-Chris
_______________________________________________
Intel-gfx mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/intel-gfx