Re: [PATCH net 1/3] kref: add kref_sub_return

From: David Miller
Date: Wed Feb 12 2014 - 19:06:47 EST


From: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
Date: Wed, 12 Feb 2014 08:56:30 -0800

> On Wed, Feb 12, 2014 at 06:38:21PM +0200, Michael S. Tsirkin wrote:
>> It is sometimes useful to get the value of the reference count after
>> decrement.
>> For example, vhost wants to execute some periodic cleanup operations
>> once number of references drops below a specific value, before it
>> reaches zero (for efficiency).
>
> You should never care about what the value of the kref is, if you are
> using it correctly :)

It isn't being used to determine when to destroy things.

They use it to as a heuristic of when to trigger polling.

Each ubuf attached gets a kref to the higher level virtio_net buffer
holding object, they want to trigger polling when that reference drops
to 1 or lower.

Right now they are reading the atomic refcount directly, which
I think is much worse than this helper.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/