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