On Mon, Feb 8, 2021 at 9:51 PM John Stultz <[email protected]> wrote: > On Mon, Feb 8, 2021 at 2:08 AM Daniel Vetter <[email protected]> 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 <[email protected]> > > > Cc: Sumit Semwal <[email protected]> > > > Cc: Liam Mark <[email protected]> > > > Cc: Chris Goldsworthy <[email protected]> > > > Cc: Laura Abbott <[email protected]> > > > Cc: Brian Starkey <[email protected]> > > > Cc: Hridya Valsaraju <[email protected]> > > > Cc: Suren Baghdasaryan <[email protected]> > > > Cc: Sandeep Patil <[email protected]> > > > Cc: Daniel Mentz <[email protected]> > > > Cc: Ørjan Eide <[email protected]> > > > Cc: Robin Murphy <[email protected]> > > > Cc: Ezequiel Garcia <[email protected]> > > > Cc: Simon Ser <[email protected]> > > > Cc: James Jones <[email protected]> > > > Cc: [email protected] > > > Cc: [email protected] > > > Signed-off-by: John Stultz <[email protected]> > > > > 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?
Just paranoia really - on the linux side where we allocate most buffers (even shared ones) with the driver, that allocator info isn't that meaningful, it really just tells you which code allocated/exported that dma-buf. But on Android, where all shared buffers come from specific heaps, it is rather meaningful information. So I wondered whether e.g. the android dmabuf debug tool uses that to collect per-heap stats, but sounds like no right now. Plus with the chat we've had I think we have a long-term plan for how to expose that information properly. > 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. Yeah for debug this makes sense. a-b: me if you want that somewhere on the patches. -Daniel -- Daniel Vetter Software Engineer, Intel Corporation http://blog.ffwll.ch

