[PATCH 00/10] vfio/pci: Allow MMIO regions to be exported through dma-buf
Alex Williamson
alex.williamson at redhat.com
Wed Jul 30 19:58:46 UTC 2025
On Wed, 23 Jul 2025 16:00:01 +0300
Leon Romanovsky <leon at kernel.org> wrote:
> From: Leon Romanovsky <leonro at nvidia.com>
>
> ---------------------------------------------------------------------------
> Based on blk and DMA patches which will be sent during coming merge window.
> ---------------------------------------------------------------------------
>
> This series extends the VFIO PCI subsystem to support exporting MMIO regions
> from PCI device BARs as dma-buf objects, enabling safe sharing of non-struct
> page memory with controlled lifetime management. This allows RDMA and other
> subsystems to import dma-buf FDs and build them into memory regions for PCI
> P2P operations.
>
> The series supports a use case for SPDK where a NVMe device will be owned
> by SPDK through VFIO but interacting with a RDMA device. The RDMA device
> may directly access the NVMe CMB or directly manipulate the NVMe device's
> doorbell using PCI P2P.
>
> However, as a general mechanism, it can support many other scenarios with
> VFIO. This dmabuf approach can be usable by iommufd as well for generic
> and safe P2P mappings.
I think this will eventually enable DMA mapping of device MMIO through
an IOMMUFD IOAS for the VM P2P use cases, right? How do we get from
what appears to be a point-to-point mapping between two devices to a
shared IOVA between multiple devices? I'm guessing we need IOMMUFD to
support something like IOMMU_IOAS_MAP_FILE for dma-buf, but I can't
connect all the dots. Thanks,
Alex
More information about the dri-devel
mailing list