From: Demi Marie Obenour <demiobenour@gmail.com>
To: "Christian König" <christian.koenig@amd.com>,
dri-devel@lists.freedesktop.org,
"Xen developer discussion" <xen-devel@lists.xenproject.org>,
linux-media@vger.kernel.org
Cc: Val Packett <val@invisiblethingslab.com>,
Suwit Semal <sumit.semwal@linaro.org>
Subject: Re: Pinned, non-revocable mappings of VRAM: will bad things happen?
Date: Thu, 16 Apr 2026 12:13:34 -0400 [thread overview]
Message-ID: <c7865b27-6bf1-4df1-9520-c9ef6b3ef368@gmail.com> (raw)
In-Reply-To: <b8d04414-18b5-40f7-9ea2-88b30ff5bea0@amd.com>
[-- Attachment #1.1.1: Type: text/plain, Size: 2361 bytes --]
On 4/16/26 05:57, Christian König wrote:
> On 4/16/26 01:27, Demi Marie Obenour wrote:
>> Is it safe to assume that if a dmabuf exporter cannot handle
>> non-revocable, pinned importers, it will fail the import? Or is
>> using dma_buf_pin() unsafe if one does not know the exporter?
>
> Neither.
>
> dma_buf_pin() makes sure that the importer doesn't get any invalidation notifications because the exporter moves the backing store of the buffer around for memory management.
>
> But what is still possible is that the exporter is hot removed, in which case the importer should basically terminate it's DMA operation as soon as possible.
>
> GPU drivers usually reject pin requests to VRAM from DMA-buf importers when that isn't restricted by cgroups for example, because that can otherwise easily result in a deny of service.
>
> Amdgpu only recently started to allow pinning into VRAM to support RDMA without ODP (I think it was ODP, but could be that I mixed up the RDMA three letter code for that feature).
>
>> For context, Xen grant tables do not support revocation. One can ask
>> the guest to unmap the grants, but if the guest doesn't obey the only
>> recourse is to ungracefully kill it. They also do not support page
>> faults, so the pages must be pinned. Right now, grant tables don't
>> support PCI BAR mappings, but that's fixable.
>
> That sounds like an use case for the DMA-buf pin interface.
>
>> How badly is this going to break with dGPU VRAM, if at all? I know
>> that AMDGPU has a fallback when the BAR isn't mappable. What about
>> other drivers? Supporting page faults the way KVM does is going to
>> be extremely hard, so pinned mappings and DMA transfers are vastly
>> preferable.
>
> Well if you only want to share a fixed amount of VRAM then that is pretty much ok.
>
> But when the client VM can trigger pinning on demand without any limitation you can pretty easily have deny of service against the host. That is usually a rather bad idea.
Is there a reasonable way to choose such an amount? Unless I am
mistaken, client workloads are highly non-uniform: a single game or
compute job might well use more VRAM than every other program on the
system combined. Are these workloads impossible to make work well
with pinning?
--
Sincerely,
Demi Marie Obenour (she/her/hers)
[-- Attachment #1.1.2: OpenPGP public key --]
[-- Type: application/pgp-keys, Size: 7253 bytes --]
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
next prev parent reply other threads:[~2026-04-16 16:13 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-04-15 23:27 Pinned, non-revocable mappings of VRAM: will bad things happen? Demi Marie Obenour
2026-04-16 9:57 ` Christian König
2026-04-16 16:13 ` Demi Marie Obenour [this message]
2026-04-17 7:53 ` Christian König
2026-04-17 19:35 ` Demi Marie Obenour
2026-04-20 8:49 ` Christian König
2026-04-20 17:03 ` Demi Marie Obenour
2026-04-20 17:58 ` Christian König
2026-04-20 18:46 ` Demi Marie Obenour
2026-04-20 18:53 ` Christian König
2026-04-20 19:12 ` Demi Marie Obenour
2026-04-21 16:55 ` Val Packett
2026-04-21 17:43 ` Christian König
2026-04-22 1:27 ` Demi Marie Obenour
2026-04-22 2:03 ` Alex Deucher
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=c7865b27-6bf1-4df1-9520-c9ef6b3ef368@gmail.com \
--to=demiobenour@gmail.com \
--cc=christian.koenig@amd.com \
--cc=dri-devel@lists.freedesktop.org \
--cc=linux-media@vger.kernel.org \
--cc=sumit.semwal@linaro.org \
--cc=val@invisiblethingslab.com \
--cc=xen-devel@lists.xenproject.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox