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 _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx