All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/3] iommu: Avoid DMA ops domain refcount contention
@ 2018-08-14 13:04 ` Robin Murphy
  0 siblings, 0 replies; 28+ messages in thread
From: Robin Murphy @ 2018-08-14 13:04 UTC (permalink / raw)
  To: joro-zLv9SwRftAIdnm+yROfE0A, will.deacon-5wv7dgnIgG8,
	catalin.marinas-5wv7dgnIgG8
  Cc: linuxarm-hv44wF8Li93QT0dZR+AlfA,
	iommu-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA,
	guohanjun-hv44wF8Li93QT0dZR+AlfA,
	linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r

John raised the issue[1] that we have some unnecessary refcount contention
in the DMA ops path which shows scalability problems now that we have more
real high-performance hardware using iommu-dma. The x86 IOMMU drivers are
sidestepping this by stashing domain references in archdata, but since
that's not very nice for architecture-agnostic code, I think it's time to
look at a generic API-level solution.

These are a couple of quick patches based on the idea I had back when
first implementing this lot, but didn't have any way to justify at the
time. The third patch can be ignored for the sake of API discussion, but
is included for completeness. 

Robin.


[1] https://lists.linuxfoundation.org/pipermail/iommu/2018-August/029303.html

Robin Murphy (3):
  iommu: Add fast hook for getting DMA domains
  iommu/dma: Use fast DMA domain lookup
  arm64/dma-mapping: Mildly optimise non-coherent IOMMU ops

 arch/arm64/mm/dma-mapping.c | 10 +++++-----
 drivers/iommu/dma-iommu.c   | 23 ++++++++++++-----------
 drivers/iommu/iommu.c       |  9 +++++++++
 include/linux/iommu.h       |  1 +
 4 files changed, 27 insertions(+), 16 deletions(-)

-- 
2.17.1.dirty

^ permalink raw reply	[flat|nested] 28+ messages in thread

end of thread, other threads:[~2018-08-20 15:41 UTC | newest]

Thread overview: 28+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-08-14 13:04 [PATCH 0/3] iommu: Avoid DMA ops domain refcount contention Robin Murphy
2018-08-14 13:04 ` Robin Murphy
     [not found] ` <cover.1534250425.git.robin.murphy-5wv7dgnIgG8@public.gmane.org>
2018-08-14 13:04   ` [PATCH 1/3] iommu: Add fast hook for getting DMA domains Robin Murphy
2018-08-14 13:04     ` Robin Murphy
2018-08-17  9:36     ` John Garry
2018-08-17  9:36       ` John Garry
     [not found]       ` <d31ca4b3-5cb3-8ba3-485b-3fee58807cae-hv44wF8Li93QT0dZR+AlfA@public.gmane.org>
2018-08-17 11:11         ` Robin Murphy
2018-08-17 11:11           ` Robin Murphy
     [not found]     ` <4d50587e62c16f7b5cfc45dee808d774655155cf.1534250425.git.robin.murphy-5wv7dgnIgG8@public.gmane.org>
2018-08-17 15:27       ` Laurentiu Tudor
2018-08-17 15:27         ` Laurentiu Tudor
2018-08-14 13:04   ` [PATCH 2/3] iommu/dma: Use fast DMA domain lookup Robin Murphy
2018-08-14 13:04     ` Robin Murphy
2018-08-14 13:04   ` [PATCH 3/3] arm64/dma-mapping: Mildly optimise non-coherent IOMMU ops Robin Murphy
2018-08-14 13:04     ` Robin Murphy
     [not found]     ` <52b017ead032f90e5f2b70b87747a49eb86209c8.1534250425.git.robin.murphy-5wv7dgnIgG8@public.gmane.org>
2018-08-20 15:41       ` Robin Murphy
2018-08-20 15:41         ` Robin Murphy
2018-08-14 13:38   ` [PATCH 0/3] iommu: Avoid DMA ops domain refcount contention John Garry
2018-08-14 13:38     ` John Garry
2018-08-17 13:03   ` John Garry
2018-08-17 13:03     ` John Garry
2018-08-17  7:24 ` Christoph Hellwig
2018-08-17  7:24   ` Christoph Hellwig
     [not found]   ` <20180817072415.GA22241-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org>
2018-08-17  9:03     ` Will Deacon
2018-08-17  9:03       ` Will Deacon
2018-08-17 11:30     ` Robin Murphy
2018-08-17 11:30       ` Robin Murphy
2018-08-17 12:01       ` Christoph Hellwig
2018-08-17 12:01         ` Christoph Hellwig

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.