Messages in this thread | | | From | Tina Zhang <> | Subject | [PATCH 0/2] Batch IOTLB/dev-IOTLB invalidation | Date | Fri, 17 May 2024 08:37:26 +0800 |
| |
IOTLB and dev-IOTLB invalidation operations are performance-critical. The current implementation in the VT-d driver submits these commands individually, leading to some inefficiencies due to the IOMMU programming and invalidation command processing overhead for each operation.
This patch series, based on "Consolidate domain cache invalidation" series[1], enhances the efficiency of Queue Invalidation (QI) operations by adding support for batch processing. Microbenchmarks show that with a DSA device working in SVA, batching IOTLB and dev-IOTLB invalidations can decrease the time spent in qi_submit_sync() by roughly more than 800 cycles.
Tina Zhang (2): iommu/vt-d: Support batching IOTLB/dev-IOTLB invalidation commands iommu/vt-d: Batch IOTLB/dev-IOTLB invalidation commands
[1]: https://lore.kernel.org/linux-iommu/20240416080656.60968-1-baolu.lu@linux.intel.com/
drivers/iommu/intel/cache.c | 89 ++++++++++++++++++++++++++++++------- drivers/iommu/intel/dmar.c | 67 +++++++++++++++------------- drivers/iommu/intel/iommu.c | 27 ++++++----- drivers/iommu/intel/iommu.h | 21 ++++++--- drivers/iommu/intel/pasid.c | 20 +++++---- 5 files changed, 152 insertions(+), 72 deletions(-)
-- 2.39.3
| |