lkml.org 
[lkml]   [2017]   [Jun]   [26]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
Subject[PATCH 0/5] arm-smmu: performance optimization
Date
I described the optimization more detail in patch 1 and 2, and patch 3-5 are
the implementation on arm-smmu/arm-smmu-v3 of patch 2.

Patch 1 is v2. In v1, I directly replaced writel with writel_relaxed in
queue_inc_prod. But Robin figured that it may lead SMMU consume stale
memory contents. I thought more than 3 whole days and got this one.

This patchset is based on Robin Murphy's [PATCH v2 0/8] io-pgtable lock removal.

Zhen Lei (5):
iommu/arm-smmu-v3: put off the execution of TLBI* to reduce lock
confliction
iommu: add a new member unmap_tlb_sync into struct iommu_ops
iommu/arm-smmu-v3: add support for unmap an iova range with only one
tlb sync
iommu/arm-smmu: add support for unmap a memory range with only one tlb
sync
iommu/io-pgtable: delete member tlb_sync_pending of struct io_pgtable

drivers/iommu/arm-smmu-v3.c | 52 ++++++++++++++++++++++++++++++++++----
drivers/iommu/arm-smmu.c | 10 ++++++++
drivers/iommu/io-pgtable-arm-v7s.c | 32 +++++++++++++++--------
drivers/iommu/io-pgtable-arm.c | 30 ++++++++++++++--------
drivers/iommu/io-pgtable.h | 9 ++-----
drivers/iommu/iommu.c | 3 +++
include/linux/iommu.h | 1 +
7 files changed, 104 insertions(+), 33 deletions(-)

--
2.5.0


\
 
 \ /
  Last update: 2017-06-26 15:40    [W:0.311 / U:0.336 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site