From: Kent Overstreet <kmo@daterainc.com>
To: Tejun Heo <tj@kernel.org>
Cc: linux-kernel@vger.kernel.org
Subject: Re: [PATCH percpu/for-3.16 2/2] percpu-refcount: implement percpu_ref_tryget()
Date: Fri, 9 May 2014 12:51:09 -0700 [thread overview]
Message-ID: <20140509195109.GC2276@kmo> (raw)
In-Reply-To: <20140509194140.GC4486@htj.dyndns.org>
On Fri, May 09, 2014 at 03:41:40PM -0400, Tejun Heo wrote:
> On Fri, May 09, 2014 at 12:40:21PM -0700, Kent Overstreet wrote:
> > On Wed, May 07, 2014 at 11:58:10AM -0400, Tejun Heo wrote:
> > > Implement percpu_ref_tryget() which fails if the refcnt already
> > > reached zero. Note that this is different from the recently renamed
> > > percpu_ref_tryget_live() which fails if the refcnt has been killed and
> > > is draining the remaining references. percpu_ref_tryget() succeeds on
> > > a killed refcnt as long as its current refcnt is above zero.
> >
> > I'd still kind of prefer tryget() to be labelled "deprecated, don't use outside
> > the cgroup code" or somesuch, but it's not a huge deal :)
>
> Hmmm... why would it be deprecated? These are just two different
> operations.
Well not so much deprecated as "bad, avoid" - IMO using tryget() almost always
(I haven't seen a convincing counterexample) means you screwed up your
refcounting somewhere, if you need to take a ref on something whatever made that
object visible to you should have its own ref.
(I think we had this debate, but that was awhile ago...)
next prev parent reply other threads:[~2014-05-09 19:51 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-05-07 15:55 [PATCH percpu/for-3.16 1/2] percpu-refcount: rename percpu_ref_tryget() to percpu_ref_tryget_live() Tejun Heo
2014-05-07 15:56 ` [PATCH REPOST " Tejun Heo
2014-05-07 15:58 ` [PATCH percpu/for-3.16 2/2] percpu-refcount: implement percpu_ref_tryget() Tejun Heo
2014-05-09 19:12 ` Tejun Heo
2014-05-09 19:40 ` Kent Overstreet
2014-05-09 19:41 ` Tejun Heo
2014-05-09 19:51 ` Kent Overstreet [this message]
2014-05-09 19:55 ` Tejun Heo
2014-05-12 0:06 ` Kent Overstreet
2014-05-12 20:07 ` Tejun Heo
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=20140509195109.GC2276@kmo \
--to=kmo@daterainc.com \
--cc=linux-kernel@vger.kernel.org \
--cc=tj@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