[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH V2 07/11] virtio-pci: address space translation
From: |
Michael S. Tsirkin |
Subject: |
Re: [Qemu-devel] [PATCH V2 07/11] virtio-pci: address space translation service (ATS) support |
Date: |
Thu, 10 Nov 2016 19:32:03 +0200 |
On Fri, Nov 04, 2016 at 02:48:20PM +0800, Jason Wang wrote:
>
>
> On 2016年11月04日 03:49, Michael S. Tsirkin wrote:
> > On Thu, Nov 03, 2016 at 05:27:19PM +0800, Jason Wang wrote:
> > > >This patches enable the Address Translation Service support for virtio
> > > >pci devices. This is needed for a guest visible Device IOTLB
> > > >implementation and will be required by vhost device IOTLB API
> > > >implementation for intel IOMMU.
> > > >
> > > >Cc: Michael S. Tsirkin<address@hidden>
> > > >Signed-off-by: Jason Wang<address@hidden>
> > I'd like to understand why do you think this is strictly required.
> > Won't setting CM bit in the IOMMU do the trick.
>
> ATS was chosen for performance. Since there're many problems for CM:
>
> - CM was slow (10%-20% slower on real hardware for things like netperf)
> because of each transition between non-present and present mapping needs an
> explicit invalidation. It may slow down the whole VM.
> - Without ATS/Device IOTLB, IOMMU becomes a bottleneck because of contending
> of IOTLB entries. (What we can do in this case is in fact userspace IOTLB
> snooping, this could be done even without CM).
> It was natural to think of ATS when designing interface between IOMMU and
> device/remote IOTLBs. Do you see any drawbacks on ATS here?
>
> Thanks
In fact at this point I'm confused. Any mapping needs to be programmed
in the IOMMU. We need to implement this correctly.
Once we do why do we need ATS?
I think what you need is map/unmap notifiers that Aviv is working on.
No?
> >
> > Also, could you remind me pls - can guests just disable ATS?
> >
> > What happens then?
> >
> >
- Re: [Qemu-devel] [PATCH V2 02/11] virtio: convert to use DMA api, (continued)
[Qemu-devel] [PATCH V2 08/11] acpi: add ATSR for q35, Jason Wang, 2016/11/03
[Qemu-devel] [PATCH V2 09/11] memory: handle alias for iommu notifier, Jason Wang, 2016/11/03
[Qemu-devel] [PATCH V2 10/11] memory: handle alias in memory_region_is_iommu(), Jason Wang, 2016/11/03
[Qemu-devel] [PATCH V2 11/11] vhost_net: device IOTLB support, Jason Wang, 2016/11/03
Re: [Qemu-devel] [PATCH V2 00/11] vhost device IOTLB support, no-reply, 2016/11/03