On Thu, May 03, 2018 at 10:59:55AM +0800, Tiwei Bie wrote: > This patch introduces the support for VIRTIO_F_IO_BARRIER. > When this feature is negotiated, driver will use the barriers > suitable for hardware devices. > > Signed-off-by: Tiwei Bie I should have thought of this earlier, but why is a new feature bit necessary? If a hardware virtio device is in use, then the device should already negotiate VIRTIO_F_IOMMU_PLATFORM (i.e. use DMA APIs and IOMMU callbacks). Does disabling weak_barriers when VIRTIO_F_IOMMU_PLATFORM is set solve the problem?