qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] Re: [patch uq/master 2/2] kvm-all.c: define smp_wmb and use


From: Avi Kivity
Subject: [Qemu-devel] Re: [patch uq/master 2/2] kvm-all.c: define smp_wmb and use it for coalesced mmio
Date: Mon, 22 Feb 2010 17:08:00 +0200
User-agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.1.7) Gecko/20100120 Fedora/3.0.1-1.fc12 Thunderbird/3.0.1

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

[Prev in Thread] Current Thread [Next in Thread]