qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] [PATCH 0/8] VT-d: some enhancements on iotlb and tools


From: Peter Xu
Subject: [Qemu-devel] [PATCH 0/8] VT-d: some enhancements on iotlb and tools
Date: Tue, 27 Jun 2017 17:03:31 +0800

Patch 1: fixes a very rare PT path issue on iova value. It didn't
break anything since it's merely not touched (only if when IOMMU
enabled, then set one device to PT), but still better fix it.

Patch 2-5: added "info iommu" hmp command, and implemented for VT-d.
Meanwhile, added some statistics for iotlb.

Patch 6: introduce "x-iotlb-size" to tune iotlb size, or to turn it
off (e.g., when we want to measure how iotlb affects one payload).

Patch 7: some refine on iotlb entry.

Patch 8: implemented MRU list algorithm for iotlb.

For the last patch, it's logically making more sense than the old
algo, however the performance is merely the same as before (as far as
I tested with simple netperf payloads, in either streaming, rr,
reverse, etc.) since in most normal cases we cannot really let iotlb
overflow especially when size is 1024 by default, e.g., guest kernel
driver will release buffer when after used, and unstrict
intel_iommu=on parameter will also send periodic global iotlb flush
which will reset the whole cache. If anyone has suggestion on specific
workload, please shoot. Anyway, I'm posting this out for review to see
any possible comments/suggestions.

Thanks,

Peter Xu (8):
  intel_iommu: fix VTD_PAGE_MASK
  hmp: add info iommu
  intel_iommu: support "info iommu"
  intel_iommu: add iotlb/context cache statistics
  intel_iommu: hmp: allow "-c" for "info iommu"
  intel_iommu: let iotlb size tunable
  intel_iommu: use access_flags for iotlb
  intel_iommu: implement mru list for iotlb

 hmp-commands-info.hx           |  14 ++++
 hmp.c                          |   6 ++
 hmp.h                          |   1 +
 hw/i386/intel_iommu.c          | 169 +++++++++++++++++++++++++++++++----------
 hw/i386/intel_iommu_internal.h |  11 +--
 hw/i386/trace-events           |   1 -
 hw/i386/x86-iommu.c            |  17 +++++
 include/hw/i386/intel_iommu.h  |  20 ++++-
 include/hw/i386/x86-iommu.h    |   5 ++
 include/hw/iommu.h             |   9 +++
 stubs/Makefile.objs            |   1 +
 stubs/iommu.c                  |   9 +++
 12 files changed, 209 insertions(+), 54 deletions(-)
 create mode 100644 include/hw/iommu.h
 create mode 100644 stubs/iommu.c

-- 
2.7.4




reply via email to

[Prev in Thread] Current Thread [Next in Thread]