On Tue, May 14, 2013 at 03:51:01PM +0200, Oleg Nesterov wrote:
> On 05/13, Kent Overstreet wrote:
> >
> > +int percpu_ref_kill(struct percpu_ref *ref)
> > +{
> > +   unsigned __percpu *pcpu_count;
> > +   unsigned __percpu *old;
> > +   unsigned count = 0;
> > +   int cpu;
> > +
> > +   pcpu_count = ACCESS_ONCE(ref->pcpu_count);
> > +
> > +   do {
> > +           if (!pcpu_count)
> > +                   return 0;
> > +
> > +           old = pcpu_count;
> > +           pcpu_count = cmpxchg(&ref->pcpu_count, old, NULL);
> > +   } while (pcpu_count != old);
> 
> This is purely cosmetic, feel free to ignore. But afaics all we
> need is
> 
>       pcpu_count = ACCESS_ONCE(ref->pcpu_count);
>       if (!cmpxchg(&ref->pcpu_count, pcpu_count, NULL))
>               return 0;

Whoops, yep. I was ripping out the dynamic stuff from my dynamic percpu
refcount code and missed that bit.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to