All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2 0/5] iommu/s390: Further improvements
@ 2022-11-09 14:28 Niklas Schnelle
  2022-11-09 14:28 ` [PATCH v2 1/5] iommu/s390: Make attach succeed even if the device is in error state Niklas Schnelle
                   ` (5 more replies)
  0 siblings, 6 replies; 9+ messages in thread
From: Niklas Schnelle @ 2022-11-09 14:28 UTC (permalink / raw)
  To: Matthew Rosato, iommu, Joerg Roedel, Will Deacon, Robin Murphy,
	Jason Gunthorpe
  Cc: Gerd Bayer, Pierre Morel, linux-s390, borntraeger, hca, gor,
	gerald.schaefer, agordeev, svens, linux-kernel

Hi All,

This series of patches improves the s390 IOMMU driver. These improvements help
existing IOMMU users, mainly vfio-pci, but at the same time are also in
preparation of converting s390 to use the common DMA API implementation in
drivers/iommu/dma-iommu.c instead of its platform specific DMA API in
arch/s390/pci/pci_dma.c that sidesteps the IOMMU driver to control the same
hardware interface directly.

Among the included changes patch 1 improves the robustness of switching IOMMU
domains and patch 2 adds the I/O TLB operations necessary for the DMA API
conversion. Patches 3, 4, and 5 aim to improve performance with patch 5 being
the most intrusive by removing the I/O translation table lock and using atomic
updates instead.

This series is based on the s390 branch of Joerg's IOMMU tree[0] that includes
the latest s390 IOMMU fixes. It is available for easy testing in the
iommu_improve_v2 branch with signed tag s390_iommu_improve_v2 of my
git.kernel.org tree[1].

Best regards,
Niklas Schnelle

Changes sinve v1:
- If an IOTLB flush fails for one device don't skip the flush for other devices.
  This is also needed when RCU readers try to flush a detached device. (Jason)
- Free a domain's IOMMU translation table via call_rcu() (Jason)

[0] https://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu.git/log/?h=s390
[1] https://git.kernel.org/pub/scm/linux/kernel/git/niks/linux.git/

Niklas Schnelle (5):
  iommu/s390: Make attach succeed even if the device is in error state
  iommu/s390: Add I/O TLB ops
  iommu/s390: Use RCU to allow concurrent domain_list iteration
  iommu/s390: Optimize IOMMU table walking
  s390/pci: use lock-free I/O translation updates

 arch/s390/include/asm/pci.h |   4 +-
 arch/s390/kvm/pci.c         |   6 +-
 arch/s390/pci/pci.c         |  13 +--
 arch/s390/pci/pci_dma.c     |  77 +++++++++------
 drivers/iommu/s390-iommu.c  | 184 ++++++++++++++++++++++++------------
 5 files changed, 185 insertions(+), 99 deletions(-)

-- 
2.34.1


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

end of thread, other threads:[~2022-11-19  9:29 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-11-09 14:28 [PATCH v2 0/5] iommu/s390: Further improvements Niklas Schnelle
2022-11-09 14:28 ` [PATCH v2 1/5] iommu/s390: Make attach succeed even if the device is in error state Niklas Schnelle
2022-11-14 15:05   ` Gerd Bayer
2022-11-14 15:30   ` Matthew Rosato
2022-11-09 14:29 ` [PATCH v2 2/5] iommu/s390: Add I/O TLB ops Niklas Schnelle
2022-11-09 14:29 ` [PATCH v2 3/5] iommu/s390: Use RCU to allow concurrent domain_list iteration Niklas Schnelle
2022-11-09 14:29 ` [PATCH v2 4/5] iommu/s390: Optimize IOMMU table walking Niklas Schnelle
2022-11-09 14:29 ` [PATCH v2 5/5] s390/pci: use lock-free I/O translation updates Niklas Schnelle
2022-11-19  9:28 ` [PATCH v2 0/5] iommu/s390: Further improvements Joerg Roedel

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.