[PATCH] drm: Apply kref_put_mutex() optimisations to drm_gem_object_unreference_unlocked()

Chris Wilson chris at chris-wilson.co.uk
Tue Aug 6 15:22:29 PDT 2013


On Tue, Aug 06, 2013 at 11:27:50PM +0200, Daniel Vetter wrote:
> On Tue, Aug 06, 2013 at 09:59:46AM +0100, Chris Wilson wrote:
> > We can apply the same optimisation tricks as kref_put_mutex() in our
> > local equivalent function. However, we have a different locking semantic
> > (we unlock ourselves, in kref_put_mutex() the callee unlocks) so that we
> > can use the same callbacks for both locked and unlocked kref_put()s and
> > so can not simply convert to using kref_put_mutex() directly.
> > 
> > Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
> 
> I think longterm we want to move to delayed free callbacks (similar to how
> fput works) since the locking with dma-buf and all will simply get too
> hairy. But for now this is a neat optimization imo, so

I have bad memories of delayed free batching up several thousand small
bo. *shudder*
-Chris

-- 
Chris Wilson, Intel Open Source Technology Centre


More information about the dri-devel mailing list