On 5/18/2017 12:56 AM, Chris Wilson wrote:
On Wed, May 17, 2017 at 06:11:06PM -0700, Michel Thierry wrote:
On 17/05/17 13:52, Chris Wilson wrote:
On Wed, May 17, 2017 at 01:41:34PM -0700, Michel Thierry wrote:
@@ -2827,21 +2829,35 @@ int i915_gem_reset_prepare_engine(struct
intel_engine_cs *e
On Wed, May 17, 2017 at 06:11:06PM -0700, Michel Thierry wrote:
> On 17/05/17 13:52, Chris Wilson wrote:
> >On Wed, May 17, 2017 at 01:41:34PM -0700, Michel Thierry wrote:
> >>@@ -2827,21 +2829,35 @@ int i915_gem_reset_prepare_engine(struct
> >>intel_engine_cs *engine)
> >>
> >>if (engine_stal
On 17/05/17 13:52, Chris Wilson wrote:
On Wed, May 17, 2017 at 01:41:34PM -0700, Michel Thierry wrote:
@@ -2827,21 +2829,35 @@ int i915_gem_reset_prepare_engine(struct
intel_engine_cs *engine)
if (engine_stalled(engine)) {
request = i915_gem_find_active_request(engine);
On Wed, May 17, 2017 at 01:41:34PM -0700, Michel Thierry wrote:
> @@ -2827,21 +2829,35 @@ int i915_gem_reset_prepare_engine(struct
> intel_engine_cs *engine)
>
> if (engine_stalled(engine)) {
> request = i915_gem_find_active_request(engine);
> - if (request && req
Before reseting an engine, check if there is an active request, and if
the _hung_ request has completed. In these two cases, the seqno has moved
after hang declaration and we can skip the reset.
Also store the active request so that we only search for it once, this
applies for reset-engine and ful