|
From: | Paolo Bonzini |
Subject: | Re: [Qemu-devel] [PATCH] virtio: Make memory barriers be memory barriers |
Date: | Tue, 06 Sep 2011 08:55:42 +0200 |
User-agent: | Mozilla/5.0 (X11; Linux x86_64; rv:6.0) Gecko/20110816 Thunderbird/6.0 |
On 09/06/2011 05:12 AM, David Gibson wrote:
I'm not "fixing ppc". I'm fixing a fundamental flaw in the protocol implementation._So far_ I've only observed the effects on ppc, but that doesn't mean they don't exist.
Actually Michael is right. The implementation is correct on x86, though wrong anywhere else (perhaps s390?). On those architectures you do not need rmb() and wmb().
So doing the __sync_synchronize() on ppc only as he proposed is wrong; but not doing it (and leaving only a compiler barrier) on x86 is correct. See http://g.oswego.edu/dl/jmm/cookbook.html under "Multiprocessors".
Paolo
[Prev in Thread] | Current Thread | [Next in Thread] |