From: Greg KH <greg@kroah.com>
To: Dipankar Sarma <dipankar@in.ibm.com>
Cc: Christoph Hellwig <hch@infradead.org>,
Ravikiran G Thirumalai <kiran@in.ibm.com>,
akpm@osdl.org, linux-kernel@vger.kernel.org
Subject: Re: [patch] Add kref_read and kref_put_last primitives
Date: Mon, 2 Aug 2004 23:51:30 -0700 [thread overview]
Message-ID: <20040803065130.GA10696@kroah.com> (raw)
In-Reply-To: <20040803054218.GA4443@in.ibm.com>
On Tue, Aug 03, 2004 at 11:12:18AM +0530, Dipankar Sarma wrote:
> On Mon, Aug 02, 2004 at 01:08:49PM -0700, Greg KH wrote:
> > On Mon, Jul 26, 2004 at 05:31:51PM +0100, Christoph Hellwig wrote:
> > > Why don't you simply use an atomic_t if that's what you seem to
> > > want?
> >
> > Exactly. In cases like this, where the user, for some reason, wants to
> > know the state of the reference count, they should not use a struct
> > kref. I'm not going to add these functions to the kref api, sorry.
> >
>
> Really, there is no need to use kref in where Ravikiran is using
> them (VFS) under the current circumstances. However, if lock-free
> lookup using RCU is to be used, Ravikiran needs to use an abstracted reference
> counter API. This is to optimally support platforms with and without
> cmpxchg. kref is the standard reference counter API at the moment and
> that is where it made sense to add the abstracted lockfree reference counter
> support.
Hm, I still don't agree :)
> So, kref_read() as it is would look weird. But if we consider merging
> the rest of the kref APIs (lock-free extensions) in future, then the
> entire set including kref_read() would make sense.
No, even with rcu versions, I don't see the need for this in the api.
Sure, for this specific implementation of a atomic_t, it is useful, as
the value is checked. But that means that you might just want to use an
atomic_t, as it doesn't fit the model of a struct kref at all (something
where you don't touch the reference count directly at all.)
Becides, I don't think that people are convinced that this code needs to
be changed anyway :)
thanks,
greg k-h
next prev parent reply other threads:[~2004-08-03 6:57 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-07-26 14:48 [patch] Add kref_read and kref_put_last primitives Ravikiran G Thirumalai
2004-07-26 14:56 ` Ravikiran G Thirumalai
2004-07-26 16:31 ` Christoph Hellwig
2004-07-27 7:09 ` Ravikiran G Thirumalai
2004-07-27 9:43 ` Christoph Hellwig
2004-08-02 20:08 ` Greg KH
2004-08-03 5:42 ` Dipankar Sarma
2004-08-03 6:51 ` Greg KH [this message]
2004-08-03 7:45 ` Dipankar Sarma
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20040803065130.GA10696@kroah.com \
--to=greg@kroah.com \
--cc=akpm@osdl.org \
--cc=dipankar@in.ibm.com \
--cc=hch@infradead.org \
--cc=kiran@in.ibm.com \
--cc=linux-kernel@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.