From: Oleksandr Andrushchenko <andr2000@gmail.com>
To: Dongwon Kim <dongwon.kim@intel.com>
Cc: "Roger Pau Monné" <roger.pau@citrix.com>,
"Paul Durrant" <Paul.Durrant@citrix.com>,
"jgross@suse.com" <jgross@suse.com>,
"Artem Mygaiev" <Artem_Mygaiev@epam.com>,
"airlied@linux.ie" <airlied@linux.ie>,
"Oleksandr_Andrushchenko@epam.com"
<Oleksandr_Andrushchenko@epam.com>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
"dri-devel@lists.freedesktop.org"
<dri-devel@lists.freedesktop.org>,
"Potrola, MateuszX" <mateuszx.potrola@intel.com>,
"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
"daniel.vetter@intel.com" <daniel.vetter@intel.com>,
"boris.ostrovsky@oracle.com" <boris.ostrovsky@oracle.com>,
"Matt Roper" <matthew.d.roper@intel.com>
Subject: Re: [Xen-devel] [PATCH 0/1] drm/xen-zcopy: Add Xen zero-copy helper DRM driver
Date: Thu, 19 Apr 2018 11:19:38 +0300 [thread overview]
Message-ID: <b18acfeb-64fc-74ff-1ac1-3b8c6da2b73b@gmail.com> (raw)
In-Reply-To: <20180418160115.GA20588@downor-Z87X-UD5H>
On 04/18/2018 07:01 PM, Dongwon Kim wrote:
> On Wed, Apr 18, 2018 at 03:42:29PM +0300, Oleksandr Andrushchenko wrote:
>> On 04/18/2018 01:55 PM, Roger Pau Monné wrote:
>>> On Wed, Apr 18, 2018 at 01:39:35PM +0300, Oleksandr Andrushchenko wrote:
>>>> On 04/18/2018 01:18 PM, Paul Durrant wrote:
>>>>>> -----Original Message-----
>>>>>> From: Xen-devel [mailto:xen-devel-bounces@lists.xenproject.org] On Behalf
>>>>>> Of Roger Pau Monné
>>>>>> Sent: 18 April 2018 11:11
>>>>>> To: Oleksandr Andrushchenko <andr2000@gmail.com>
>>>>>> Cc: jgross@suse.com; Artem Mygaiev <Artem_Mygaiev@epam.com>;
>>>>>> Dongwon Kim <dongwon.kim@intel.com>; airlied@linux.ie;
>>>>>> Oleksandr_Andrushchenko@epam.com; linux-kernel@vger.kernel.org; dri-
>>>>>> devel@lists.freedesktop.org; Potrola, MateuszX
>>>>>> <mateuszx.potrola@intel.com>; xen-devel@lists.xenproject.org;
>>>>>> daniel.vetter@intel.com; boris.ostrovsky@oracle.com; Matt Roper
>>>>>> <matthew.d.roper@intel.com>
>>>>>> Subject: Re: [Xen-devel] [PATCH 0/1] drm/xen-zcopy: Add Xen zero-copy
>>>>>> helper DRM driver
>>>>>>
>>>>>> On Wed, Apr 18, 2018 at 11:01:12AM +0300, Oleksandr Andrushchenko
>>>>>> wrote:
>>>>>>> On 04/18/2018 10:35 AM, Roger Pau Monné wrote:
>>>>>> After speaking with Oleksandr on IRC, I think the main usage of the
>>>>>> gntdev extension is to:
>>>>>>
>>>>>> 1. Create a dma-buf from a set of grant references.
>>>>>> 2. Share dma-buf and get a list of grant references.
>>>>>>
>>>>>> I think this set of operations could be broken into:
>>>>>>
>>>>>> 1.1 Map grant references into user-space using the gntdev.
>>>>>> 1.2 Create a dma-buf out of a set of user-space virtual addresses.
>>>>>>
>>>>>> 2.1 Map a dma-buf into user-space.
>>>>>> 2.2 Get grefs out of the user-space addresses where the dma-buf is
>>>>>> mapped.
>>>>>>
>>>>>> So it seems like what's actually missing is a way to:
>>>>>>
>>>>>> - Create a dma-buf from a list of user-space virtual addresses.
>>>>>> - Allow to map a dma-buf into user-space, so it can then be used with
>>>>>> the gntdev.
>>>>>>
>>>>>> I think this is generic enough that it could be implemented by a
>>>>>> device not tied to Xen. AFAICT the hyper_dma guys also wanted
>>>>>> something similar to this.
>>>> Ok, so just to summarize, xen-zcopy/hyper-dmabuf as they are now,
>>>> are no go from your POV?
> FYI,
>
> our use-case is "surface sharing" or "graphic obj sharing" where a client
> application in one guest renders and export this render target(e.g. EGL surface)
> as dma-buf. This dma-buf is then exported to another guest/host via hyper_dmabuf
> drv where a compositor is running. This importing domain creates a dmabuf with
> shared reference then it is imported as EGL image that later can be used as
> texture object via EGL api.
> Mapping dmabuf to the userspace or vice versa
> might be possible with modifying user space drivers/applications but it is an
> unnecessary extra step from our perspective.
+1. I also feel like if it is implemented in the kernel space it
will be *much* more easier then inventing workarounds with
gntdev, user-space and helper dma-buf driver (which obviously can be
implemented). Of course, this approach is easier for Xen as we do not
touch its kernel code ;)
But there is a demand for changes as number of embedded/multimedia use-cases
is constantly growing and we have to react.
> Also, we want to keep all objects
> in the kernel level.
>
>>> My opinion is that there seems to be a more generic way to implement
>>> this, and thus I would prefer that one.
>>>
>>>> Instead, we have to make all that fancy stuff
>>>> with VAs <-> device-X and have that device-X driver live out of drivers/xen
>>>> as it is not a Xen specific driver?
>>> That would be my preference if feasible, simply because it can be
>>> reused by other use-cases that need to create dma-bufs in user-space.
>> There is a use-case I have: a display unit on my target has a DMA
>> controller which can't do scatter-gather, e.g. it only expects a
>> single starting address of the buffer.
>> In order to create a dma-buf from grefs in this case
>> I allocate memory with dma_alloc_xxx and then balloon pages of the
>> buffer and finally map grefs onto this DMA buffer.
>> This way I can give this shared buffer to the display unit as its bus
>> addresses are contiguous.
>>
>> With the proposed solution (gntdev + device-X) I won't be able to achieve
>> this,
>> as I have no control over from where gntdev/balloon drivers get the pages
>> (even more, those can easily be out of DMA address space of the display
>> unit).
>>
>> Thus, even if implemented, I can't use this approach.
>>> In any case I just knew about dma-bufs this morning, there might be
>>> things that I'm missing.
>>>
>>> Roger.
next prev parent reply other threads:[~2018-04-19 8:19 UTC|newest]
Thread overview: 51+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-03-29 13:19 [PATCH 0/1] drm/xen-zcopy: Add Xen zero-copy helper DRM driver Oleksandr Andrushchenko
2018-03-29 13:19 ` [PATCH 1/1] " Oleksandr Andrushchenko
2018-04-03 9:47 ` Daniel Vetter
2018-04-06 11:25 ` Oleksandr Andrushchenko
2018-04-09 8:27 ` Daniel Vetter
2018-04-16 14:33 ` [PATCH 0/1] " Oleksandr Andrushchenko
2018-04-16 19:29 ` Dongwon Kim
2018-04-17 7:59 ` Daniel Vetter
2018-04-17 8:19 ` Oleksandr Andrushchenko
2018-04-17 20:57 ` Dongwon Kim
2018-04-18 6:38 ` Oleksandr Andrushchenko
2018-04-18 7:35 ` [Xen-devel] " Roger Pau Monné
2018-04-18 8:01 ` Oleksandr Andrushchenko
2018-04-18 10:10 ` Roger Pau Monné
2018-04-18 10:18 ` Paul Durrant
2018-04-18 10:21 ` Oleksandr Andrushchenko
2018-04-18 10:23 ` Paul Durrant
2018-04-18 10:31 ` Oleksandr Andrushchenko
2018-04-18 10:39 ` Oleksandr Andrushchenko
2018-04-18 10:55 ` Roger Pau Monné
2018-04-18 12:42 ` Oleksandr Andrushchenko
2018-04-18 16:01 ` Dongwon Kim
2018-04-19 8:19 ` Oleksandr Andrushchenko [this message]
2018-04-20 7:22 ` Daniel Vetter
2018-04-20 7:19 ` Daniel Vetter
2018-04-20 11:25 ` Oleksandr Andrushchenko
2018-04-23 11:52 ` Wei Liu
2018-04-23 12:10 ` Oleksandr Andrushchenko
2018-04-23 22:41 ` Boris Ostrovsky
2018-04-24 5:43 ` Oleksandr Andrushchenko
2018-04-24 7:51 ` Juergen Gross
2018-04-24 8:07 ` Oleksandr Andrushchenko
2018-04-24 8:40 ` Juergen Gross
2018-04-24 9:03 ` Oleksandr Andrushchenko
2018-04-24 9:08 ` Juergen Gross
2018-04-24 9:13 ` Oleksandr Andrushchenko
2018-04-24 10:01 ` Wei Liu
2018-04-24 10:14 ` Oleksandr Andrushchenko
2018-04-24 10:24 ` Juergen Gross
2018-04-24 11:54 ` Daniel Vetter
2018-04-24 11:59 ` Oleksandr Andrushchenko
2018-04-24 20:35 ` Dongwon Kim
2018-04-25 6:07 ` Oleksandr Andrushchenko
2018-04-25 6:34 ` Daniel Vetter
2018-04-25 17:16 ` Dongwon Kim
2018-04-27 6:54 ` Oleksandr Andrushchenko
2018-04-25 6:12 ` Juergen Gross
2018-04-30 18:43 ` Dongwon Kim
2018-04-18 17:01 ` Dongwon Kim
2018-04-19 8:14 ` Oleksandr Andrushchenko
2018-04-19 17:55 ` Dongwon Kim
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=b18acfeb-64fc-74ff-1ac1-3b8c6da2b73b@gmail.com \
--to=andr2000@gmail.com \
--cc=Artem_Mygaiev@epam.com \
--cc=Oleksandr_Andrushchenko@epam.com \
--cc=Paul.Durrant@citrix.com \
--cc=airlied@linux.ie \
--cc=boris.ostrovsky@oracle.com \
--cc=daniel.vetter@intel.com \
--cc=dongwon.kim@intel.com \
--cc=dri-devel@lists.freedesktop.org \
--cc=jgross@suse.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mateuszx.potrola@intel.com \
--cc=matthew.d.roper@intel.com \
--cc=roger.pau@citrix.com \
--cc=xen-devel@lists.xenproject.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox