[RFC] dma-buf: Implement test module

Thomas Hellstrom thomas at shipmail.org
Sat Dec 14 04:47:41 PST 2013


On 12/14/2013 01:37 PM, Thierry Reding wrote:
> On Thu, Dec 12, 2013 at 11:30:23PM +0100, Daniel Vetter wrote:
>> On Thu, Dec 12, 2013 at 8:34 PM, Thomas Hellstrom <thellstrom at vmware.com> wrote:
>>> On 12/12/2013 03:36 PM, Thierry Reding wrote:
>>>> This is a simple test module that can be used to allocate, export and
>>>> delete DMA-BUF objects. It can be used to test DMA-BUF sharing in
>>>> systems that lack a real second driver.
>>>>
>>>>
>>> Looks nice. I wonder whether this could be extended to create a "streaming"
>>> dma-buf from a user space mapping. That could be used as a generic way to
>>> implement streaming (user) buffer objects, rather than to add explicit
>>> support for those in, for example, TTM.
>> Atm there's no way to get gpus to unbind their dma-buf mappings, so
>> their essentially pinned forever from first use on.
> Shouldn't this work by simply calling the GEM_CLOSE IOCTL on the handle
> returned by drmPrimeFDToHandle()? I mean that should drop the last
> reference on the GEM object and cause it to be cleaned up (which should
> include detaching the DMA-BUF).

Actually, while the GEM prime implementation appears to pin an exported 
dma-buf on first attach, from the dma-buf documentation it seems 
sufficient to pin it on map or cpu access.

But what I assume Daniel is referring to is that there is no way for 
exporters to tell importers to force unmap() the dma-buf, so that it can be
unpinned?

Daniel, maybe you could elaborate a bit on this?

Thomas

>
> Thierry
>
>
> _______________________________________________
> dri-devel mailing list
> dri-devel at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/dri-devel




More information about the dri-devel mailing list