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@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