linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v5 00/17] Provide a new two step DMA mapping API
@ 2024-12-17 13:00 Leon Romanovsky
  2024-12-17 13:00 ` [PATCH v5 01/17] PCI/P2PDMA: Refactor the p2pdma mapping helpers Leon Romanovsky
                   ` (17 more replies)
  0 siblings, 18 replies; 28+ messages in thread
From: Leon Romanovsky @ 2024-12-17 13:00 UTC (permalink / raw)
  To: Jens Axboe, Jason Gunthorpe, Robin Murphy, Joerg Roedel,
	Will Deacon, Christoph Hellwig, Sagi Grimberg
  Cc: Keith Busch, Bjorn Helgaas, Logan Gunthorpe, Yishai Hadas,
	Shameer Kolothum, Kevin Tian, Alex Williamson, Marek Szyprowski,
	Jérôme Glisse, Andrew Morton, Jonathan Corbet,
	linux-doc, linux-kernel, linux-block, linux-rdma, iommu,
	linux-nvme, linux-pci, kvm, linux-mm, Randy Dunlap

Changelog:
v5:
 * Trimmed long lines in all patches.
 * Squashed "dma-mapping: Add check if IOVA can be used" into
   "dma: Provide an interface to allow allocate IOVA" patch.
 * Added tags from Christoph and Will.
 * Fixed spelling/grammar errors.
 * Change title from "dma: Provide an  ..." to be "dma-mapping: Provide an ...".
 * Slightly changed hmm patch to set sticky flags in one place.
v4: https://lore.kernel.org/all/cover.1733398913.git.leon@kernel.org
 * Added extra patch to add kernel-doc for iommu_unmap and
 * iommu_unmap_fast
 * Rebased to v6.13-rc1
 * Added Will's tags
v3: https://lore.kernel.org/all/cover.1731244445.git.leon@kernel.org
 * Added DMA_ATTR_SKIP_CPU_SYNC to p2p pages in HMM.
 * Fixed error unwind if dma_iova_sync fails in HMM.
 * Clear all PFN flags which were set in map to make code.
   more clean, the callers anyway cleaned them.
 * Generalize sticky PFN flags logic in HMM.
 * Removed not-needed #ifdef-#endif section.
v2: https://lore.kernel.org/all/cover.1730892663.git.leon@kernel.org
 * Fixed docs file as Randy suggested
 * Fixed releases of memory in HMM path. It was allocated with kv..
   variants but released with kfree instead of kvfree.
 * Slightly changed commit message in VFIO patch.
v1: https://lore.kernel.org/all/cover.1730298502.git.leon@kernel.org
 * Squashed two VFIO patches into one
 * Added Acked-by/Reviewed-by tags
 * Fix docs spelling errors
 * Simplified dma_iova_sync() API
 * Added extra check in dma_iova_destroy() if mapped size to make code
 * more clear
 * Fixed checkpatch warnings in p2p patch
 * Changed implementation of VFIO mlx5 mlx5vf_add_migration_pages() to
   be more general
 * Reduced the number of changes in VFIO patch
v0: https://lore.kernel.org/all/cover.1730037276.git.leon@kernel.org

----------------------------------------------------------------------------


Christoph Hellwig (6):
  PCI/P2PDMA: Refactor the p2pdma mapping helpers
  dma-mapping: move the PCI P2PDMA mapping helpers to pci-p2pdma.h
  iommu: generalize the batched sync after map interface
  iommu/dma: Factor out a iommu_dma_map_swiotlb helper
  dma-mapping: add a dma_need_unmap helper
  docs: core-api: document the IOVA-based API

