On Wed, Nov 30, 2011 at 6:15 PM, Michael S. Tsirkin <mst@xxxxxxxxxx> wrote: > How are the rings mapped? normal memory, right? No, device memory. > We allocate them with plan alloc_pages_exact in virtio_pci.c ... I'm not using virtio_pci.c; remoteproc is allocating the rings using the DMA API. > Yes wmb() is required to ensure ordering for MMIO. > But here both accesses: index and ring - are for > memory, not MMIO. I'm doing IO with a device over shared memory. It does require mandatory barriers as I explained. > Is this something you see in practice? Yes. These bugs are very real. -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html