[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <cover.1734436840.git.leon@kernel.org>
Date: Tue, 17 Dec 2024 15:00:18 +0200
From: Leon Romanovsky <leon@...nel.org>
To: Jens Axboe <axboe@...nel.dk>,
Jason Gunthorpe <jgg@...pe.ca>,
Robin Murphy <robin.murphy@....com>,
Joerg Roedel <joro@...tes.org>,
Will Deacon <will@...nel.org>,
Christoph Hellwig <hch@....de>,
Sagi Grimberg <sagi@...mberg.me>
Cc: Keith Busch <kbusch@...nel.org>,
Bjorn Helgaas <bhelgaas@...gle.com>,
Logan Gunthorpe <logang@...tatee.com>,
Yishai Hadas <yishaih@...dia.com>,
Shameer Kolothum <shameerali.kolothum.thodi@...wei.com>,
Kevin Tian <kevin.tian@...el.com>,
Alex Williamson <alex.williamson@...hat.com>,
Marek Szyprowski <m.szyprowski@...sung.com>,
Jérôme Glisse <jglisse@...hat.com>,
Andrew Morton <akpm@...ux-foundation.org>,
Jonathan Corbet <corbet@....net>,
linux-doc@...r.kernel.org,
linux-kernel@...r.kernel.org,
linux-block@...r.kernel.org,
linux-rdma@...r.kernel.org,
iommu@...ts.linux.dev,
linux-nvme@...ts.infradead.org,
linux-pci@...r.kernel.org,
kvm@...r.kernel.org,
linux-mm@...ck.org,
Randy Dunlap <rdunlap@...radead.org>
Subject: [PATCH v5 00/17] Provide a new two step DMA mapping API
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
Powered by blists - more mailing lists