Hi Daniel, On 07.10.2020 14:01, Daniel Vetter wrote: > On Wed, Oct 7, 2020 at 12:47 PM Marek Szyprowski > <m.szyprowski@xxxxxxxxxxx> wrote: >> On 03.10.2020 11:40, Daniel Vetter wrote: >>>> After he three places above should use pin_user_pages_fast(), then >>>> this whole broken API should be moved into videobuf2-memops.c and a >>>> big fat "THIS DOESN'T WORK" stuck on it. >>>> >>>> videobuf2 should probably use P2P DMA buf for this instead. >>> Yup this should be done with dma_buf instead, and v4l has that. >> Yes, V4L2 has dma_buf support NOW. That days, using so called V4L2 >> USERPTR method was the only way to achieve zero copy buffer sharing >> between devices, so this is just a historical baggage. I've been >> actively involved in implementing that. I've tried to make it secure as >> much as possible assuming the limitation of that approach. With a few >> assumptions it works fine. Buffers are refcounted both by the >> vm_ops->open or by incrementing the refcount of the vm->file. This >> basically works with any sane driver, which doesn't free the mmaped >> buffer until the file is released. This is true for V4L2 and FBdev devices. > I'm not seeing any of that vm->file refcounting going on, so not > seeing anything that prevents the mmap area from being removed. Can > you pls give me some pointers about which code you're thinking of? Well, it was in vb2_get_vma() function, but now I see that it has been lost in fb639eb39154 and 6690c8c78c74 some time ago... Best regards -- Marek Szyprowski, PhD Samsung R&D Institute Poland _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel