Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> writes: > A gpu hang can occur at any time, given a sufficiently angry gpu. An > example is when it forgets to perform a context-switch at the end of a > request, leaving us with a hanging GPU on a completed request. Here, we > may retire the request, only leaving its context alive via the active > barrier. When we reset the GPU on a completed request, we do not modify > its context image (just updating the ring state) and can safely defer > the assertion that we have the image pinned and ready to modify. > > Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=111639 > Fixes: dffa8feb3084 ("drm/i915/perf: Assert locking for i915_init_oa_perf_state()") > Signed-off-by: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> > Cc: Mika Kuoppala <mika.kuoppala@xxxxxxxxxxxxxxx> Reviewed-by: Mika Kuoppala <mika.kuoppala@xxxxxxxxxxxxxxx> > --- > drivers/gpu/drm/i915/gt/intel_lrc.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/gpu/drm/i915/gt/intel_lrc.c b/drivers/gpu/drm/i915/gt/intel_lrc.c > index 1a2b71157f08..80ded99bcb15 100644 > --- a/drivers/gpu/drm/i915/gt/intel_lrc.c > +++ b/drivers/gpu/drm/i915/gt/intel_lrc.c > @@ -2383,7 +2383,6 @@ static void __execlists_reset(struct intel_engine_cs *engine, bool stalled) > GEM_BUG_ON(!i915_vma_is_pinned(ce->state)); > > /* Proclaim we have exclusive access to the context image! */ > - GEM_BUG_ON(!intel_context_is_pinned(ce)); > mutex_acquire(&ce->pin_mutex.dep_map, 2, 0, _THIS_IP_); > > rq = active_request(rq); > @@ -2432,6 +2431,7 @@ static void __execlists_reset(struct intel_engine_cs *engine, bool stalled) > * future request will be after userspace has had the opportunity > * to recreate its own state. > */ > + GEM_BUG_ON(!intel_context_is_pinned(ce)); > regs = ce->lrc_reg_state; > if (engine->pinned_default_state) { > memcpy(regs, /* skip restoring the vanilla PPHWSP */ > -- > 2.23.0 _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx