> -----Original Message-----
> From: Jason Wang [mailto:jasow...@redhat.com]
> Sent: Monday, February 20, 2017 5:04 PM
> To: Liu, Yi L <yi.l....@intel.com>; Michael S. Tsirkin <m...@redhat.com>; 
> qemu-
> de...@nongnu.org
> Cc: Lan, Tianyu <tianyu....@intel.com>; Peter Maydell
> <peter.mayd...@linaro.org>; Tian, Kevin <kevin.t...@intel.com>; Eduardo
> Habkost <ehabk...@redhat.com>; Peter Xu <pet...@redhat.com>; Alex
> Williamson <alex.william...@redhat.com>; Paolo Bonzini
> <pbonz...@redhat.com>; Richard Henderson <r...@twiddle.net>
> Subject: Re: [Qemu-devel] [PULL 08/41] intel_iommu: support device iotlb
> descriptor
> 
> 
> 
> On 2017年02月20日 16:27, Liu, Yi L wrote:
> >> -----Original Message-----
> >> From: Jason Wang [mailto:jasow...@redhat.com]
> >> Sent: Friday, February 17, 2017 2:43 PM
> >> To: Liu, Yi L <yi.l....@intel.com>; Michael S. Tsirkin
> >> <m...@redhat.com>; qemu- de...@nongnu.org
> >> Cc: Peter Maydell <peter.mayd...@linaro.org>; Eduardo Habkost
> >> <ehabk...@redhat.com>; Peter Xu <pet...@redhat.com>; Paolo Bonzini
> >> <pbonz...@redhat.com>; Richard Henderson <r...@twiddle.net>; Tian,
> >> Kevin <kevin.t...@intel.com>; Lan, Tianyu <tianyu....@intel.com>;
> >> Alex Williamson <alex.william...@redhat.com>
> >> Subject: Re: [Qemu-devel] [PULL 08/41] intel_iommu: support device
> >> iotlb descriptor
> >>
> >>
> >>
> >> On 2017年02月17日 14:18, Liu, Yi L wrote:
> >>>> -----Original Message-----
> >>>> From: Jason Wang [mailto:jasow...@redhat.com]
> >>>> Sent: Thursday, February 16, 2017 1:44 PM
> >>>> To: Liu, Yi L <yi.l....@intel.com>; Michael S. Tsirkin
> >>>> <m...@redhat.com>; qemu- de...@nongnu.org
> >>>> Cc: Peter Maydell <peter.mayd...@linaro.org>; Eduardo Habkost
> >>>> <ehabk...@redhat.com>; Peter Xu <pet...@redhat.com>; Paolo Bonzini
> >>>> <pbonz...@redhat.com>; Richard Henderson <r...@twiddle.net>; Tian,
> >>>> Kevin <kevin.t...@intel.com>; Lan, Tianyu <tianyu....@intel.com>;
> >>>> Alex Williamson <alex.william...@redhat.com>
> >>>> Subject: Re: [Qemu-devel] [PULL 08/41] intel_iommu: support device
> >>>> iotlb descriptor
> >>>>
> >>>>
> >>>>
> >>>> On 2017年02月16日 13:36, Liu, Yi L wrote:
> >>>>>> -----Original Message-----
> >>>>>> From: Qemu-devel
> >>>>>> [mailto:qemu-devel-bounces+yi.l.liu=intel....@nongnu.org]
> >>>>>> On Behalf Of Michael S. Tsirkin
> >>>>>> Sent: Tuesday, January 10, 2017 1:40 PM
> >>>>>> To: qemu-devel@nongnu.org
> >>>>>> Cc: Peter Maydell <peter.mayd...@linaro.org>; Eduardo Habkost
> >>>>>> <ehabk...@redhat.com>; Jason Wang <jasow...@redhat.com>; Peter
> >> Xu
> >>>>>> <pet...@redhat.com>; Paolo Bonzini <pbonz...@redhat.com>; Richard
> >>>>>> Henderson <r...@twiddle.net>
> >>>>>> Subject: [Qemu-devel] [PULL 08/41] intel_iommu: support device
> >>>>>> iotlb descriptor
> >>>>>>
> >>>>>> From: Jason Wang <jasow...@redhat.com>
> >>>>>>
> >>>>>> This patch enables device IOTLB support for intel iommu. The
> >>>>>> major work is to implement QI device IOTLB descriptor processing
> >>>>>> and notify the device through iommu notifier.
> >>>>>>
> >>>>> Hi Jason/Michael,
> >>>>>
> >>>>> Recently Peter Xu's patch also touched intel-iommu emulation. His
> >>>>> patch shadows second-level page table by capturing iotlb flush
> >>>>> from guest. It would result in page table updating in host. Does
> >>>>> this patch also use the same map/umap API provided by VFIO?
> >>>> Yes, it depends on the iommu notifier too.
> >>>>
> >>>>> If it is, then I think it would also update page table in host. It
> >>>>> looks to be a duplicate update. Pls refer to the following
> >>>>> snapshot captured from section 6.5.2.5 of vtd spec.
> >>>>>
> >>>>> "Since translation requests from a device may be serviced by
> >>>>> hardware from the IOTLB, software must always request IOTLB
> >>>>> invalidation
> >>>>> (iotlb_inv_dsc) before requesting corresponding Device-TLB
> >>>>> (dev_tlb_inv_dsc) invalidation."
> >>>>>
> >>>>> Maybe for device-iotlb, we need a separate API which just pass
> >>>>> down the invalidate info without updating page table. Any thoughts?
> >>>> cc Alex.
> >>>>
> >>>> If we want ATS to be visible for guest (but I'm not sure if VFIO
> >>>> support this), we probably need another notifier or a new flag.
> >>> Jason, for assigned device, I think guest could see ATS if the
> >>> assigned device supports ATS. I can see it when passthru iGPU.
> >>>
> >>> Regards,
> >>> Yi L
> >> Good to know this.
> >>
> >> If I understand your suggestion correctly, you want a dedicated API
> >> to flush a hardware device IOTLB. I'm not sure this is really needed.
> > yes, I'd like to have an extra API besides the current MAP/UNMAP.
> 
> I'm think whether or not we can do this without extra API or even don't need 
> to
> care about this.
> 
> >
> >> There's some discussion of similar issue in the past (when ATS is
> >> used for virtio- net/vhost), looks like we could solve this by not
> >> trigger the UNMAP notifier unless it was device IOTLB inv desc if ATS
> >> is enabled for the device? With this remote IOMMU/IOTLB can only get
> >> invalidation request once. For VFIO, the under layer IOMMU can deal
> >> with hardware device IOTLB without any extra efforts.
> > If I catch the background, I think it should be "not trigger the UNMAP
> > notifier when unless it was device IOTLB inv desc if ATS is enabled for the
> device"
> 
> Seems not :)
> 
> I mean, if ATS is enabled for the device, only trigger UNMAP notifier when
> processing device IOTLB. Then we can only have flush once. And host IOMMU
> driver will take care of device IOTLB flush too.
hmmm, how about the iotlb inv desc which is prior to device-iotlb? I'm not sure
if it is practical to ignore the iotlb inv des since there is no SID info in it.

Regards,
Yi L

Reply via email to