Received: by 10.192.165.156 with SMTP id m28csp1400919imm; Wed, 18 Apr 2018 09:04:31 -0700 (PDT) X-Google-Smtp-Source: AIpwx4/Oo0MBuyVI3U4BSLijCav3LZ3kHSD1j8LUEvqgYAHDp5qFHr5jNvtbPVuyuTkPk4lGAhEW X-Received: by 10.167.130.151 with SMTP id s23mr2512291pfm.106.1524067471718; Wed, 18 Apr 2018 09:04:31 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1524067471; cv=none; d=google.com; s=arc-20160816; b=CMZOyOVGSeA18hxuEIur2gi259S/AojxIHQsKOucWRmCxvvD6ZM8Hh9vtM8kuu9Nlz SSBNwdwIINQpIO4adRyb+jOqOUYPf8tRcrgCFdWScFE0mPPPh9IP4ecrI1Ms1KRwrxZu 8DFNJKAh2G+MENTqCNmIpnIdWIIIk/bMFpJd8CG1J4upe7Ed3jXwc0rq1sQL0sAQKXia MDzRnY7vl/1n8a/bMcDzYccSC/G58R8lNRcJ0p/Hsi8O2e00Wd2fAc/Fe9alYdaDKKvf ehV7hZSdUhVzf4JCeXaPCj0qLBRkSOuTYAych7NlPdK76O0GWqIvlafZhenHhNGy7kT2 AVhQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:user-agent:in-reply-to :content-transfer-encoding:content-disposition:mime-version :references:message-id:subject:cc:to:from:date :arc-authentication-results; bh=U9CnbeW+XZbrJALdSlDIdUmAdXWzxZDNByp7jQdE15w=; b=kyckvyBNvq8iErsPIop9VGQ9lzDEmjioUZnvQjBSOZfriWrCZ66Rl98ze45lpmUwrQ eqSxB0QzyNaWw9RD3GBd3YLByVlqh3aykN2JFwJfkknsCXClcjsp9SgyG5GpHG+Mz8pW 4I/gkmXEHw5ofVEo7y7qe29m23U1YkTStDOPXhdhNRq8GuklE7j6atNHtOu5NEyVq5Ig jY7rt2SjFZQqj8YmR6zb48VRm49gD9i5qkSyh3ecFcChP4OQdQc4XzxqI+whdD8zuO4Q J/qqA2XEhs0V2V+Dkp0psQsrKFs5p15wCmtzJTaIq6MvWx0wYzc3zRG1WjY2yMLER5ZY E7tQ== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id d23-v6si1448481pli.454.2018.04.18.09.03.45; Wed, 18 Apr 2018 09:04:31 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752560AbeDRQCD (ORCPT + 99 others); Wed, 18 Apr 2018 12:02:03 -0400 Received: from mga09.intel.com ([134.134.136.24]:64423 "EHLO mga09.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751256AbeDRQCB (ORCPT ); Wed, 18 Apr 2018 12:02:01 -0400 X-Amp-Result: UNSCANNABLE X-Amp-File-Uploaded: False Received: from fmsmga005.fm.intel.com ([10.253.24.32]) by orsmga102.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 18 Apr 2018 09:01:56 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.48,465,1517904000"; d="scan'208";a="221430902" Received: from downor-z87x-ud5h.fm.intel.com (HELO downor-Z87X-UD5H) ([10.1.122.107]) by fmsmga005.fm.intel.com with ESMTP; 18 Apr 2018 09:01:56 -0700 Date: Wed, 18 Apr 2018 09:01:15 -0700 From: Dongwon Kim To: Oleksandr Andrushchenko Cc: Roger Pau =?iso-8859-1?Q?Monn=E9?= , Paul Durrant , "jgross@suse.com" , Artem Mygaiev , "airlied@linux.ie" , "Oleksandr_Andrushchenko@epam.com" , "linux-kernel@vger.kernel.org" , "dri-devel@lists.freedesktop.org" , "Potrola, MateuszX" , "xen-devel@lists.xenproject.org" , "daniel.vetter@intel.com" , "boris.ostrovsky@oracle.com" , Matt Roper Subject: Re: [Xen-devel] [PATCH 0/1] drm/xen-zcopy: Add Xen zero-copy helper DRM driver Message-ID: <20180418160115.GA20588@downor-Z87X-UD5H> References: <20180417075928.GT31310@phenom.ffwll.local> <20180417205744.GA15930@downor-Z87X-UD5H> <41487acb-a67a-8933-d0c3-702c19b0938e@gmail.com> <20180418073508.ptvntwedczpvl7bx@MacBook-Pro-de-Roger.local> <20180418101058.hyqk3gr3b2ibxswu@MacBook-Pro-de-Roger.local> <7d6710a76b9a42299139d7914358ed52@AMSPEX02CL03.citrite.net> <46489b33-e6fc-b874-6cd4-dbb94c002ef8@gmail.com> <20180418105526.a4qtlhofrn3gubsl@MacBook-Pro-de-Roger.local> <11ec6f16-6eff-6439-2e66-f1ef14cdff21@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <11ec6f16-6eff-6439-2e66-f1ef14cdff21@gmail.com> User-Agent: Mutt/1.5.24 (2015-08-30) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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 > >>>>Cc: jgross@suse.com; Artem Mygaiev ; > >>>>Dongwon Kim ; airlied@linux.ie; > >>>>Oleksandr_Andrushchenko@epam.com; linux-kernel@vger.kernel.org; dri- > >>>>devel@lists.freedesktop.org; Potrola, MateuszX > >>>>; xen-devel@lists.xenproject.org; > >>>>daniel.vetter@intel.com; boris.ostrovsky@oracle.com; Matt Roper > >>>> > >>>>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. 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. >