[Linaro-mm-sig] [PATCH v5 00/40] drm/msm: sparse / "VM_BIND" support

Rob Clark robdclark at gmail.com
Mon May 19 21:24:58 UTC 2025


On Mon, May 19, 2025 at 2:15 PM Dave Airlie <airlied at gmail.com> wrote:
>
> On Tue, 20 May 2025 at 03:54, Rob Clark <robdclark at gmail.com> wrote:
> >
> > From: Rob Clark <robdclark at chromium.org>
> >
> > Conversion to DRM GPU VA Manager[1], and adding support for Vulkan Sparse
> > Memory[2] in the form of:
> >
> > 1. A new VM_BIND submitqueue type for executing VM MSM_SUBMIT_BO_OP_MAP/
> >    MAP_NULL/UNMAP commands
> >
> > 2. A new VM_BIND ioctl to allow submitting batches of one or more
> >    MAP/MAP_NULL/UNMAP commands to a VM_BIND submitqueue
> >
> > I did not implement support for synchronous VM_BIND commands.  Since
> > userspace could just immediately wait for the `SUBMIT` to complete, I don't
> > think we need this extra complexity in the kernel.  Synchronous/immediate
> > VM_BIND operations could be implemented with a 2nd VM_BIND submitqueue.
>
> This seems suboptimal for Vulkan userspaces. non-sparse binds are all
> synchronous, you are adding an extra ioctl to wait, or do you manage
> these via a different mechanism?

Normally it's just an extra in-fence for the SUBMIT ioctl to ensure
the binds happen before cmd execution

When it comes to UAPI, it's easier to add something later, than to
take something away, so I don't see a problem adding synchronous binds
later if that proves to be needed.  But I don't think it is.

BR,
-R


More information about the dri-devel mailing list