[Intel-gfx] [PATCH 1/3] drm/i915: Rely on accurate request tracking for finding hung batches

Chris Wilson chris at chris-wilson.co.uk
Wed Feb 12 20:15:35 CET 2014


On Wed, Feb 12, 2014 at 11:02:34AM -0800, Ben Widawsky wrote:
> On Wed, Feb 12, 2014 at 08:25:58AM +0000, Chris Wilson wrote:
> > On Tue, Feb 11, 2014 at 05:57:19PM -0800, Ben Widawsky wrote:
> > > On Mon, Feb 10, 2014 at 04:30:49PM +0200, Mika Kuoppala wrote:
> > > > -static struct drm_i915_gem_request *
> > > > -i915_gem_find_first_non_complete(struct intel_ring_buffer *ring)
> > > > +struct drm_i915_gem_request *
> > > > +i915_gem_find_active_request(struct intel_ring_buffer *ring)
> > > >  {
> > > >  	struct drm_i915_gem_request *request;
> > > > -	const u32 completed_seqno = ring->get_seqno(ring, false);
> > > > +	u32 completed_seqno;
> > > > +
> > > > +	if (WARN_ON(!ring->get_seqno))
> > > > +		return NULL;
> > > 
> > > ring->get_seqno(ring, false) ?
> > 
> > ?
> > 
> > This was originally used in the error capture code to detect
> > uninitialised rings.
> 
> We have a new flag for that now, don't we? Also, I don't think we can
> actually have an uninitialized ring at this point.

Considering that I have a vebox being reported on my SNB atm, something
is a little fishy with the detection of valid rings for error capture.
Yes, by the point we call i915_gem_find_active_request(), we should have
ring->get_seqno and so could just drop the WARN_ON()
-Chris

-- 
Chris Wilson, Intel Open Source Technology Centre



More information about the Intel-gfx mailing list