Jean,
I think this is fine. Ack for VT-d related changes.
Allen
-----Original Message-----
From: Jean Guyader [mailto:jean.guyader@xxxxxxxxxxxxx]
Sent: Wednesday, November 09, 2011 2:16 PM
To: Kay, Allen M
Cc: Jean Guyader; xen-devel@xxxxxxxxxxxxxxxxxxx; Tim (Xen.org)
Subject: Re: [PATCH 1/6] vtd: Refactor iotlb flush code
Allen,
The addresses in input are not necessarily aligned, to be able to use this
feature I will have to break the range into aligned chunks of different sizes
and flush them separatly.
I personally don't think this optimization is worth the effort.
Jean
On 09/11 02:41, Kay, Allen M wrote:
> Jean,
>
> Page 122 of VT-d spec indicates you can invalidate multiple pages by setting
> the Address Mask (AM) field. Will this achieve what you wanted to do?
>
> http://download.intel.com/technology/computing/vptech/Intel(r)_VT_for_
> Direct_IO.pdf
>
> Allen
>
> -----Original Message-----
> From: Jean Guyader [mailto:jean.guyader@xxxxxxxxxxxxx]
> Sent: Monday, November 07, 2011 11:42 PM
> To: Kay, Allen M
> Cc: Jean Guyader; xen-devel@xxxxxxxxxxxxxxxxxxx; Tim (Xen.org)
> Subject: Re: [PATCH 1/6] vtd: Refactor iotlb flush code
>
>
> Allen,
>
> You are probably talking about __intel_iommu_iotlb_flush.
> This function takes a range of address to flush. I haven't found a function
> in the vtd code to invalidate a range on address without doing a loop of
> flush_iotlb_psi, so I thought that the most efficient and quick way to flush
> a range would be to use a domain selective invalidation.
>
> Jean
>
> On 08/11 03:10, Kay, Allen M wrote:
> > Jean,
> >
> > The original code does not call iommu_flush_iotlb_dsi(). What is the
> > reason the refractored code need to use domain selective invalidation?
> >
> > Allen
> > -----
> >
> > + if ( page_count > 1 || gfn == -1 )
> > + {
> > + if ( iommu_flush_iotlb_dsi(iommu, iommu_domid,
> > + 0, flush_dev_iotlb) )
> > + iommu_flush_write_buffer(iommu);
> > + }
> > + else
> > + {
> > + if ( iommu_flush_iotlb_psi(iommu, iommu_domid,
> > + (paddr_t)gfn << PAGE_SHIFT_4K, 0,
> > + !dma_old_pte_present, flush_dev_iotlb) )
> > + iommu_flush_write_buffer(iommu);
> >
> > -----Original Message-----
> > From: Jean Guyader [mailto:jean.guyader@xxxxxxxxxxxxx]
> > Sent: Monday, November 07, 2011 10:25 AM
> > To: xen-devel@xxxxxxxxxxxxxxxxxxx
> > Cc: tim@xxxxxxx; Kay, Allen M; Jean Guyader
> > Subject: [PATCH 1/6] vtd: Refactor iotlb flush code
> >
> >
> > Factorize the iotlb flush code from map_page and unmap_page into it's own
> > function.
> >
> > Signed-off-by: Jean Guyader <jean.guyader@xxxxxxxxxxxxx>
> > ---
> > xen/drivers/passthrough/vtd/iommu.c | 86
> > +++++++++++++++++-----------------
> > 1 files changed, 43 insertions(+), 43 deletions(-)
> >
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|