public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
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

  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