On Tue, Dec 08, 2009 at 06:18:18PM +0200, Michael S. Tsirkin wrote: > The following fixes a class of long-standing bugs in qemu: > when kvm is enabled, guest might access device structures > in memory while they are updated by qemu on another CPU. > In this scenario, memory barriers are necessary to prevent > host CPU from reordering memory accesses, which might confuse > the guest. > > This patch only fixes virtio, but other emulated devices > might have a similar bug. They'll need to be discovered > and addressed case by case. > > This is still under test ... meanwhile: any early feedback/flames? >
Any comments on this one? The patch works fine in my testing, and even though it did not fix a crash that I hoped it will fix, it seems required for correctness... Right? > Michael S. Tsirkin (3): > qemu: add barriers.h header > virtio: use a real wmb > virtio: add missing barriers > > hw/barriers.h | 131 > +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ > hw/virtio.c | 18 ++++---- > 2 files changed, 139 insertions(+), 10 deletions(-) > create mode 100644 hw/barriers.h >