On Thu, Jun 03, 2021 at 10:52:51AM +0800, Jason Wang wrote: > Basically, we don't want to bother with pseudo KVM device like what VFIO > did. So for simplicity, we rules out the IOMMU that can't enforce coherency > in vhost-vDPA if the parent purely depends on the platform IOMMU: VDPA HW cannot issue no-snoop TLPs in the first place. virtio does not define a protocol to discover such a functionality, nor do any virtio drivers implement the required platform specific cache flushing to make no-snoop TLPs work. It is fundamentally part of the virtio HW PCI API that a device vendor cannot alter. Basically since we already know that the virtio kernel drivers do not call the cache flush instruction we don't need the weird KVM logic to turn it on at all. Enforcing no-snoop at the IOMMU here is redundant/confusing. Jason