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

Daniel Vetter daniel at ffwll.ch
Mon Jun 25 22:49:03 CEST 2012


On Mon, Jun 25, 2012 at 09:32:23PM +0100, Chris Wilson wrote:
> On Sun, 24 Jun 2012 16:42:34 +0200, Daniel Vetter <daniel.vetter at ffwll.ch> wrote:
> > We have a careful logic in i915_gem_check_wedge already to asses whether
> > the gpu reset has been tried already and hence whether to return -EIO
> > or -EAGAIN.
> > 
> > Having this early check in intel_ring_begin doesn't buy us anything,
> > since we'll be calling into wait_request in the usual case already
> > anyway. In the corner case of not waiting for free space using the
> > last_retired_head we simply need to do the same check, too.
> > 
> > With these changes we'll only ever get an -EIO from intel_ring_begin
> > if the gpu has truely been declared dead.
> 
> The intention here was that only operations that queued a command to a
> wedged GPU would trigger the EIO. That has been superseded by the error
> checking during mutex acquisition. The patch looks sane, but I'd like
> it split into two, one to remove the wedged check before
> intel_ring_begin (with some of the rationale about it now being
> superfluous) and a separate patch to reuse check_wedge().
> 
> It looks like the patch to reuse check_wedge() should be first as it is
> the common theme in the series.

Hm, actually I think I'll smash the check_wedge into the last patch. With
that change, this patch would solely be about not returning spurious -EIO,
whereas the last patch would be solely about not returning -EAGAIN in
cases we can't handle. Does that make some sense?
-Daniel
-- 
Daniel Vetter
Mail: daniel at ffwll.ch
Mobile: +41 (0)79 365 57 48



More information about the Intel-gfx mailing list