lkml.org 
[lkml]   [2024]   [May]   [7]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: Safety of opening up /dev/dma_heap/* to physically present users (udev uaccess tag) ?
    On Tue, May 07, 2024 at 06:19:18PM +0300, Dmitry Baryshkov wrote:
    > On Tue, 7 May 2024 at 18:15, Bryan O'Donoghue wrote:
    > > On 07/05/2024 16:09, Dmitry Baryshkov wrote:
    > > > Ah, I see. Then why do you require the DMA-ble buffer at all? If you are
    > > > providing data to VPU or DRM, then you should be able to get the buffer
    > > > from the data-consuming device.
    > >
    > > Because we don't necessarily know what the consuming device is, if any.
    > >
    > > Could be VPU, could be Zoom/Hangouts via pipewire, could for argument
    > > sake be GPU or DSP.
    > >
    > > Also if we introduce a dependency on another device to allocate the
    > > output buffers - say always taking the output buffer from the GPU, then
    > > we've added another dependency which is more difficult to guarantee
    > > across different arches.
    >
    > Yes. And it should be expected. It's a consumer who knows the
    > restrictions on the buffer. As I wrote, Zoom/Hangouts should not
    > require a DMA buffer at all.

    Why not ? If you want to capture to a buffer that you then compose on
    the screen without copying data, dma-buf is the way to go. That's the
    Linux solution for buffer sharing.

    > Applications should be able to allocate
    > the buffer out of the generic memory.

    If applications really want to copy data and degrade performance, they
    are free to shoot themselves in the foot of course. Applications (or
    compositors) need to support copying as a fallback in the worst case,
    but all components should at least aim for the zero-copy case.

    > GPUs might also have different
    > requirements. Consider GPUs with VRAM. It might be beneficial to
    > allocate a buffer out of VRAM rather than generic DMA mem.

    Absolutely. For that we need a centralized device memory allocator in
    userspace. An effort was started by James Jones in 2016, see [1]. It has
    unfortunately stalled. If I didn't have a camera framework to develop, I
    would try to tackle that issue :-)

    [1] https://www.x.org/wiki/Events/XDC2016/Program/Unix_Device_Memory_Allocation.pdf

    --
    Regards,

    Laurent Pinchart

    \
     
     \ /
      Last update: 2024-05-27 18:19    [W:6.776 / U:0.028 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site