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

From: Paul E. McKenney
Date: Fri Jan 09 2015 - 09:07:51 EST


On Fri, Jan 09, 2015 at 02:56:14PM +0100, Peter Zijlstra wrote:
> 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.

Ah, yes, I had forgotten about this point.

> We could maybe still change it, before its in too long ?

I would be in favor. Any objections? ;-)

Thanx, Paul

--
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/