All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2 0/5] Simplify vfio_iommu_type1 attach/detach routine
@ 2022-06-16  0:02 ` Nicolin Chen via iommu
  0 siblings, 0 replies; 101+ messages in thread
From: Nicolin Chen @ 2022-06-16  0:02 UTC (permalink / raw)
  To: joro, will, marcan, sven, robin.murphy, robdclark, baolu.lu,
	matthias.bgg, orsonzhai, baolin.wang7, zhang.lyra, jean-philippe,
	alex.williamson, jgg, kevin.tian
  Cc: suravee.suthikulpanit, alyssa, dwmw2, yong.wu, mjrosato,
	gerald.schaefer, thierry.reding, vdumpa, jonathanh, cohuck,
	thunder.leizhen, tglx, christophe.jaillet, john.garry,
	chenxiang66, saiprakash.ranjan, isaacm, yangyingliang, jordan,
	iommu, linux-kernel, linux-arm-kernel, linux-arm-msm,
	linux-mediatek, linux-s390, linux-tegra, virtualization, kvm

This is a preparatory series for IOMMUFD v2 patches. It enforces error
code -EMEDIUMTYPE in iommu_attach_device() and iommu_attach_group() when
an IOMMU domain and a device/group are incompatible. It also drops the
useless domain->ops check since it won't fail in current environment.

These allow VFIO iommu code to simplify its group attachment routine, by
avoiding the extra IOMMU domain allocations and attach/detach sequences
of the old code.

Worths mentioning the exact match for enforce_cache_coherency is removed
with this series, since there's very less value in doing that since KVM
won't be able to take advantage of it -- this just wastes domain memory.
Instead, we rely on Intel IOMMU driver taking care of that internally.

This is on github: https://github.com/nicolinc/iommufd/commits/vfio_iommu_attach

Changelog
v2:
 * Added -EMEDIUMTYPE to more IOMMU drivers that fit the category.
 * Changed dev_err to dev_dbg for -EMEDIUMTYPE to avoid kernel log spam.
 * Dropped iommu_ops patch, and removed domain->ops in VFIO directly,
   since there's no mixed-driver use case that would fail the sanity.
 * Updated commit log of the patch removing enforce_cache_coherency.
 * Fixed a misplace of "num_non_pinned_groups--" in detach_group patch.
 * Moved "num_non_pinned_groups++" in PATCH-5 to the common path between
   domain-reusing and new-domain pathways, like the code previously did.
 * Fixed a typo in EMEDIUMTYPE patch.
v1: https://lore.kernel.org/kvm/20220606061927.26049-1-nicolinc@nvidia.com/

Jason Gunthorpe (1):
  vfio/iommu_type1: Prefer to reuse domains vs match enforced cache
    coherency

Nicolin Chen (4):
  iommu: Return -EMEDIUMTYPE for incompatible domain and device/group
  vfio/iommu_type1: Remove the domain->ops comparison
  vfio/iommu_type1: Clean up update_dirty_scope in detach_group()
  vfio/iommu_type1: Simplify group attachment

 drivers/iommu/amd/iommu.c                   |   2 +-
 drivers/iommu/apple-dart.c                  |   4 +-
 drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c |  12 +-
 drivers/iommu/arm/arm-smmu/arm-smmu.c       |   4 +-
 drivers/iommu/arm/arm-smmu/qcom_iommu.c     |   4 +-
 drivers/iommu/intel/iommu.c                 |   6 +-
 drivers/iommu/iommu.c                       |  28 ++
 drivers/iommu/ipmmu-vmsa.c                  |   4 +-
 drivers/iommu/mtk_iommu_v1.c                |   2 +-
 drivers/iommu/omap-iommu.c                  |   4 +-
 drivers/iommu/s390-iommu.c                  |   2 +-
 drivers/iommu/sprd-iommu.c                  |   4 +-
 drivers/iommu/tegra-gart.c                  |   2 +-
 drivers/iommu/virtio-iommu.c                |   4 +-
 drivers/vfio/vfio_iommu_type1.c             | 317 ++++++++++----------
 15 files changed, 220 insertions(+), 179 deletions(-)

-- 
2.17.1


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

end of thread, other threads:[~2022-06-24 18:47 UTC | newest]

Thread overview: 101+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-06-16  0:02 [PATCH v2 0/5] Simplify vfio_iommu_type1 attach/detach routine Nicolin Chen
2022-06-16  0:02 ` Nicolin Chen
2022-06-16  0:02 ` Nicolin Chen via iommu
2022-06-16  0:03 ` [PATCH v2 1/5] iommu: Return -EMEDIUMTYPE for incompatible domain and device/group Nicolin Chen
2022-06-16  0:03   ` Nicolin Chen
2022-06-16  0:03   ` Nicolin Chen via iommu
2022-06-16  2:09   ` Baolu Lu
2022-06-16  2:09     ` Baolu Lu
2022-06-16  2:09     ` Baolu Lu
2022-06-16  2:40     ` Nicolin Chen
2022-06-16  2:40       ` Nicolin Chen
2022-06-16  2:40       ` Nicolin Chen via iommu
2022-06-16  6:28   ` Tian, Kevin
2022-06-16  6:28     ` Tian, Kevin
2022-06-16  6:28     ` Tian, Kevin
2022-06-16  6:28     ` Tian, Kevin
2022-06-16  0:03 ` [PATCH v2 2/5] vfio/iommu_type1: Prefer to reuse domains vs match enforced cache coherency Nicolin Chen
2022-06-16  0:03   ` Nicolin Chen
2022-06-16  0:03   ` Nicolin Chen via iommu
2022-06-16  6:29   ` Tian, Kevin
2022-06-16  6:29     ` Tian, Kevin
2022-06-16  6:29     ` Tian, Kevin
2022-06-16  6:29     ` Tian, Kevin
2022-06-21 22:46   ` Alex Williamson
2022-06-21 22:46     ` Alex Williamson
2022-06-21 22:46     ` Alex Williamson
2022-06-21 22:46     ` Alex Williamson
2022-06-21 23:47     ` Nicolin Chen
2022-06-21 23:47       ` Nicolin Chen
2022-06-21 23:47       ` Nicolin Chen via iommu
2022-06-16  0:03 ` [PATCH v2 3/5] vfio/iommu_type1: Remove the domain->ops comparison Nicolin Chen
2022-06-16  0:03   ` Nicolin Chen
2022-06-16  0:03   ` Nicolin Chen via iommu
2022-06-16  6:40   ` Tian, Kevin
2022-06-16  6:40     ` Tian, Kevin
2022-06-16  6:40     ` Tian, Kevin
2022-06-16  6:40     ` Tian, Kevin
2022-06-16 22:23     ` Nicolin Chen
2022-06-16 22:23       ` Nicolin Chen
2022-06-16 22:23       ` Nicolin Chen via iommu
2022-06-22  7:54       ` Robin Murphy
2022-06-22  7:54         ` Robin Murphy
2022-06-22  7:54         ` Robin Murphy
2022-06-22  7:54         ` Robin Murphy
2022-06-23  3:50         ` Tian, Kevin
2022-06-23  3:50           ` Tian, Kevin
2022-06-23  3:50           ` Tian, Kevin
2022-06-23  3:50           ` Tian, Kevin
2022-06-23  7:47           ` Nicolin Chen
2022-06-23  7:47             ` Nicolin Chen
2022-06-23  7:47             ` Nicolin Chen via iommu
2022-06-24 13:16         ` Jason Gunthorpe
2022-06-24 13:16           ` Jason Gunthorpe
2022-06-24 13:16           ` Jason Gunthorpe via iommu
2022-06-24 18:31           ` Robin Murphy
2022-06-24 18:31             ` Robin Murphy
2022-06-24 18:31             ` Robin Murphy
2022-06-24 18:31             ` Robin Murphy
2022-06-24 18:46             ` Jason Gunthorpe
2022-06-24 18:46               ` Jason Gunthorpe
2022-06-24 18:46               ` Jason Gunthorpe via iommu
2022-06-16  0:03 ` [PATCH v2 4/5] vfio/iommu_type1: Clean up update_dirty_scope in detach_group() Nicolin Chen
2022-06-16  0:03   ` Nicolin Chen
2022-06-16  0:03   ` Nicolin Chen via iommu
2022-06-16  6:45   ` Tian, Kevin
2022-06-16  6:45     ` Tian, Kevin
2022-06-16  6:45     ` Tian, Kevin
2022-06-16  6:45     ` Tian, Kevin
2022-06-16 22:26     ` Nicolin Chen
2022-06-16 22:26       ` Nicolin Chen
2022-06-16 22:26       ` Nicolin Chen via iommu
2022-06-16  0:03 ` [PATCH v2 5/5] vfio/iommu_type1: Simplify group attachment Nicolin Chen
2022-06-16  0:03   ` Nicolin Chen
2022-06-16  0:03   ` Nicolin Chen via iommu
2022-06-16  7:08   ` Tian, Kevin
2022-06-16  7:08     ` Tian, Kevin
2022-06-16  7:08     ` Tian, Kevin
2022-06-16  7:08     ` Tian, Kevin
2022-06-16 22:40     ` Nicolin Chen
2022-06-16 22:40       ` Nicolin Chen
2022-06-16 22:40       ` Nicolin Chen via iommu
2022-06-17  2:53       ` Tian, Kevin
2022-06-17  2:53         ` Tian, Kevin
2022-06-17  2:53         ` Tian, Kevin
2022-06-17  2:53         ` Tian, Kevin
2022-06-17 23:07         ` Nicolin Chen
2022-06-17 23:07           ` Nicolin Chen
2022-06-17 23:07           ` Nicolin Chen via iommu
2022-06-20  4:03           ` Jason Gunthorpe
2022-06-20  4:03             ` Jason Gunthorpe
2022-06-20  4:03             ` Jason Gunthorpe via iommu
2022-06-21 20:59             ` Nicolin Chen
2022-06-21 20:59               ` Nicolin Chen
2022-06-21 20:59               ` Nicolin Chen via iommu
2022-06-20 10:11         ` Robin Murphy
2022-06-20 10:11           ` Robin Murphy
2022-06-20 10:11           ` Robin Murphy
2022-06-20 10:11           ` Robin Murphy
2022-06-21 21:08           ` Nicolin Chen
2022-06-21 21:08             ` Nicolin Chen
2022-06-21 21:08             ` Nicolin Chen via iommu

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.