[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] 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
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |