[Intel-gfx] [PATCH 4/4] drm/i915: Remove the spin-request during execbuf await_request

Chris Wilson chris at chris-wilson.co.uk
Thu Jun 8 10:07:11 UTC 2017


Quoting Joonas Lahtinen (2017-06-08 11:02:40)
> On ma, 2017-06-05 at 11:26 +0100, Chris Wilson wrote:
> > Originally we would enable and disable the breadcrumb interrupt
> > immediately on demand. This was slow enough to have a large impact
> > (>30%) on tasks that hopped between engines. However, by using a shadow
> > to keep the irq alive for an extra interrupt (see commit 67b807a89230
> > ("drm/i915: Delay disabling the user interrupt for breadcrumbs")) and
> > by recently reducing the cost in adding ourselves to the signal tree, we
> > no longer need to spin-request during await_request to avoid delays in
> > throughput tests. Without the earlier patches to stop the wakeup when
> > signaling if the irq was already active, we saw no improvement in
> > execbuf overhead (and corresponding contention in other clients) despite
> > the removal of the spinner in a simple test like glxgears. This means
> > that will be scenarios where now we spend longer enabling the interrupt
> 
>       ^ there ?          "now where we" ? 
> 
> > than we would have spent spinning, but these are not likely to have as
> > noticeable an impact as the high frequency test cases (where there
> > should not be any regression).
> > 
> > Ulterior motive: generalising the engine->sync_to to handle different
> > types of semaphores and non-semaphores.
> > 
> > Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
> > Cc: Joonas Lahtinen <joonas.lahtinen at linux.intel.com>
> > Cc: Tvrtko Ursulin <tvrtko.ursulin at intel.com>
> > Cc: Oscar Mateo <oscar.mateo at intel.com>
> 
> Does what is described, so code itself is:
> 
> Reviewed-by: Joonas Lahtinen <joonas.lahtinen at linux.intel.com>
> 
> Some Testcase:'s would be cool, without those it's bit handwavy. Maybe
> an Ack from Tvrtko.

Testcase for what though? It doesn't fix or improve anything, it just
moves the overhead of the breadcrumb from one column to another.

And we are sorely lacking performance tests in igt. Correctness wise
there are many that cover this await_request.
-Chris


More information about the Intel-gfx mailing list