On Tue, Nov 18, 2014 at 03:32:46PM +0000, Daniel, Thomas wrote: > > -----Original Message----- > > From: Daniel Vetter [mailto:daniel.vetter@xxxxxxxx] On Behalf Of Daniel > > Vetter > > Sent: Tuesday, November 18, 2014 3:11 PM > > To: Daniel, Thomas > > Cc: Daniel Vetter; intel-gfx@xxxxxxxxxxxxxxxxxxxxx > > Subject: Re: [PATCH v5 3/4] drm/i915/bdw: Pin the context > > backing objects to GGTT on-demand > > > > On Tue, Nov 18, 2014 at 02:51:52PM +0000, Daniel, Thomas wrote: > > > > -----Original Message----- > > > > From: Daniel Vetter [mailto:daniel.vetter@xxxxxxxx] On Behalf Of > > > > Daniel Vetter > > > > Sent: Tuesday, November 18, 2014 2:33 PM > > > > To: Daniel, Thomas > > > > Cc: Daniel Vetter; intel-gfx@xxxxxxxxxxxxxxxxxxxxx > > > > Subject: Re: [PATCH v5 3/4] drm/i915/bdw: Pin the > > > > context backing objects to GGTT on-demand > > > > > > > > On Tue, Nov 18, 2014 at 10:48:09AM +0000, Daniel, Thomas wrote: > > > > > > -----Original Message----- > > > > > > From: Intel-gfx [mailto:intel-gfx-bounces@xxxxxxxxxxxxxxxxxxxxx] > > > > > > On Behalf Of Daniel, Thomas > > > > > > Sent: Tuesday, November 18, 2014 9:28 AM > > > > > > To: Daniel Vetter > > > > > > Cc: intel-gfx@xxxxxxxxxxxxxxxxxxxxx > > > > > > Subject: Re: [PATCH v5 3/4] drm/i915/bdw: Pin the > > > > > > context backing objects to GGTT on-demand > > > > > > > > > > > > > -----Original Message----- > > > > > > > From: Daniel Vetter [mailto:daniel.vetter@xxxxxxxx] On Behalf > > > > > > > Of Daniel Vetter > > > > > > > Sent: Monday, November 17, 2014 6:09 PM > > > > > > > To: Daniel, Thomas > > > > > > > Cc: intel-gfx@xxxxxxxxxxxxxxxxxxxxx > > > > > > > Subject: Re: [PATCH v5 3/4] drm/i915/bdw: Pin the > > > > > > > context backing objects to GGTT on-demand > > > > > > > > > > > > > > On Thu, Nov 13, 2014 at 10:28:10AM +0000, Thomas Daniel wrote: > > > > > > > > diff --git a/drivers/gpu/drm/i915/i915_drv.h > > > > > > > > b/drivers/gpu/drm/i915/i915_drv.h index 059330c..3c7299d > > > > > > > > 100644 > > > > > > > > --- a/drivers/gpu/drm/i915/i915_drv.h > > > > > > > > +++ b/drivers/gpu/drm/i915/i915_drv.h > > > > > > > > @@ -655,6 +655,7 @@ struct intel_context { > > > > > > > > struct { > > > > > > > > struct drm_i915_gem_object *state; > > > > > > > > struct intel_ringbuffer *ringbuf; > > > > > > > > + int unpin_count; > > > > > > > > > > > > > > Pinning is already refcounted. Why this additional refcount? > > > > > > > > > > > > The vma.pin_count is only allocated 4 bits of storage. If this > > > > > > restriction can be lifted then I can use that. > > > > > > > > Those 4 bits are good enough for legacy contexts, so I wonder a bit > > > > what's so massively different for execlist contexts. > > > With execlists, in order to dynamically unpin the LRC backing object > > > and ring buffer object when not required we take a reference for each > > > execlist request that uses them (remember that the execlist request > > > lifecycle is currently different from the execbuffer request). This > > > can be a lot, especially in some of the less sane i-g-t tests. > > > > Why? > > > > Presuming the buffer objects is properly pushed onto the active list you only > > need to pin while doing the command submission up to the point where > > you've committed the buffer object to the active list. > This is not currently the case. Using the active list for context > object management is one of the refactoring tasks, as we agreed. Actually I even lied, you need to pin the current context and you can only throw the old one you've just switched out. Becuase the request for the next batch/ctx combo will complete after the switched happened this all works out. -Daniel -- Daniel Vetter Software Engineer, Intel Corporation +41 (0) 79 365 57 48 - http://blog.ffwll.ch _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/intel-gfx