On Mon, Feb 8, 2021 at 9:51 PM John Stultz <john.stultz@xxxxxxxxxx> wrote: > On Mon, Feb 8, 2021 at 2:08 AM Daniel Vetter <daniel@xxxxxxxx> 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@xxxxxxxx> > > > Cc: Sumit Semwal <sumit.semwal@xxxxxxxxxx> > > > Cc: Liam Mark <lmark@xxxxxxxxxxxxxx> > > > Cc: Chris Goldsworthy <cgoldswo@xxxxxxxxxxxxxx> > > > Cc: Laura Abbott <labbott@xxxxxxxxxx> > > > Cc: Brian Starkey <Brian.Starkey@xxxxxxx> > > > Cc: Hridya Valsaraju <hridya@xxxxxxxxxx> > > > Cc: Suren Baghdasaryan <surenb@xxxxxxxxxx> > > > Cc: Sandeep Patil <sspatil@xxxxxxxxxx> > > > Cc: Daniel Mentz <danielmentz@xxxxxxxxxx> > > > Cc: Ørjan Eide <orjan.eide@xxxxxxx> > > > Cc: Robin Murphy <robin.murphy@xxxxxxx> > > > Cc: Ezequiel Garcia <ezequiel@xxxxxxxxxxxxx> > > > Cc: Simon Ser <contact@xxxxxxxxxxx> > > > Cc: James Jones <jajones@xxxxxxxxxx> > > > Cc: linux-media@xxxxxxxxxxxxxxx > > > Cc: dri-devel@xxxxxxxxxxxxxxxxxxxxx > > > Signed-off-by: John Stultz <john.stultz@xxxxxxxxxx> > > > > 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 _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel