On Wed, Apr 11, 2018 at 09:19:56AM -0700, Paul E. McKenney wrote: > > > > Prior Operation Subsequent Operation > > --------------- --------------------- > > R W RMW SV R W DR DW RMW SV > > - - --- -- - - -- -- --- --
> > smp_store_mb() Y Y Y Y Y Y Y Y Y Y I'm not sure about that, the generic version of that reads: include/asm-generic/barrier.h:#define __smp_store_mb(var, value) do { WRITE_ONCE(var, value); __smp_mb(); } while (0) Which doesn't not have an smp_mb() before, so it doesn't actually order prior; or I'm failing to read the table wrong.