[RFC] virtio: use mandatory barriers for remote processor vdevs

Ohad Ben-Cohen ohad at wizery.com
Wed Nov 30 11:24:16 EST 2011


On Wed, Nov 30, 2011 at 6:15 PM, Michael S. Tsirkin <mst at redhat.com> 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.



More information about the linux-arm-kernel mailing list