Hi,
The pages backing a DMA-buf are not allowed to move (at least not without aThe fork() issue should go away with shared memory pages (no cow).
patch set I'm currently working on), but for certain MM operations to work
correctly you must be able to modify the page tables entries and move the
pages backing them around.
For example try to use fork() with some copy on write pages with this
approach. You will find that you have only two options to correctly handle
this.
I guess this is the reason why vgem is internally backed by shmem.
Hmm. So I could try to limit the udmabuf driver to shmem too (i.e.
have the ioctl take a shmem filehandle and offset instead of a virtual
address).
But maybe it is better then to just extend vgem, i.e. add support to
create gem objects from existing shmem.
Comments?
cheers,
Gerd