drm/i915: Use synchronize_srcu_expedited() for resets

We impose upon ourselves a strict timeout for resets (to ensure forward
progress by use of a failsafe). Prefer to use the expedited
synchronisation function in this case to reduce the likelihood of a
spurious delay being treated as a deadlock.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Mika Kuoppala <mika.kuoppala@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20190211135040.1234-2-chris@chris-wilson.co.uk
Reviewed-by: Mika Kuoppala <mika.kuoppala@intel.com>
This commit is contained in:
Chris Wilson 2019-02-11 13:50:40 +00:00
parent 785fbda5ba
commit 7c95c10ee9

View File

@ -1138,7 +1138,7 @@ static void i915_reset_device(struct drm_i915_private *i915,
intel_prepare_reset(i915);
/* Flush everyone using a resource about to be clobbered */
synchronize_srcu(&error->reset_backoff_srcu);
synchronize_srcu_expedited(&error->reset_backoff_srcu);
mutex_lock(&error->wedge_mutex);
i915_reset(i915, engine_mask, reason);