[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

-- 
Chris Wilson, Intel Open Source Technology Centre


More information about the Intel-gfx mailing list