diff options
author | Peter Xu | 2018-05-18 09:25:12 +0200 |
---|---|---|
committer | Michael S. Tsirkin | 2018-05-23 16:33:57 +0200 |
commit | 4f8a62a933a79094e44bc1b16b63bb23e62d67b4 (patch) | |
tree | 4b1488663090cc8f14e65e57b380a91395b8bdff /include | |
parent | intel-iommu: add iommu lock (diff) | |
download | qemu-4f8a62a933a79094e44bc1b16b63bb23e62d67b4.tar.gz qemu-4f8a62a933a79094e44bc1b16b63bb23e62d67b4.tar.xz qemu-4f8a62a933a79094e44bc1b16b63bb23e62d67b4.zip |
intel-iommu: only do page walk for MAP notifiers
For UNMAP-only IOMMU notifiers, we don't need to walk the page tables.
Fasten that procedure by skipping the page table walk. That should
boost performance for UNMAP-only notifiers like vhost.
CC: QEMU Stable <qemu-stable@nongnu.org>
Signed-off-by: Peter Xu <peterx@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Diffstat (limited to 'include')
-rw-r--r-- | include/hw/i386/intel_iommu.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/include/hw/i386/intel_iommu.h b/include/hw/i386/intel_iommu.h index 016e74bedb..156f35e919 100644 --- a/include/hw/i386/intel_iommu.h +++ b/include/hw/i386/intel_iommu.h @@ -93,6 +93,8 @@ struct VTDAddressSpace { IntelIOMMUState *iommu_state; VTDContextCacheEntry context_cache_entry; QLIST_ENTRY(VTDAddressSpace) next; + /* Superset of notifier flags that this address space has */ + IOMMUNotifierFlag notifier_flags; }; struct VTDBus { |