All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Thomas Hellström" <thomas.hellstrom@linux.intel.com>
To: "Christian König" <christian.koenig@amd.com>,
	"Karl Mehltretter" <kmehltretter@gmail.com>,
	"Jason Gunthorpe" <jgg@nvidia.com>
Cc: Alistair Popple <apopple@nvidia.com>,
	Dongwon Kim <dongwon.kim@intel.com>,
		dri-devel@lists.freedesktop.org, intel-xe@lists.freedesktop.org,
		iommu@lists.linux.dev, Kevin Tian <kevin.tian@intel.com>,
	Leon Romanovsky	 <leonro@nvidia.com>,
	linaro-mm-sig@lists.linaro.org, 	linux-media@vger.kernel.org,
	Matthew Brost <matthew.brost@intel.com>,
	Simona Vetter <simona.vetter@ffwll.ch>,
	Sumit Semwal <sumit.semwal@linaro.org>,
	Vivek Kasireddy	 <vivek.kasireddy@intel.com>
Subject: Re: [PATCH RFC 03/26] dma-buf: Add dma_buf_mapping_attach()
Date: Mon, 19 Oct 2026 14:43:29 +0200	[thread overview]
Message-ID: <8d4cb20b70ac4c3f36d8d631769757158af2ac8e.camel@linux.intel.com> (raw)
In-Reply-To: <d08a26ed-ded7-4447-bf7b-88597ee7df0e@amd.com>

On Mon, 2026-10-19 at 10:35 +0200, Christian König wrote:
> On 10/16/26 22:26, Karl Mehltretter wrote:
> > On Tue, Feb 17, 2026 at 08:11:34PM -0400, Jason Gunthorpe wrote:
> > > +	match_args.attach = attach;
> > > +	if (dmabuf->ops->match_mapping) {
> > > +		ret = dmabuf->ops->match_mapping(&match_args);
> > > +	}
> > > +
> > >  	attach->dmabuf = dmabuf;
> > >  	attach->importer_ops = importer_ops;
> > >  	attach->importer_priv = importer_priv;
> > 
> > I may misunderstand the intended contract. match_mapping() runs
> > while the
> > attachment is still zeroed and without dmabuf->resv held.
> > 
> > Patch 11's amdgpu callback needs importer_ops and importer_priv, so
> > its XGMI
> > match cannot work here. Patch 12's VFIO callback asserts dmabuf-
> > >resv and
> > reads priv->vdev, which cleanup changes under that lock.
> > 
> > Should the core initialize the attachment and hold dmabuf->resv for
> > match_mapping(), or should callbacks avoid attachment and lock-
> > protected
> > state?
> 
> Right. This completely misplaced.
> 
> The matching can't be done at attachment time, but rather needs to be
> done before creating a mapping while holding the resv lock so that
> the matching decision can't change.

So question is what exactly should the contract be?
Looking at the pcie_p2p negotiation today it looks somewhat like.

1) Importer and exporter agree at attach time what mappings are allowed
pending placement conditions and other attachers.
2) At map-time the mapping is negotiated taking all constraints into
account.
3) The negotiated mapping is valid until an invalidate_mappings()
callback is received.

Following this would allow a re-implementation of pcie_p2p as a mapping
type and would allow a controlled link-severing to send an
invalidate_mappings() notifier and the mappings to be re-negotiated.

Importers requiring an early hint as to what the actual mapping would
look like would need to be prepared to re-consider at map-time, with a
reasonable assumption that the reconsideration and re-mapping would
happen seldom enough.

Thanks,
Thomas



> 
> Regards,
> Christian.
> 
> > 
> > Thanks,
> > Karl

  reply	other threads:[~2026-10-19 12:43 UTC|newest]

