[Intel-gfx] [PATCH] drm/i915: Ignore -EIO from __i915_wait_request() during mmio flip

Daniel Vetter daniel at ffwll.ch
Mon Jun 15 09:34:51 PDT 2015


On Thu, Jun 11, 2015 at 09:01:08PM +0100, Chris Wilson wrote:
> On Thu, Jun 11, 2015 at 07:14:28PM +0300, ville.syrjala at linux.intel.com wrote:
> > From: Ville Syrjälä <ville.syrjala at linux.intel.com>
> > 
> > When the GPU gets reset __i915_wait_request() returns -EIO to the
> > mmio flip worker. Currently we WARN whenever we get anything other
> > than 0. Ignore the -EIO too since it's a perfectly normal thing
> > to get during a GPU reset.
> 
> Nak. I consider it is a bug in __i915_wait_request(). I am discussing
> with Thomas Elf how to fix this wrt the next generation of individual
> ring resets.

We should only get an -EIO if the gpu is truly gone, but an -EAGAIN when
the reset is ongoing. Neither is currently handled. For lockless users we
probably want a version of wait_request which just dtrt (of waiting for
the reset handler to complete without trying to grab the mutex and then
returning). Or some other means of retrying.

Returning -EIO from the low-level wait function still seems appropriate,
but callers need to eat/handle it appropriately. WARN_ON isn't it here
ofc.

Also we have piles of flip vs. gpu hang testcases ... do they fail to
provoke this or is this another case of bug lost in bugzilla? In any case
needs a Testcase: line.
-Daniel
-- 
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch


More information about the Intel-gfx mailing list