From: Matthew Brost <matthew.brost@intel.com>
To: "Christian König" <christian.koenig@amd.com>
Cc: "Jason Gunthorpe" <jgg@nvidia.com>,
"Kasireddy, Vivek" <vivek.kasireddy@intel.com>,
"Simona Vetter" <simona.vetter@ffwll.ch>,
"dri-devel@lists.freedesktop.org"
<dri-devel@lists.freedesktop.org>,
"intel-xe@lists.freedesktop.org" <intel-xe@lists.freedesktop.org>,
"Bjorn Helgaas" <bhelgaas@google.com>,
"Logan Gunthorpe" <logang@deltatee.com>,
"linux-pci@vger.kernel.org" <linux-pci@vger.kernel.org>,
"Thomas Hellström" <thomas.hellstrom@linux.intel.com>
Subject: Re: [PATCH v4 1/5] PCI/P2PDMA: Don't enforce ACS check for device functions of Intel GPUs
Date: Tue, 23 Sep 2025 16:02:52 -0700 [thread overview]
Message-ID: <aNMnHJwWfFPgGYbW@lstrano-desk.jf.intel.com> (raw)
In-Reply-To: <5f9f8cb6-2279-4692-b83d-570cf81886ab@amd.com>
On Tue, Sep 23, 2025 at 03:48:59PM +0200, Christian König wrote:
> On 23.09.25 15:38, Jason Gunthorpe wrote:
> > On Tue, Sep 23, 2025 at 03:28:53PM +0200, Christian König wrote:
> >> On 23.09.25 15:12, Jason Gunthorpe wrote:
> >>>> When you want to communicate addresses in a device specific address
> >>>> space you need a device specific type for that and not abuse
> >>>> phys_addr_t.
> >>>
> >>> I'm not talking about abusing phys_addr_t, I'm talking about putting a
> >>> legitimate CPU address in there.
> >>>
> >>> You can argue it is hack in Xe to reverse engineer the VRAM offset
> >>> from a CPU physical, and I would be sympathetic, but it does allow
> >>> VFIO to be general not specialized to Xe.
> >>
> >> No, exactly that doesn't work for all use cases. That's why I'm
> >> pushing back so hard on using phys_addr_t or CPU addresses.
> >>
> >> See the CPU address is only valid temporary because the VF BAR is
> >> only a window into the device memory.
> >
> > I know, generally yes.
> >
> > But there should be no way that a VFIO VF driver in the hypervisor
> > knows what is currently mapped to the VF's BAR. The only way I can
> > make sense of what Xe is doing here is if the VF BAR is a static
> > aperture of the VRAM..
> >
> > Would be nice to know the details.
>
> Yeah, that's why i asked how VFIO gets the information which parts of the it's BAR should be part of the DMA-buf?
>
Vivek can confirm for sure, but I believe the VF knows the size of its
VRAM space and simply wants to pass along the offset and allocation
order within that space. The PF knows where the VF's VRAM is located in
the BAR, and the combination of the VF base offset and the individual
allocation offset is what gets programmed into the PF page tables.
> That would be really interesting to know.
>
> Regards,
> Christian.
>
> >
> >> What Simona agreed on is exactly what I proposed as well, that you
> >> get a private interface for exactly that use case.
Do you have a link to the conversation with Simona? I'd lean towards a
kernel-wide generic interface if possible.
Regarding phys_addr_t vs. dma_addr_t, I don't have a strong opinion. But
what about using an array of unsigned long with the order encoded
similarly to HMM PFNs? Drivers can interpret the address portion of the
data based on their individual use cases.
Also, to make this complete—do you think we'd need to teach TTM to
understand this new type of dma-buf, like we do for SG list dma-bufs? It
would seem a bit pointless if we just had to convert this new dma-buf
back into an SG list to pass it along to TTM.
The scope of this seems considerably larger than the original series. It
would be good for all stakeholders to reach an agreement so Vivek can
move forward.
Matt
> >
> > A "private" interface to exchange phys_addr_t between at least
> > VFIO/KVM/iommufd - sure no complaint with that.
> >
> > Jason
>
next prev parent reply other threads:[~2025-09-23 23:03 UTC|newest]
Thread overview: 46+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <20250915072428.1712837-1-vivek.kasireddy@intel.com>
2025-09-15 7:21 ` [PATCH v4 1/5] PCI/P2PDMA: Don't enforce ACS check for device functions of Intel GPUs Vivek Kasireddy
2025-09-15 15:33 ` Logan Gunthorpe
2025-09-16 17:34 ` Bjorn Helgaas
2025-09-16 17:59 ` Jason Gunthorpe
2025-09-16 17:57 ` Jason Gunthorpe
2025-09-18 6:16 ` Kasireddy, Vivek
2025-09-18 12:04 ` Jason Gunthorpe
2025-09-19 6:22 ` Kasireddy, Vivek
2025-09-19 12:29 ` Jason Gunthorpe
2025-09-22 6:59 ` Kasireddy, Vivek
2025-09-22 11:22 ` Christian König
2025-09-22 12:20 ` Jason Gunthorpe
2025-09-22 12:25 ` Christian König
2025-09-22 12:29 ` Jason Gunthorpe
2025-09-22 13:20 ` Christian König
2025-09-22 13:27 ` Jason Gunthorpe
2025-09-22 13:57 ` Christian König
2025-09-22 14:00 ` Jason Gunthorpe
2025-09-23 5:53 ` Kasireddy, Vivek
2025-09-23 6:25 ` Matthew Brost
2025-09-23 6:44 ` Matthew Brost
2025-09-23 7:52 ` Christian König
2025-09-23 12:15 ` Jason Gunthorpe
2025-09-23 12:45 ` Christian König
2025-09-23 13:12 ` Jason Gunthorpe
2025-09-23 13:28 ` Christian König
2025-09-23 13:38 ` Jason Gunthorpe
2025-09-23 13:48 ` Christian König
2025-09-23 23:02 ` Matthew Brost [this message]
2025-09-24 8:29 ` Christian König
2025-09-24 6:50 ` Kasireddy, Vivek
2025-09-24 7:21 ` Christian König
2025-09-25 3:56 ` Kasireddy, Vivek
2025-09-25 10:51 ` Thomas Hellström
2025-09-25 11:28 ` Christian König
2025-09-25 13:11 ` Thomas Hellström
2025-09-25 13:33 ` Jason Gunthorpe
2025-09-25 15:40 ` Thomas Hellström
2025-09-25 15:55 ` Jason Gunthorpe
2025-09-26 6:12 ` Kasireddy, Vivek
2025-09-23 13:36 ` Christoph Hellwig
2025-09-23 6:01 ` Kasireddy, Vivek
2025-09-22 12:12 ` Jason Gunthorpe
2025-09-24 16:13 ` Simon Richter
2025-09-24 17:12 ` Jason Gunthorpe
2025-09-25 4:06 ` 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=aNMnHJwWfFPgGYbW@lstrano-desk.jf.intel.com \
--to=matthew.brost@intel.com \
--cc=bhelgaas@google.com \
--cc=christian.koenig@amd.com \
--cc=dri-devel@lists.freedesktop.org \
--cc=intel-xe@lists.freedesktop.org \
--cc=jgg@nvidia.com \
--cc=linux-pci@vger.kernel.org \
--cc=logang@deltatee.com \
--cc=simona.vetter@ffwll.ch \
--cc=thomas.hellstrom@linux.intel.com \
--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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox