Re: [PATCH 04/21] Generic percpu refcounting

From: Oleg Nesterov
Date: Tue May 14 2013 - 09:55:47 EST


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;

Oleg.

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/