WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

[Xen-devel] IOMMU, vtd and iotlb flush rework (v2)

To: <xen-devel@xxxxxxxxxxxxxxxxxxx>
Subject: [Xen-devel] IOMMU, vtd and iotlb flush rework (v2)
From: Jean Guyader <jean.guyader@xxxxxxxxxxxxx>
Date: Mon, 7 Nov 2011 15:16:33 +0000
Cc: tim@xxxxxxx, allen.m.kay@xxxxxxxxx
Delivery-date: Mon, 07 Nov 2011 08:21:30 -0800
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
In one of my previous email I detailed a bug I was seeing when passing
through a Intel GPU on a guest that has more that 4G or RAM.

Allen suggested that I go for the Plan B but after a discussion with Tim
we agreed that Plan B was way to disruptive in term of code change.

This patch series implements Plan A.

http://xen.1045712.n5.nabble.com/VTD-Intel-iommu-IOTLB-flush-really-slow-td4952866.html

Changes between v1 and v2:
        - Move size in struct xen_add_to_physmap in padding between .domid and 
.space.
        - Store iommu_dont_flush per cpu
        - Change the code in hvmloader to relocate by batch of 64K, .size is 
now 16 bits.

Jean Guyader (6):
      vtd: Refactor iotlb flush code
      iommu: Introduce iommu_flush and iommu_flush_all.
      add_to_physmap: Move the code for XENMEM_add_to_physmap.
      mm: New XENMEM, XENMEM_add_to_physmap_gmfn_range
      hvmloader: Change memory relocation loop when overlap with PCI hole.
      Introduce per cpu flag (iommu_dont_flush_iotlb) to avoid unnecessary 
iotlb flush
 
 tools/firmware/hvmloader/pci.c      |   20 +++-
 xen/arch/x86/mm.c                   |  203 +++++++++++++++++++++--------------
 xen/drivers/passthrough/iommu.c     |   25 +++++
 xen/drivers/passthrough/vtd/iommu.c |  100 ++++++++++--------
 xen/include/public/memory.h         |    5 +-
 xen/include/xen/iommu.h             |    7 ++
 6 files changed, 230 insertions(+), 130 deletions(-)

Jean

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel