[Intel-gfx] [PATCH] drm/i915: Don't ERROR for an expected intel_rcs_ctx_init() interruption

Chris Wilson chris at chris-wilson.co.uk
Mon Jan 25 13:24:42 PST 2016


On Mon, Jan 25, 2016 at 06:25:33PM +0000, Dave Gordon wrote:
> On 23/01/16 17:54, Chris Wilson wrote:
> >intel_rcs_ctx_init() can be interrupted by a signal (if it has to wait
> >upon a full ring to advance). Don't emit an error for this.
> >
> >Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
> >---
> >  drivers/gpu/drm/i915/intel_ringbuffer.c | 4 ++--
> >  1 file changed, 2 insertions(+), 2 deletions(-)
> >
> >diff --git a/drivers/gpu/drm/i915/intel_ringbuffer.c b/drivers/gpu/drm/i915/intel_ringbuffer.c
> >index b09abd754349..fb6bf4e2d3a1 100644
> >--- a/drivers/gpu/drm/i915/intel_ringbuffer.c
> >+++ b/drivers/gpu/drm/i915/intel_ringbuffer.c
> >@@ -730,9 +730,9 @@ static int intel_rcs_ctx_init(struct drm_i915_gem_request *req)
> >
> >  	ret = i915_gem_render_state_init(req);
> >  	if (ret)
> >-		DRM_ERROR("init render state: %d\n", ret);
> >+		return ret;
> >
> >-	return ret;
> >+	return 0;
> >  }
> >
> >  static int wa_add(struct drm_i915_private *dev_priv,
> >
> 
> If you're not going to test the error code locally, you can just do:
> 
> 	return i915_gem_render_state_init(req);

I can never decide which I prefer. If there is a a sequence, I continue
on using if(ret) return ret, since I prefer the consistent look. If I
just return blah(); and later come back and have to add another check, I
curse.

If it is a frequent path, then letting gcc see the tail call is
definitely worth it (if there is a chance for that tail call to
disappear!).
-Chris

-- 
Chris Wilson, Intel Open Source Technology Centre


More information about the Intel-gfx mailing list