[Intel-gfx] [PATCH 1/2] drm/i915: Balance context pinning on reset cleanup

Daniel Vetter daniel at ffwll.ch
Wed Jan 21 00:31:14 PST 2015


On Tue, Jan 20, 2015 at 04:14:58PM +0000, Daniel, Thomas wrote:
> > -----Original Message-----
> > From: Intel-gfx [mailto:intel-gfx-bounces at lists.freedesktop.org] On Behalf
> > Of Mika Kuoppala
> > Sent: Tuesday, January 13, 2015 9:32 AM
> > To: intel-gfx at lists.freedesktop.org
> > Subject: [Intel-gfx] [PATCH 1/2] drm/i915: Balance context pinning on reset
> > cleanup
> > 
> > We pin when we submit to execlist queue. Balance the pinning when the
> > submitted queue is cleaned on reset.
> > 
> > Cc: Dave Gordon <david.s.gordon at intel.com>
> > Signed-off-by: Mika Kuoppala <mika.kuoppala at intel.com>
> > ---
> >  drivers/gpu/drm/i915/i915_gem.c  | 4 ++++
> > drivers/gpu/drm/i915/intel_lrc.c | 1 +
> >  2 files changed, 5 insertions(+)
> > 
> > diff --git a/drivers/gpu/drm/i915/i915_gem.c
> > b/drivers/gpu/drm/i915/i915_gem.c index 6c40365..68ea67d 100644
> > --- a/drivers/gpu/drm/i915/i915_gem.c
> > +++ b/drivers/gpu/drm/i915/i915_gem.c
> > @@ -2657,6 +2657,10 @@ static void i915_gem_reset_ring_cleanup(struct
> > drm_i915_private *dev_priv,
> >  				execlist_link);
> >  		list_del(&submit_req->execlist_link);
> >  		intel_runtime_pm_put(dev_priv);
> > +
> > +		if (submit_req->ctx != ring->default_context)
> > +			intel_lr_context_unpin(ring, submit_req->ctx);
> > +
> >  		i915_gem_context_unreference(submit_req->ctx);
> >  		kfree(submit_req);
> >  	}
> > diff --git a/drivers/gpu/drm/i915/intel_lrc.c
> > b/drivers/gpu/drm/i915/intel_lrc.c
> > index 7670a0f..56a3625 100644
> > --- a/drivers/gpu/drm/i915/intel_lrc.c
> > +++ b/drivers/gpu/drm/i915/intel_lrc.c
> > @@ -1774,6 +1774,7 @@ void intel_lr_context_free(struct intel_context
> > *ctx)
> >  				intel_unpin_ringbuffer_obj(ringbuf);
> >  				i915_gem_object_ggtt_unpin(ctx_obj);
> >  			}
> > +			WARN_ON(ctx->engine[ring->id].unpin_count);
> >  			intel_destroy_ringbuffer_obj(ringbuf);
> >  			kfree(ringbuf);
> >  			drm_gem_object_unreference(&ctx_obj->base);
> 
> Assuming this still patch still applies after Nick Hoath's recent changes,
> Reviewed-by: Thomas Daniel <thomas.daniel at intel.com>

Both merged, thanks for patches&review.
-Daniel
-- 
Daniel Vetter
Software Engineer, Intel Corporation
+41 (0) 79 365 57 48 - http://blog.ffwll.ch


More information about the Intel-gfx mailing list