[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20180406093307.s7wkhpmddd5d4r7a@sirius.home.kraxel.org>
Date: Fri, 6 Apr 2018 11:33:07 +0200
From: Gerd Hoffmann <kraxel@...hat.com>
To: christian.koenig@....com
Cc: dri-devel@...ts.freedesktop.org,
Daniel Vetter <daniel.vetter@...ll.ch>,
Tomeu Vizoso <tomeu.vizoso@...labora.com>,
David Airlie <airlied@...ux.ie>,
open list <linux-kernel@...r.kernel.org>,
qemu-devel@...gnu.org,
"moderated list:DMA BUFFER SHARING FRAMEWORK"
<linaro-mm-sig@...ts.linaro.org>,
"open list:KERNEL SELFTEST FRAMEWORK"
<linux-kselftest@...r.kernel.org>, Shuah Khan <shuah@...nel.org>,
"open list:DMA BUFFER SHARING FRAMEWORK"
<linux-media@...r.kernel.org>
Subject: Re: [PATCH v2] Add udmabuf misc device
Hi,
> The pages backing a DMA-buf are not allowed to move (at least not without a
> 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.
The fork() issue should go away with shared memory pages (no cow).
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
Powered by blists - more mailing lists