[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