
On 2017年05月30日 21:09, Daniel P. Berrange wrote:
On Tue, May 30, 2017 at 02:50:32PM +0200, Ján Tomko wrote:
<interface type='user'> <mac address='52:54:56:5a:5c:5e'/> <model type='virtio'/> <driver iommu_platform='on' ats='on'/> </interface> Feels like we could just use 'iommu=on' as the name.
Also, I'm unclear whether we actually need the 'ats' attribute.
From the description it sounds like if we have device_iotlb=on for the IOMMU device, then we should have ats=on too. Is there a reason to use ats=off when device_iotlb=on, or vica-verca. If not, then we should just do the right thing and set ats=on whenever we see device_iotlb=on.
Maybe for virtio-net only. Vhost can get best performance only when both were set, disabling either will be slower. For the cases of non vhost and other virtio devices, enabling ATS maybe a little bit slower since we don't implement device IOTLB in the device now (though we may want to implement it in the future). So for now, it's better to leave a choice for user. Another problem is, ATS depends on PCIE, there's some requirement e.g qemu does not support an integrated PCIE device which means we may need a PCIE switch (pcie-root-port) to make PCIE and ATS works. Thanks
Regards, Daniel