Re: [PATCH drm-next v5 00/14] [RFC] DRM GPUVA Manager & Nouveau VM_BIND UAPI

Oded Gabbay
2023-06-20T07:36:17Z

On Tue, Jun 20, 2023 at 10:13 AM Dave Airlie <airlied@gmail.com> wrote:
>
> On Tue, 20 Jun 2023 at 17:06, Oded Gabbay <ogabbay@kernel.org> wrote:
> >
> > On Tue, Jun 20, 2023 at 7:05 AM Dave Airlie <airlied@gmail.com> wrote:
> > >
> > > Since this is feature is nouveau only currently and doesn't disturb
> > > the current nouveau code paths, I'd like to try and get this work in
> > > tree so other drivers can work from it.
> > >
> > > If there are any major objections to this, I'm happy to pull it back
> > > out again, but I'd like to get some acks/rb in the next couple of days
> > > in order to land some of it.
> > >
> > > Dave.
> > >
> > >
> > > >
> > > > forgot to add your email address to the patch series - sorry about that.
> > > >
> > > > This series (v5) contains the Documentation changes you requested.
> > > >
> > > > - Danilo
> > > >
> > > > On 6/20/23 02:42, Danilo Krummrich wrote:
> > > > > This patch series provides a new UAPI for the Nouveau driver in order to
> > > > > support Vulkan features, such as sparse bindings and sparse residency.
> > > > >
> > > > > Furthermore, with the DRM GPUVA manager it provides a new DRM core feature to
> > > > > keep track of GPU virtual address (VA) mappings in a more generic way.
> > > > >
> > > > > The DRM GPUVA manager is indented to help drivers implement userspace-manageable
> > > > > GPU VA spaces in reference to the Vulkan API. In order to achieve this goal it
> > > > > serves the following purposes in this context.
> > > > >
> > > > > 1) Provide infrastructure to track GPU VA allocations and mappings,
> > > > > making use of the maple_tree.
> > > > >
> > > > > 2) Generically connect GPU VA mappings to their backing buffers, in
> > > > > particular DRM GEM objects.
> > Will this manager be able to connect GPU VA mappings to host memory
> > allocations (aka user pointers) ?
> >
> > I only skimmed over the uapi definitions, but from that quick glance I
> > saw you can only pass a (gem) handle to the vm bind uapi.
> >
> > I think it is an important feature because you don't want to have two
> > GPU VA managers running in your driver (if that's even possible).
> > Maybe we should at least try to make sure the uapi is/will be
> > compatible with such an extension.
> >
>
> I think that would have to be a new uAPI entry point anyways, since
> managing user ptrs is extra, but the uAPI is nouveau specific and
> nouveau has no hostptr support as of now.
>
> The gpuva manager is kernel internal, I think adding host ptr tracking
> is useful, but I don't think it's a blocker right now.
>
> One of the reasons I'd like to get this in the tree is to add things
> like that instead of overloading this initial patchset with feature
> creep.
>
> Dave.
ok, that makes sense.
Thanks,
Oded