On 02/22/2010 04:57 PM, Michael S. Tsirkin wrote:

There is no need (for this case). Older read cannot be reordered with
write, writes are not reordered with other writes, writes by a single
processor are observed in the same order by all processors.

Well, Linux does use sfence.
At least on 64 bit it doesnt.

Right, I was looking at wmb(), not smp_wmb().

I imagine all arches need an instruction.  For reads as well.

Note, gcc has a __sync_synchronize() builtin that compiles to mfence on
x86.  We might use that as a baseline for both rmb and wmb, and let each
arch override it incrementally.
This it what my patch did. Note it only works well for recent gcc.

Do you know how recent?

--
error compiling committee.c: too many arguments to function



Reply via email to