[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:25:45 UTC 2020


Quoting Chris Wilson (2020-05-05 10:21:46)
> 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.

The real secret is that the protocontext is being applied later on being
banned. And this change was because the two paths are not different at
this point.
-Chris


More information about the Intel-gfx mailing list