Nick Piggin <piggin@xxxxxxxxxxxxxxx> wrote:
Andrew Morton wrote:
Greg KH <greg@xxxxxxxxx> wrote:But as Andi said - look at all the crap involved when:
For all of those people, this patch is for you.It does rather neatly capture a common idiom.
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".