[Intel-gfx] [PATCH 7/8] drm/i915: Grab execlist spinlock to avoid post-reset concurrency issues.

Chris Wilson chris at chris-wilson.co.uk
Fri Oct 9 01:45:16 PDT 2015

On Fri, Oct 09, 2015 at 10:38:18AM +0200, Daniel Vetter wrote:
> On Thu, Oct 08, 2015 at 07:31:39PM +0100, Tomas Elf wrote:
> > Grab execlist lock when cleaning up execlist queues after GPU reset to avoid
> > concurrency problems between the context event interrupt handler and the reset
> > path immediately following a GPU reset.
> > 
> > Signed-off-by: Tomas Elf <tomas.elf at intel.com>
> Should we instead just stop any irqs from the GT completely while we do
> the reset (plus a synchronize_irq)? It's a bit heavy-weight, but probably
> safer. Well not the entire GT, but all the rings under reset (as prep for
> per-ring reset).

Bah, stopping IRQs is not enough for error state capture though since
requests complete asynchronously just by polling a memory address. (If
that is the goal here, this patch just makes execlist_queue access
consistent and should only be run once the GPU has been reset and so is
categorically idle.)

Chris Wilson, Intel Open Source Technology Centre

More information about the Intel-gfx mailing list