[PATCH 0/7] iommu/amd: Optimize iova queue flushing

From: Joerg Roedel
Date: Wed Jun 07 2017 - 10:59:05 EST


Hi,

here is a patch-set to optimize the queue flushing in the
AMD IOMMU driver. It removes the global per-cpu flush queues
and implements queue-rings which are per-domain and per-cpu.

This allows some good optimizations to lower the flush-rate
of a domain and also lowers the contention on the queue
locks.

Regards,

Joerg

Joerg Roedel (7):
iommu/amd: Rip out old queue flushing code
iommu/amd: Add per-domain flush-queue data structures
iommu/amd: Make use of the per-domain flush queue
iommu/amd: Add locking to per-domain flush-queue
iommu/amd: Add flush counters to struct dma_ops_domain
iommu/amd: Add per-domain timer to flush per-cpu queues
iommu/amd: Remove queue_release() function

drivers/iommu/amd_iommu.c | 363 +++++++++++++++++++++++++++++-----------------
1 file changed, 227 insertions(+), 136 deletions(-)

--
2.7.4