Re: [RFC] kref, a tiny, sane, reference count object

Andrew Morton
2004-03-14T04:10:22Z

Nick Piggin <piggin@cyberone.com.au> wrote:
>
>
>
> Andrew Morton wrote:
>
> >Greg KH <greg@kroah.com> wrote:
> >
> >>For all of those people, this patch is for you.
> >>
> >
> >It does rather neatly capture a common idiom.
> >
>
> But as Andi said - look at all the crap involved when:
>
> atomic_inc();
> if (atomic_dec_and_test())
> release();
> Also neatly captures that idiom.

Well it does more than that, such as trapping the hard-to-diagnose bug
of grabbing a refcount against a zero-ref object.

> And you get more flexibility by being able to use atomic_set
> directly too.

Do I care about that? I care more about being able to say "ah, it uses
kref. I understand that refcounting idiom, I know it's well debugged and I
know that it traps common errors". That's better than "oh crap, this thing
implements its own refcounting - I need to review it for the usual
errors".