qemu/virtio: make wmb compiler barrier + comments

wmb must be at least a compiler barrier, even without SMP.
Further, we likely need some rmb()/mb() as well:
I have not audited the code but lguest has mb(),
add a comment for now.

Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
This commit is contained in:
Michael S. Tsirkin 2009-10-26 15:17:15 +02:00 committed by Anthony Liguori
parent 1e5b9d2fcc
commit 79758e95d7
1 changed files with 4 additions and 1 deletions

View File

@ -23,8 +23,11 @@
/* QEMU doesn't strictly need write barriers since everything runs in
* lock-step. We'll leave the calls to wmb() in though to make it obvious for
* KVM or if kqemu gets SMP support.
* In any case, we must prevent the compiler from reordering the code.
* TODO: we likely need some rmb()/mb() as well.
*/
#define wmb() do { } while (0)
#define wmb() __asm__ __volatile__("": : :"memory")
typedef struct VRingDesc
{