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