[RFC][PATCH 2/2] dma-buf: heaps: Fix the name used when exporting dmabufs to be the actual heap name

John Stultz john.stultz at linaro.org
Mon Feb 8 20:50:49 UTC 2021


On Mon, Feb 8, 2021 at 2:08 AM Daniel Vetter <daniel at ffwll.ch> wrote:
> On Sat, Feb 06, 2021 at 05:47:48AM +0000, John Stultz wrote:
> > By default dma_buf_export() sets the exporter name to be
> > KBUILD_MODNAME. Unfortunately this may not be identical to the
> > string used as the heap name (ie: "system" vs "system_heap").
> >
> > This can cause some minor confusion with tooling, and there is
> > the future potential where multiple heap types may be exported
> > by the same module (but would all have the same name).
> >
> > So to avoid all this, set the exporter exp_name to the heap name.
> >
> > Cc: Daniel Vetter <daniel at ffwll.ch>
> > Cc: Sumit Semwal <sumit.semwal at linaro.org>
> > Cc: Liam Mark <lmark at codeaurora.org>
> > Cc: Chris Goldsworthy <cgoldswo at codeaurora.org>
> > Cc: Laura Abbott <labbott at kernel.org>
> > Cc: Brian Starkey <Brian.Starkey at arm.com>
> > Cc: Hridya Valsaraju <hridya at google.com>
> > Cc: Suren Baghdasaryan <surenb at google.com>
> > Cc: Sandeep Patil <sspatil at google.com>
> > Cc: Daniel Mentz <danielmentz at google.com>
> > Cc: Ørjan Eide <orjan.eide at arm.com>
> > Cc: Robin Murphy <robin.murphy at arm.com>
> > Cc: Ezequiel Garcia <ezequiel at collabora.com>
> > Cc: Simon Ser <contact at emersion.fr>
> > Cc: James Jones <jajones at nvidia.com>
> > Cc: linux-media at vger.kernel.org
> > Cc: dri-devel at lists.freedesktop.org
> > Signed-off-by: John Stultz <john.stultz at linaro.org>
>
> Looks reasonable to me.
>
> I guess the main worry is "does this mean heap names become uapi", in
> which case I'm maybe not so sure anymore how this will tie into the
> overall gpu memory accounting story.
>
> Since for dma-buf heaps one name per buffer is perfectly fine, since
> dma-buf heaps aren't very dynamic. But on discrete gpu drivers buffers
> move, so baking in the assumption that "exporter name = resource usage for
> this buffer" is broken.

I suspect I'm missing a subtlety in what you're describing. My sense
of the exporter name doesn't account for a buffer's usage, it just
describes what code allocated it and implicitly which dmabuf_ops
handles it.  Maybe could you give a more specific example of what
you're hoping to avoid?

To me this patch is mostly just a consistency/least-surprise thing, so
the heaps exporter name matches the string used for the heap's chardev
device (the interface used to allocate it) in output like
debugfs/dma_buf/bufinfo.

thanks
-john


More information about the dri-devel mailing list