Hi all, This patch series is an attempt to reduce lock contention when inserting commands into the Arm SMMUv3 command queue. Unfortunately, our initial benchmarking has shown mixed results across the board and the changes in the last patch don't appear to justify their complexity. Based on that, I only plan to queue the first patch for the time being.
Anyway, before I park this series, I thought it was probably worth sharing it in case it's useful to somebody. If you have a system where you believe I/O performance to be limited by the SMMUv3 command queue then please try these patches and let me know what happens, even if it's just more bad news. Patches based on 5.2-rc3. I've also pushed them out to my iommu/devel branch for the moment: https://git.kernel.org/pub/scm/linux/kernel/git/will/linux.git/log/?h=iommu/devel Thanks, Will --->8 Cc: Jean-Philippe Brucker <[email protected]> Cc: Robin Murphy <[email protected]> Cc: Jayachandran Chandrasekharan Nair <[email protected]> Cc: Jan Glauber <[email protected]> Cc: Jon Masters <[email protected]> Cc: Eric Auger <[email protected]> Cc: Zhen Lei <[email protected]> Cc: Jonathan Cameron <[email protected]> Cc: Vijay Kilary <[email protected]> Cc: Joerg Roedel <[email protected]> Will Deacon (6): iommu/arm-smmu-v3: Increase maximum size of queues iommu/arm-smmu-v3: Separate s/w and h/w views of prod and cons indexes iommu/arm-smmu-v3: Drop unused 'q' argument from Q_OVF macro iommu/arm-smmu-v3: Move low-level queue fields out of arm_smmu_queue iommu/arm-smmu-v3: Operate directly on low-level queue where possible iommu/arm-smmu-v3: Reduce contention during command-queue insertion drivers/iommu/arm-smmu-v3.c | 725 ++++++++++++++++++++++++++++++++------------ 1 file changed, 534 insertions(+), 191 deletions(-) -- 2.11.0 _______________________________________________ iommu mailing list [email protected] https://lists.linuxfoundation.org/mailman/listinfo/iommu
