[Intel-gfx] [PATCH 3/5] drm/i915: don't return a spurious -EIO from intel_ring_begin

Chris Wilson chris at chris-wilson.co.uk
Tue Jun 26 11:30:40 CEST 2012


On Tue, 26 Jun 2012 01:05:24 +0200, Daniel Vetter <daniel at ffwll.ch> wrote:
> it would
> inevitably die on the next gtt pagefault. But I guess we can etch out
> a bit more survivability in corner cases.

Yeah, we need to do something about that pagefault-of-doom after EIO,
regardless. :(

I believe to do so we need a lot of the buffer management to be
resilient to EIO. But for proposed change to
i915_mutex_lock_interruptible(), I suggest we do something like
 int i915_mutex_lock_wedged()
 {
   ret = i915_mutex_lock_interruptible(dev);
   if (ret) {
     if (ret == -EIO) {
       if (mutex_trylock(&dev->struct_mutex))
         ret = 0;
       else
         ret = -EAGAIN;
     }       
   }
   return ret;
 }
-Chris

-- 
Chris Wilson, Intel Open Source Technology Centre



More information about the Intel-gfx mailing list