[Intel-gfx] [PATCH] drm/i915/gt: Only ignore already reset requests
Mika Kuoppala
mika.kuoppala at linux.intel.com
Fri Feb 7 17:32:49 UTC 2020
Chris Wilson <chris at chris-wilson.co.uk> writes:
> If a request is being re-run after an innocent reset, it is marked as
> -EAGAIN. So only skip an engine reset if the request is marked as -EIO.
>
> Testcase: igt/gem_ctx_exec/basic-nohangcheck
> Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
Reviewed-by: Mika Kuoppala <mika.kuoppala at linux.intel.com>
> ---
> drivers/gpu/drm/i915/gem/i915_gem_context.c | 2 +-
> drivers/gpu/drm/i915/gt/intel_reset.c | 2 +-
> 2 files changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/gem/i915_gem_context.c b/drivers/gpu/drm/i915/gem/i915_gem_context.c
> index 52a749691a8d..cfaf5bbdbcab 100644
> --- a/drivers/gpu/drm/i915/gem/i915_gem_context.c
> +++ b/drivers/gpu/drm/i915/gem/i915_gem_context.c
> @@ -419,7 +419,7 @@ static struct intel_engine_cs *__active_engine(struct i915_request *rq)
> }
>
> engine = NULL;
> - if (i915_request_is_active(rq) && !rq->fence.error)
> + if (i915_request_is_active(rq) && rq->fence.error != -EIO)
> engine = rq->engine;
>
> spin_unlock_irq(&locked->active.lock);
> diff --git a/drivers/gpu/drm/i915/gt/intel_reset.c b/drivers/gpu/drm/i915/gt/intel_reset.c
> index a8317e046f81..aef6ab58d7d9 100644
> --- a/drivers/gpu/drm/i915/gt/intel_reset.c
> +++ b/drivers/gpu/drm/i915/gt/intel_reset.c
> @@ -1182,7 +1182,7 @@ static void intel_gt_reset_global(struct intel_gt *gt,
>
> kobject_uevent_env(kobj, KOBJ_CHANGE, error_event);
>
> - drm_dbg(>->i915->drm, "resetting chip\n");
> + drm_dbg(>->i915->drm, "resetting chip, engines=%x\n", engine_mask);
> kobject_uevent_env(kobj, KOBJ_CHANGE, reset_event);
>
> /* Use a watchdog to ensure that our reset completes */
> --
> 2.25.0
>
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/intel-gfx
More information about the Intel-gfx
mailing list