On 11/04/2018 18:31, Peter Zijlstra 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.
You're not, even better reason to document it. :) I was going from memory for the x86 version. I'll start tomorrow on fixes to the current document, while we discuss the split format and what to do about cumulativity and propagation. Paolo