From: Leon Romanovsky <leon@kernel.org>
To: Alex Williamson <alex.williamson@redhat.com>
Cc: "Jason Gunthorpe" <jgg@nvidia.com>,
"Andrew Morton" <akpm@linux-foundation.org>,
"Bjorn Helgaas" <bhelgaas@google.com>,
"Christian König" <christian.koenig@amd.com>,
dri-devel@lists.freedesktop.org, iommu@lists.linux.dev,
"Jens Axboe" <axboe@kernel.dk>, "Joerg Roedel" <joro@8bytes.org>,
kvm@vger.kernel.org, linaro-mm-sig@lists.linaro.org,
linux-block@vger.kernel.org, linux-kernel@vger.kernel.org,
linux-media@vger.kernel.org, linux-mm@kvack.org,
linux-pci@vger.kernel.org,
"Logan Gunthorpe" <logang@deltatee.com>,
"Marek Szyprowski" <m.szyprowski@samsung.com>,
"Robin Murphy" <robin.murphy@arm.com>,
"Sumit Semwal" <sumit.semwal@linaro.org>,
"Vivek Kasireddy" <vivek.kasireddy@intel.com>,
"Will Deacon" <will@kernel.org>
Subject: Re: [PATCH v4 07/10] vfio/pci: Add dma-buf export config for MMIO regions
Date: Wed, 1 Oct 2025 14:39:37 +0300 [thread overview]
Message-ID: <20251001113937.GH324804@unreal> (raw)
In-Reply-To: <20250930100758.1605d5a5.alex.williamson@redhat.com>
On Tue, Sep 30, 2025 at 10:07:58AM -0600, Alex Williamson wrote:
> On Tue, 30 Sep 2025 10:57:48 +0300
> Leon Romanovsky <leon@kernel.org> wrote:
>
> > On Mon, Sep 29, 2025 at 03:17:40PM -0600, Alex Williamson wrote:
> > > On Sun, 28 Sep 2025 17:50:17 +0300
> > > Leon Romanovsky <leon@kernel.org> wrote:
> > >
> > > > From: Leon Romanovsky <leonro@nvidia.com>
> > > >
> > > > Add new kernel config which indicates support for dma-buf export
> > > > of MMIO regions, which implementation is provided in next patches.
> > > >
> > > > Signed-off-by: Leon Romanovsky <leonro@nvidia.com>
> > > > ---
> > > > drivers/vfio/pci/Kconfig | 20 ++++++++++++++++++++
> > > > 1 file changed, 20 insertions(+)
> > > >
> > > > diff --git a/drivers/vfio/pci/Kconfig b/drivers/vfio/pci/Kconfig
> > > > index 2b0172f54665..55ae888bf26a 100644
> > > > --- a/drivers/vfio/pci/Kconfig
> > > > +++ b/drivers/vfio/pci/Kconfig
> > > > @@ -55,6 +55,26 @@ config VFIO_PCI_ZDEV_KVM
> > > >
> > > > To enable s390x KVM vfio-pci extensions, say Y.
> > > >
> > > > +config VFIO_PCI_DMABUF
> > > > + bool "VFIO PCI extensions for DMA-BUF"
> > > > + depends on VFIO_PCI_CORE
> > > > + depends on PCI_P2PDMA && DMA_SHARED_BUFFER
> > > > + default y
> > > > + help
> > > > + Enable support for VFIO PCI extensions that allow exporting
> > > > + device MMIO regions as DMA-BUFs for peer devices to access via
> > > > + peer-to-peer (P2P) DMA.
> > > > +
> > > > + This feature enables a VFIO-managed PCI device to export a portion
> > > > + of its MMIO BAR as a DMA-BUF file descriptor, which can be passed
> > > > + to other userspace drivers or kernel subsystems capable of
> > > > + initiating DMA to that region.
> > > > +
> > > > + Say Y here if you want to enable VFIO DMABUF-based MMIO export
> > > > + support for peer-to-peer DMA use cases.
> > > > +
> > > > + If unsure, say N.
> > > > +
> > > > source "drivers/vfio/pci/mlx5/Kconfig"
> > > >
> > > > source "drivers/vfio/pci/hisilicon/Kconfig"
> > >
> > > This is only necessary if we think there's a need to build a kernel with
> > > P2PDMA and VFIO_PCI, but not VFIO_PCI_DMABUF. Does that need really
> > > exist?
> >
> > It is used to filter build of vfio_pci_dmabuf.c - drivers/vfio/pci/Makefile:
> > vfio-pci-core-$(CONFIG_VFIO_PCI_DMABUF) += vfio_pci_dmabuf.o
>
> Maybe my question of whether it needs to exist at all is too broad.
> Does it need to be a user visible Kconfig option? Where do we see the
> need to preclude this feature from vfio-pci if the dependencies are
> enabled?
The dependencies are for the platform and not for the devices. For
example, hisilicon device mentioned in other email doesn't support
p2p, but the platform most likely support.
I don't have strong feelings about this config and at least for our use
case will always be enabled. I can hide it from the users.
>
> > > I also find it unusual to create the Kconfig before adding the
> > > supporting code. Maybe this could be popped to the end or rolled into
> > > the last patch if we decided to keep it. Thanks,
> >
> > It is leftover from previous version, I can squash it, but first we need
> > to decide what to do with pcim_p2pdma_init() call, if it needs to be
> > guarded or not.
>
> As in the other thread, I think it would be cleaner in an IS_ENABLED
> branch. I'm tempted to suggest we filter out EOPNOTSUPP to allow it to
> be unconditional, but I understand your point with the list_head
> initialization. Thanks,
We can add dmabuf list to struct unconditionally, as memory overhead is
negligible. It will allow us to drop IS_ENABLED() too.
Thanks
>
> Alex
>
>
next prev parent reply other threads:[~2025-10-01 11:39 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-09-28 14:50 [PATCH v4 00/10] vfio/pci: Allow MMIO regions to be exported through dma-buf Leon Romanovsky
2025-09-28 14:50 ` [PATCH v4 01/10] PCI/P2PDMA: Separate the mmap() support from the core logic Leon Romanovsky
2025-09-28 14:50 ` [PATCH v4 02/10] PCI/P2PDMA: Simplify bus address mapping API Leon Romanovsky
2025-09-28 14:50 ` [PATCH v4 03/10] PCI/P2PDMA: Refactor to separate core P2P functionality from memory allocation Leon Romanovsky
2025-09-28 14:50 ` [PATCH v4 04/10] PCI/P2PDMA: Export pci_p2pdma_map_type() function Leon Romanovsky
2025-09-28 14:50 ` [PATCH v4 05/10] types: move phys_vec definition to common header Leon Romanovsky
2025-09-28 14:50 ` [PATCH v4 06/10] vfio: Export vfio device get and put registration helpers Leon Romanovsky
2025-09-28 14:50 ` [PATCH v4 07/10] vfio/pci: Add dma-buf export config for MMIO regions Leon Romanovsky
2025-09-29 21:17 ` Alex Williamson
2025-09-30 7:57 ` Leon Romanovsky
2025-09-30 16:07 ` Alex Williamson
2025-10-01 11:39 ` Leon Romanovsky [this message]
2025-09-28 14:50 ` [PATCH v4 08/10] vfio/pci: Enable peer-to-peer DMA transactions by default Leon Romanovsky
2025-09-29 21:17 ` Alex Williamson
2025-09-30 7:30 ` Leon Romanovsky
2025-09-30 16:01 ` Alex Williamson
2025-09-28 14:50 ` [PATCH v4 09/10] vfio/pci: Share the core device pointer while invoking feature functions Leon Romanovsky
2025-09-28 14:50 ` [PATCH v4 10/10] vfio/pci: Add dma-buf export support for MMIO regions Leon Romanovsky
2025-09-29 21:17 ` Alex Williamson
2025-09-30 9:00 ` Leon Romanovsky
2025-09-30 12:50 ` Shameer Kolothum
2025-09-30 14:34 ` Jason Gunthorpe
2025-09-30 16:52 ` Alex Williamson
2025-09-30 18:04 ` Jason Gunthorpe
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20251001113937.GH324804@unreal \
--to=leon@kernel.org \
--cc=akpm@linux-foundation.org \
--cc=alex.williamson@redhat.com \
--cc=axboe@kernel.dk \
--cc=bhelgaas@google.com \
--cc=christian.koenig@amd.com \
--cc=dri-devel@lists.freedesktop.org \
--cc=iommu@lists.linux.dev \
--cc=jgg@nvidia.com \
--cc=joro@8bytes.org \
--cc=kvm@vger.kernel.org \
--cc=linaro-mm-sig@lists.linaro.org \
--cc=linux-block@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-media@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=linux-pci@vger.kernel.org \
--cc=logang@deltatee.com \
--cc=m.szyprowski@samsung.com \
--cc=robin.murphy@arm.com \
--cc=sumit.semwal@linaro.org \
--cc=vivek.kasireddy@intel.com \
--cc=will@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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.