Received: by 10.192.165.156 with SMTP id m28csp1185244imm; Wed, 18 Apr 2018 05:43:57 -0700 (PDT) X-Google-Smtp-Source: AIpwx4+YQlYM2nxC1c/ymTgMxPAGoSr6lP/WcY4ItgYGmd9CP83ihPuVw2eqbFQGIzvT43WebJIX X-Received: by 10.101.99.90 with SMTP id p26mr1637995pgv.188.1524055437178; Wed, 18 Apr 2018 05:43:57 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1524055437; cv=none; d=google.com; s=arc-20160816; b=ZIORyouIIu9+jSpYZ6csUK5DWBrBLC2Cp3idFFfQd4ikdNOiHryciEPSvdubPZNQEJ rquZfMn+1gGo9XUuLuOSdIWceiEtUKwm8VkCERBFe9hdSfLWxTlk/RTbruS3nLHNTnim EbhlpIZLfhHsNvLfwrdNEEEddJs8ZBrcEr02iGn1H3srRPQrDORUnCjiwctgSDaV4fs7 oWL2SNL7AFFBVcGequYIEfsHLdlOKvv7apR+JtzeXKnJT36LyG+qGNRv8yalUljglU46 +u04dPEP+dhKiGQ+Exs9vgEKJPQ9UbT7t0cmjHGr1Zxa2rteh/K04p1z2URXXFqcFo3p PnUQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-language :content-transfer-encoding:in-reply-to:mime-version:user-agent:date :message-id:from:references:cc:to:subject:dkim-signature :arc-authentication-results; bh=/3BAW0Jm8s16g5tQOcx6J+mP0pX9DKmLc4SjE0vfP98=; b=enI5Kj4mhkMj+g366NmCMpGos3YUaHmYw2mEGX1QDVDx+7rJqCJNc/cLSgiBbvHHTz iLczEa9uCK7vbCbMvnkLVlG3wH8HZQzRcrr6XcUr+DVrLgVsl410rjRmvICIC0kjPqL+ g6brcAtUlmQwuP+da8cxQnUwD/oyv1I4xiQJRQAI6ZOFygZ31sY6e+SA+GrxuLs9LR7y SHqRUdYMVE/3TcK1V/YPHzC2od7alOLF/3iTf2ui5lSNX5iSp/aYC7doUJ+M9ZZy7d3a y+7HlbkDyX+JJoqz6Ou0YcSm7U8TdFjKtpwf7PAg1nhdVQKinlk+3pUP5siYwirBzPZZ 3uJQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=Ouah+Ip6; 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; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id ba7-v6si1212435plb.347.2018.04.18.05.43.43; Wed, 18 Apr 2018 05:43:57 -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; dkim=pass header.i=@gmail.com header.s=20161025 header.b=Ouah+Ip6; 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; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753694AbeDRMmg (ORCPT + 99 others); Wed, 18 Apr 2018 08:42:36 -0400 Received: from mail-lf0-f66.google.com ([209.85.215.66]:43494 "EHLO mail-lf0-f66.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753364AbeDRMmd (ORCPT ); Wed, 18 Apr 2018 08:42:33 -0400 Received: by mail-lf0-f66.google.com with SMTP id v207-v6so2410408lfa.10 for ; Wed, 18 Apr 2018 05:42:33 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=subject:to:cc:references:from:message-id:date:user-agent :mime-version:in-reply-to:content-transfer-encoding:content-language; bh=/3BAW0Jm8s16g5tQOcx6J+mP0pX9DKmLc4SjE0vfP98=; b=Ouah+Ip6So3blHsk84gDcNx1DY5L/elKrlG1kQXr3uE3J48/9DRP/toq+BEGmR/By+ hx55coOUf7d3NPhdkSRde/OGHgVOmslMZ/wI5yKs1oJYxrenjUbls3PjE07XFHmW7HkS D2JAjjQZvRuzM1cKEtPepoWF4Vb5QXpm+puSIYs+VDwkVWqkBAOvIQe+s/cKe3FgqQrm E4XEz8sxBQZik2E1bgKYXSWT4l5wyyWKfBWxluKWSuMeLQ8UVhBmUv7y0GDwsALgKOh1 whHnx9PjqtTVxNut6Cw1PQHMC0cwcC1E6Z0q649GMCOJq/+LL/tsVXGsRY5CiiX7QYN8 yvPw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:cc:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-transfer-encoding :content-language; bh=/3BAW0Jm8s16g5tQOcx6J+mP0pX9DKmLc4SjE0vfP98=; b=ZBZNZaJv4GOeYlrx5JnI7hTS4XVss1fIOJsmfrTT0x49px1xXP1ngvAUtpMhAzgwaz rCUY1brssew3hw0HVTROBGgon49pIscoBFRNllmpI6FhQBIJZbK2gZRuwLQ51Q2ssNLh U5JvklhtDtt4C8TwwLkMewXIoYyKMDtV/6EW3qXCRPGkqRPbyWHDjLnFbxil+mWFa4kE 4YaVjK6ns2/uxuPvNLyKX3C09FaTpJLmdy9TNVUsnBBVuD/NxjQ8mP1KeiQat12ncrT5 KjuNFZgYUSmyd0MRUQiIZ7nJXk/b+N9TXEsHywKuv/Y5bneveGOWy67Na8fuilJ/bPIp QGIQ== X-Gm-Message-State: ALQs6tDYSMIPg4vKHGzDyFVmqBudgPLO/6WQYM32qrV3TYABvWGNbm+i MY1934xBFrxUDZ+xNiYHYlPBkypXHa0= X-Received: by 10.46.5.200 with SMTP id 191mr1507681ljf.8.1524055352122; Wed, 18 Apr 2018 05:42:32 -0700 (PDT) Received: from [10.17.182.9] (ll-74.141.223.85.sovam.net.ua. [85.223.141.74]) by smtp.gmail.com with ESMTPSA id z19sm192278ljz.1.2018.04.18.05.42.30 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 18 Apr 2018 05:42:31 -0700 (PDT) Subject: Re: [Xen-devel] [PATCH 0/1] drm/xen-zcopy: Add Xen zero-copy helper DRM driver To: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= Cc: Paul Durrant , "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 References: <5d8fec7f-956c-378f-be90-f45029385740@gmail.com> <20180416192905.GA18096@downor-Z87X-UD5H> <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> From: Oleksandr Andrushchenko Message-ID: <11ec6f16-6eff-6439-2e66-f1ef14cdff21@gmail.com> Date: Wed, 18 Apr 2018 15:42:29 +0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.7.0 MIME-Version: 1.0 In-Reply-To: <20180418105526.a4qtlhofrn3gubsl@MacBook-Pro-de-Roger.local> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit Content-Language: en-US Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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? > 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.