Messages in this thread | | | Date | Wed, 14 Jul 2004 13:56:22 +0530 | From | Dipankar Sarma <> | Subject | Re: [RFC] Refcounting of objects part of a lockfree collection |
| |
On Wed, Jul 14, 2004 at 12:07:00AM -0700, Greg KH wrote: > On Wed, Jul 14, 2004 at 10:23:50AM +0530, Ravikiran G Thirumalai wrote: > > > > The attatched patch provides infrastructure for refcounting of objects > > in a rcu protected collection. > > This is really close to the kref implementation. Why not just use that > instead?
Well, the kref has the same get/put race if used in a lock-free look-up. When you do a kref_get() it is assumed that another cpu will not see a 1-to-0 transition of the reference count. If that indeed happens, ->release() will get invoked more than once for that object which is bad. Kiran's patch actually solves this fundamental lock-free ref-counting problem.
The other issue is that there are many refcounted data structures like dentry, dst_entry, file etc. that do not use kref. If everybody were to use kref, we could possibly apply Kiran's lock-free extensions to kref itself and be done with it. Until then, we need the lock-free refcounting support from non-kref refcounting objects.
Thanks Dipankar - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |