All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 1/6] drm/i915: Do request retirement before marking engines as wedged
@ 2017-03-30 14:50 Chris Wilson
  2017-03-30 14:50 ` [PATCH 2/6] drm/i915: Suppress busy status for engines if wedged Chris Wilson
                   ` (5 more replies)
  0 siblings, 6 replies; 13+ messages in thread
From: Chris Wilson @ 2017-03-30 14:50 UTC (permalink / raw)
  To: intel-gfx; +Cc: mika.kuoppala

As we declare an engine as wedged, we mark all of its active requests as
in error. However, we don't want to mark successfully completed requests
as in error, which requires us to retire those requests first.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
---
 drivers/gpu/drm/i915/i915_gem.c | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c
index 2709be922512..cb61cec26db5 100644
--- a/drivers/gpu/drm/i915/i915_gem.c
+++ b/drivers/gpu/drm/i915/i915_gem.c
@@ -2998,10 +2998,15 @@ void i915_gem_set_wedged(struct drm_i915_private *dev_priv)
 	lockdep_assert_held(&dev_priv->drm.struct_mutex);
 	set_bit(I915_WEDGED, &dev_priv->gpu_error.flags);
 
+	/* Retire completed requests first so the list of inflight/incomplete
+	 * requests is accurate and we don't try and mark successful requests
+	 * as in error during __i915_gem_set_wedged_BKL().
+	 */
+	i915_gem_retire_requests(dev_priv);
+
 	stop_machine(__i915_gem_set_wedged_BKL, dev_priv, NULL);
 
 	i915_gem_context_lost(dev_priv);
-	i915_gem_retire_requests(dev_priv);
 
 	mod_delayed_work(dev_priv->wq, &dev_priv->gt.idle_work, 0);
 }
-- 
2.11.0

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply related	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2017-03-31 11:06 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-03-30 14:50 [PATCH 1/6] drm/i915: Do request retirement before marking engines as wedged Chris Wilson
2017-03-30 14:50 ` [PATCH 2/6] drm/i915: Suppress busy status for engines if wedged Chris Wilson
2017-03-30 14:50 ` [PATCH 3/6] drm/i915: Move retire-requests into i915_gem_wait_for_idle() Chris Wilson
2017-03-31  8:21   ` Joonas Lahtinen
2017-03-31 11:06     ` Chris Wilson
2017-03-30 14:50 ` [PATCH 4/6] drm/i915: Wait for all engines to be idle as part of i915_gem_wait_for_idle() Chris Wilson
2017-03-31  8:31   ` Joonas Lahtinen
2017-03-31  8:50     ` Chris Wilson
2017-03-30 14:50 ` [PATCH 5/6] drm/i915: Remove redudant wait for each engine to idle from seqno wrap Chris Wilson
2017-03-31  8:33   ` Joonas Lahtinen
2017-03-30 14:50 ` [PATCH 6/6] drm/i915: Combine reset_all_global_seqno() loops into one Chris Wilson
2017-03-31  8:39   ` Joonas Lahtinen
2017-03-30 15:50 ` ✗ Fi.CI.BAT: failure for series starting with [1/6] drm/i915: Do request retirement before marking engines as wedged Patchwork

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.