[Intel-gfx] [PATCH 3/3] drm/i915: More surgically unbreak the modeset vs reset deadlock

Chris Wilson chris at chris-wilson.co.uk
Tue Aug 15 15:32:43 UTC 2017


Quoting Michel Thierry (2017-08-14 15:13:59)
> On 8/8/2017 1:08 AM, Daniel Vetter wrote:
> > @@ -3458,12 +3462,14 @@ void intel_prepare_reset(struct drm_i915_private *dev_priv)
> >           !gpu_reset_clobbers_display(dev_priv))
> >               return;
> >   
> > -     /* We have a modeset vs reset deadlock, defensively unbreak it.
> > -      *
> > -      * FIXME: We can do a _lot_ better, this is just a first iteration.
> > -      */
> > -     i915_gem_set_wedged(dev_priv);
> > -     DRM_DEBUG_DRIVER("Wedging GPU to avoid deadlocks with pending modeset updates\n");
> > +     /* We have a modeset vs reset deadlock, defensively unbreak it. */
> > +     set_bit(I915_RESET_MODESET, &dev_priv->gpu_error.flags);
> > +     wake_up_all(&dev_priv->gpu_error.wait_queue);
> > +
> > +     if (atomic_read(&dev_priv->gpu_error.pending_fb_pin)) {
> > +             DRM_DEBUG_KMS("Modeset potentially stuck, unbreaking through wedging\n");

I still maintain that all discarding of user data should be at DRM_ERROR level.
-Chris


More information about the Intel-gfx mailing list