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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox