On 01/19/2015 07:30 PM, Paul E. McKenney wrote: > On Tue, Jan 06, 2015 at 12:47:53PM -0800, Paul E. McKenney wrote: >> On Tue, Jan 06, 2015 at 02:57:37PM -0500, Peter Hurley wrote: > > [ . . . ] > >> David Miller's call, actually. >> >> But the rule is that if it is an atomic read-modify-write operation and it >> returns a value, then the operation itself needs to include full memory >> barriers before and after (as in the caller doesn't need to add them). >> Otherwise, the operation does not need to include memory ordering. >> Since xchg(), atomic_xchg(), and atomic_long_xchg() all return a value, >> their implementations must include full memory barriers before and after. >> >> Pretty straightforward. ;-) > > Hello again, Peter, > > Were you going to push a patch clarifying this?
Hi Paul, As you pointed out, atomic_ops.txt is for arch implementors, so I wasn't planning on patching that file. I've been meaning to write up something specifically for everyone else but my own bugs have kept me from that. [That, and I'm not sure what I write will be suitable for Documentation.] Regards, Peter Hurley -- 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/