Re: [PATCH tip/core/rcu 01/14] rcu: Protect rcu_boost() lockless accesses with ACCESS_ONCE()

From: Peter Zijlstra
Date: Fri Jan 09 2015 - 08:56:53 EST


On Fri, Jan 09, 2015 at 05:49:54AM -0800, Paul E. McKenney wrote:
> > That reminds me, I think the new conversion for stores will most likely
> > introduce silly arg bugs:
> >
> > - ACCESS_ONCE(a) = b;
> > + ASSIGN_ONCE(b, a);
>
> I was planning to do mine by hand for this sort of reason.
>
> Or are you thinking of something more subtle than the case where
> "b" is an unparenthesized comma-separated expression?

I think he's revering to the wrong way around-ness of the thing.

Its a bit of a mixed bag on assignments, but for instance
rcu_assign_pointer() takes them the right way around, as does
atomic_set().

So yes, I think the ASSIGN_ONCE() thing got the arguments the wrong way
around.

We could maybe still change it, before its in too long ?
--
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/