All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/3] SMMUv3 CMD_SYNC optimisation
@ 2017-08-18 17:33 ` Robin Murphy
  0 siblings, 0 replies; 10+ messages in thread
From: Robin Murphy @ 2017-08-18 17:33 UTC (permalink / raw)
  To: will.deacon-5wv7dgnIgG8
  Cc: iommu-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA,
	linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r

Hi all,

Waiting for the command queue to drain for CMD_SYNC completion is likely
a contention hotspot on high-core-count systems. If the SMMU is coherent
and supports MSIs, though, we can use this cool feature (as suggested by
the architecture, no less) to make syncs effectively non-blocking for
anyone other than the caller.

I don't have any hardware that supports MSIs, but this has at least
passed muster on the Fast Model with cache modelling enabled - I'm hoping
the Qualcomm machines have the appropriate configuration to actually test
how well it works in reality. If it is worthwhile, I do have most of a
plan for how we can do something similar in the non-MSI polling case (it's
mostly a problem of handling the queue-wrapping edge cases correctly).

Robin.


Robin Murphy (3):
  iommu/arm-smmu-v3: Specialise CMD_SYNC handling
  iommu/arm-smmu-v3: Forget about cmdq-sync interrupt
  iommu/arm-smmu-v3: Utilise CMD_SYNC MSI feature

 drivers/iommu/arm-smmu-v3.c | 117 +++++++++++++++++++++++++++++---------------
 1 file changed, 77 insertions(+), 40 deletions(-)

-- 
2.13.4.dirty

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

end of thread, other threads:[~2017-08-25  4:44 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-08-18 17:33 [PATCH 0/3] SMMUv3 CMD_SYNC optimisation Robin Murphy
2017-08-18 17:33 ` Robin Murphy
     [not found] ` <cover.1503075486.git.robin.murphy-5wv7dgnIgG8@public.gmane.org>
2017-08-18 17:33   ` [PATCH 1/3] iommu/arm-smmu-v3: Specialise CMD_SYNC handling Robin Murphy
2017-08-18 17:33     ` Robin Murphy
2017-08-18 17:33   ` [PATCH 2/3] iommu/arm-smmu-v3: Forget about cmdq-sync interrupt Robin Murphy
2017-08-18 17:33     ` Robin Murphy
2017-08-18 17:33   ` [PATCH 3/3] iommu/arm-smmu-v3: Utilise CMD_SYNC MSI feature Robin Murphy
2017-08-18 17:33     ` Robin Murphy
2017-08-25  4:44   ` [PATCH 0/3] SMMUv3 CMD_SYNC optimisation Nate Watterson
2017-08-25  4:44     ` Nate Watterson

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.