Thread overview: 49+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-02-18  0:11 [PATCH RFC 00/26] Add DMA-buf mapping types and convert vfio/iommufd to use them Jason Gunthorpe
2026-02-18  0:11 ` [PATCH RFC 01/26] dma-buf: Introduce DMA-buf mapping types Jason Gunthorpe
2026-02-18  0:11 ` [PATCH RFC 02/26] dma-buf: Add the SGT DMA mapping type Jason Gunthorpe
2026-02-18  0:11 ` [PATCH RFC 03/26] dma-buf: Add dma_buf_mapping_attach() Jason Gunthorpe
2026-10-16 20:26   ` Karl Mehltretter
2026-10-19  8:35     ` Christian König
2026-10-19 12:43       ` Thomas Hellström [this message]
2026-10-19 13:30         ` Jason Gunthorpe
2026-10-19 13:47           ` Thomas Hellström
2026-10-19 15:34             ` Christian König
2026-10-19 18:41             ` Jason Gunthorpe
2026-02-18  0:11 ` [PATCH RFC 04/26] dma-buf: Route SGT related actions through attach->map_type Jason Gunthorpe
2026-02-18  0:11 ` [PATCH RFC 05/26] dma-buf: Allow single exporter drivers to avoid the match_mapping function Jason Gunthorpe
2026-02-18  0:11 ` [PATCH RFC 06/26] drm: Check the SGT ops for drm_gem_map_dma_buf() Jason Gunthorpe
2026-02-18  0:11 ` [PATCH RFC 07/26] dma-buf: Convert all the simple exporters to use SGT mapping type Jason Gunthorpe
2026-02-18  0:11 ` [PATCH RFC 08/26] drm/vmwgfx: Use match_mapping instead of dummy calls Jason Gunthorpe
2026-02-18  0:11 ` [PATCH RFC 09/26] accel/habanalabs: Use the SGT mapping type Jason Gunthorpe
2026-02-18  0:11 ` [PATCH RFC 10/26] drm/xe/dma-buf: " Jason Gunthorpe
2026-02-18  0:11 ` [PATCH RFC 11/26] drm/amdgpu: " Jason Gunthorpe
2026-02-18  0:11 ` [PATCH RFC 12/26] vfio/pci: Change the DMA-buf exporter to use mapping_type Jason Gunthorpe
2026-04-13  8:29   ` Baolu Lu
2026-04-13 13:01     ` Jason Gunthorpe
2026-02-18  0:11 ` [PATCH RFC 13/26] dma-buf: Update dma_buf_phys_vec_to_sgt() to use the SGT mapping type Jason Gunthorpe
2026-02-18  0:11 ` [PATCH RFC 14/26] iio: buffer: convert " Jason Gunthorpe
2026-02-18  0:11 ` [PATCH RFC 15/26] functionfs: " Jason Gunthorpe
2026-02-18  0:11 ` [PATCH RFC 16/26] dma-buf: Remove unused SGT stuff from the common structures Jason Gunthorpe
2026-02-18  0:11 ` [PATCH RFC 17/26] treewide: Rename dma_buf_map_attachment(_unlocked) to dma_buf_sgt_ Jason Gunthorpe
2026-02-18  0:11 ` [PATCH RFC 18/26] treewide: Rename dma_buf_unmap_attachment(_unlocked) to dma_buf_sgt_* Jason Gunthorpe
2026-02-18  0:11 ` [PATCH RFC 19/26] treewide: Rename dma_buf_attach() to dma_buf_sgt_attach() Jason Gunthorpe
2026-02-18  0:11 ` [PATCH RFC 20/26] treewide: Rename dma_buf_dynamic_attach() to dma_buf_sgt_dynamic_attach() Jason Gunthorpe
2026-02-18  0:11 ` [PATCH RFC 21/26] dma-buf: Add the Physical Address List DMA mapping type Jason Gunthorpe
2026-04-13  8:58   ` Christian König
2026-04-13 12:16     ` Jason Gunthorpe
2026-04-22  8:17       ` Christian König
2026-04-22 11:53         ` Jason Gunthorpe
2026-04-22 12:39           ` Christian König
2026-04-22 13:13             ` Jason Gunthorpe
2026-04-22 14:04               ` Christian König
2026-04-22 15:00                 ` Jason Gunthorpe
2026-05-09  5:31                   ` Xu Yilun
2026-05-11 22:48                     ` Jason Gunthorpe
2026-02-18  0:11 ` [PATCH RFC 22/26] vfio/pci: Add physical address list support to DMABUF Jason Gunthorpe
2026-02-18  0:11 ` [PATCH RFC 23/26] iommufd: Use the PAL mapping type instead of a vfio function Jason Gunthorpe
2026-10-16 19:40   ` Karl Mehltretter
2026-02-18  0:11 ` [PATCH RFC 24/26] iommufd: Support DMA-bufs with multiple physical ranges Jason Gunthorpe
2026-02-18  0:11 ` [PATCH RFC 25/26] iommufd/selftest: Check multi-phys DMA-buf scenarios Jason Gunthorpe
2026-02-18  0:11 ` [PATCH RFC 26/26] dma-buf: Add kunit tests for mapping type Jason Gunthorpe
2026-03-01 19:05 ` [PATCH RFC 00/26] Add DMA-buf mapping types and convert vfio/iommufd to use them Jason Gunthorpe
2026-03-03  7:07   ` Kasireddy, Vivek

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=8d4cb20b70ac4c3f36d8d631769757158af2ac8e.camel@linux.intel.com \
    --to=thomas.hellstrom@linux.intel.com \
    --cc=apopple@nvidia.com \
    --cc=christian.koenig@amd.com \
    --cc=dongwon.kim@intel.com \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=intel-xe@lists.freedesktop.org \
    --cc=iommu@lists.linux.dev \
    --cc=jgg@nvidia.com \
    --cc=kevin.tian@intel.com \
    --cc=kmehltretter@gmail.com \
    --cc=leonro@nvidia.com \
    --cc=linaro-mm-sig@lists.linaro.org \
    --cc=linux-media@vger.kernel.org \
    --cc=matthew.brost@intel.com \
    --cc=simona.vetter@ffwll.ch \
    --cc=sumit.semwal@linaro.org \
    --cc=vivek.kasireddy@intel.com \
    /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.