[Intel-gfx] [CI] drm/i915/gt: Stop holding onto the pinned_default_state

Chris Wilson chris at chris-wilson.co.uk
Tue May 5 09:21:46 UTC 2020

Quoting Mika Kuoppala (2020-05-05 10:12:49)
> > @@ -4166,8 +4163,6 @@ static void __execlists_reset(struct intel_engine_cs *engine, bool stalled)
> >        * image back to the expected values to skip over the guilty request.
> >        */
> >       __i915_request_reset(rq, stalled);
> > -     if (!stalled)
> > -             goto out_replay;
> Why the change how to handle stalled?

The protocontext is only sufficient to recover a hung context. If we are
resetting an innocent context, we need it to retain its register state.

stalled == guilty => really hung, we only replay for the breacrumbs
!stalled == innocent, global reset => we need to try and recover the
context exactly.

The secret is that if we declare innocence too early, we kill it with
fire in a second pass.

More information about the Intel-gfx mailing list