[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20240517003728.251115-1-tina.zhang@intel.com>
Date: Fri, 17 May 2024 08:37:26 +0800
From: Tina Zhang <tina.zhang@...el.com>
To: Lu Baolu <baolu.lu@...ux.intel.com>,
Kevin Tian <kevin.tian@...el.com>
Cc: iommu@...ts.linux.dev,
linux-kernel@...r.kernel.org,
Tina Zhang <tina.zhang@...el.com>
Subject: [PATCH 0/2] Batch IOTLB/dev-IOTLB invalidation
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
Powered by blists - more mailing lists