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