Leon Romanovsky (11):
  iommu: add kernel-doc for iommu_unmap and iommu_unmap_fast
  dma-mapping: Provide an interface to allow allocate IOVA
  dma-mapping: Implement link/unlink ranges API
  mm/hmm: let users to tag specific PFN with DMA mapped bit
  mm/hmm: provide generic DMA managing logic
  RDMA/umem: Store ODP access mask information in PFN
  RDMA/core: Convert UMEM ODP DMA mapping to caching IOVA and page
    linkage
  RDMA/umem: Separate implicit ODP initialization from explicit ODP
  vfio/mlx5: Explicitly use number of pages instead of allocated length
  vfio/mlx5: Rewrite create mkey flow to allow better code reuse
  vfio/mlx5: Enable the DMA link API

 Documentation/core-api/dma-api.rst   |  70 +++++
 drivers/infiniband/core/umem_odp.c   | 250 +++++----------
 drivers/infiniband/hw/mlx5/mlx5_ib.h |  12 +-
 drivers/infiniband/hw/mlx5/odp.c     |  65 ++--
 drivers/infiniband/hw/mlx5/umr.c     |  12 +-
 drivers/iommu/dma-iommu.c            | 454 +++++++++++++++++++++++----
 drivers/iommu/iommu.c                |  84 ++---
 drivers/pci/p2pdma.c                 |  38 +--
 drivers/vfio/pci/mlx5/cmd.c          | 376 +++++++++++-----------
 drivers/vfio/pci/mlx5/cmd.h          |  35 ++-
 drivers/vfio/pci/mlx5/main.c         |  87 +++--
 include/linux/dma-map-ops.h          |  54 ----
 include/linux/dma-mapping.h          |  86 +++++
 include/linux/hmm-dma.h              |  33 ++
 include/linux/hmm.h                  |  21 ++
 include/linux/iommu.h                |   4 +
 include/linux/pci-p2pdma.h           |  84 +++++
 include/rdma/ib_umem_odp.h           |  25 +-
 kernel/dma/direct.c                  |  44 +--
 kernel/dma/mapping.c                 |  18 ++
 mm/hmm.c                             | 264 ++++++++++++++--
 21 files changed, 1423 insertions(+), 693 deletions(-)
 create mode 100644 include/linux/hmm-dma.h

-- 
2.47.0



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

end of thread, other threads:[~2025-01-16 21:00 UTC | newest]

Thread overview: 28+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-12-17 13:00 [PATCH v5 00/17] Provide a new two step DMA mapping API Leon Romanovsky
2024-12-17 13:00 ` [PATCH v5 01/17] PCI/P2PDMA: Refactor the p2pdma mapping helpers Leon Romanovsky
2024-12-17 13:00 ` [PATCH v5 02/17] dma-mapping: move the PCI P2PDMA mapping helpers to pci-p2pdma.h Leon Romanovsky
2024-12-17 13:00 ` [PATCH v5 03/17] iommu: generalize the batched sync after map interface Leon Romanovsky
2024-12-17 13:00 ` [PATCH v5 04/17] iommu: add kernel-doc for iommu_unmap and iommu_unmap_fast Leon Romanovsky
2024-12-17 13:00 ` [PATCH v5 05/17] dma-mapping: Provide an interface to allow allocate IOVA Leon Romanovsky
2025-01-14 20:50   ` Robin Murphy
2025-01-15  6:13     ` Christoph Hellwig
2025-01-15  8:17     ` Leon Romanovsky
2024-12-17 13:00 ` [PATCH v5 06/17] iommu/dma: Factor out a iommu_dma_map_swiotlb helper Leon Romanovsky
2024-12-17 13:00 ` [PATCH v5 07/17] dma-mapping: Implement link/unlink ranges API Leon Romanovsky
2025-01-14 20:50   ` Robin Murphy
2025-01-15  6:26     ` Christoph Hellwig
2025-01-15  7:27       ` Leon Romanovsky
2025-01-15  8:33     ` Leon Romanovsky
2025-01-16 20:18       ` Jason Gunthorpe
2025-01-16 21:00         ` Leon Romanovsky
2024-12-17 13:00 ` [PATCH v5 08/17] dma-mapping: add a dma_need_unmap helper Leon Romanovsky
2024-12-17 13:00 ` [PATCH v5 09/17] docs: core-api: document the IOVA-based API Leon Romanovsky
2024-12-17 13:00 ` [PATCH v5 10/17] mm/hmm: let users to tag specific PFN with DMA mapped bit Leon Romanovsky
2024-12-17 13:00 ` [PATCH v5 11/17] mm/hmm: provide generic DMA managing logic Leon Romanovsky
2024-12-17 13:00 ` [PATCH v5 12/17] RDMA/umem: Store ODP access mask information in PFN Leon Romanovsky
2024-12-17 13:00 ` [PATCH v5 13/17] RDMA/core: Convert UMEM ODP DMA mapping to caching IOVA and page linkage Leon Romanovsky
2024-12-17 13:00 ` [PATCH v5 14/17] RDMA/umem: Separate implicit ODP initialization from explicit ODP Leon Romanovsky
2024-12-17 13:00 ` [PATCH v5 15/17] vfio/mlx5: Explicitly use number of pages instead of allocated length Leon Romanovsky
2024-12-17 13:00 ` [PATCH v5 16/17] vfio/mlx5: Rewrite create mkey flow to allow better code reuse Leon Romanovsky
2024-12-17 13:00 ` [PATCH v5 17/17] vfio/mlx5: Enable the DMA link API Leon Romanovsky
2025-01-14  8:38 ` [PATCH v5 00/17] Provide a new two step DMA mapping API Leon Romanovsky

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox