Received: by 2002:ac0:a5b6:0:0:0:0:0 with SMTP id m51-v6csp217103imm; Thu, 31 May 2018 22:44:26 -0700 (PDT) X-Google-Smtp-Source: ADUXVKL4KNsOJwV1jS1LdDunCKQoydCqnLeOJbFzMuMAktrH9HbyeCanBaq7FTpzJ+ZuCicehyjS X-Received: by 2002:a62:d913:: with SMTP id s19-v6mr4981783pfg.39.1527831866231; Thu, 31 May 2018 22:44:26 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1527831866; cv=none; d=google.com; s=arc-20160816; b=pwnCmkf3/6LaxHU8nMATvvyfrBFEsAnqH/1GO0LY66vNlcbM+8UkW5VswKWxOdUybn AauWeqlE/tU8Tz8MuupP8l8gQL2pSCo12cBW51RVjUDzQXyKIbHj5MEftJq9Wc37I1Pz 8BsEDMPQ0oUIhzLcXA9PV3h1Sd3308RV6mliUKV8v+NJvQuZHu/1+U7PBU1FqimO5jrK W0THxmq53QKI7sqxRAiaXSuzIlcxSXxW6ffpXeD7RjVOs3O9yBgipCzebKe8aX6DDW7w YtkusgaTkhIP00/4Ttb5d94USqtGv2XbkYoPnBRiLctfXPrV1lx/O6NtBf0PwVMh1XV1 67UA== 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=qegFdq8xvUJVctAqGJK/r6qtnxr4iIL9IwviCHDb+Ec=; b=dlyetvd/rmz+c7tcywUquDmMrHFtmzqEQ8axtcMoSO3alpjtRd8kK5nZ9iknPwivYs hX+E29+KNir0WgbGey84Jmbbr9uthLKBsVQ1FpIRXXnWiklEDyhijGeu9k9nW2//Qtni /3SMcC2QY9VTmKAz4q8lEK3Uml/SzFwgNP3F+4SDB+xvH99zY0t+Tw9bRvj8KbsFRGAC foDFwJaQ+cN3eXOZcBr6kwTheN01HLPV2NjsinagDnJxlVGDOLxLDKd/m7/2S2jJQ6PU g1CNXC38CmB+eNJY5nSeBDIZ+KAzv9dp9jxObDWzgXk3s1s6UOmQKHxw5tlUA6oi1TjZ C6bg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=D5ApDMbG; 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 w14-v6si38053242plp.31.2018.05.31.22.44.12; Thu, 31 May 2018 22:44:26 -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=D5ApDMbG; 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 S1751282AbeFAFma (ORCPT + 99 others); Fri, 1 Jun 2018 01:42:30 -0400 Received: from mail-lf0-f66.google.com ([209.85.215.66]:44709 "EHLO mail-lf0-f66.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750931AbeFAFm1 (ORCPT ); Fri, 1 Jun 2018 01:42:27 -0400 Received: by mail-lf0-f66.google.com with SMTP id 36-v6so11093540lfr.11; Thu, 31 May 2018 22:42:26 -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=qegFdq8xvUJVctAqGJK/r6qtnxr4iIL9IwviCHDb+Ec=; b=D5ApDMbGRQ5/vZhgE8Br4Lgm/C73vPmFkGJdxTVtq2B8RuaDl1VN5Zb4wLon5oqWVL Kew3T6BcrYz2hL6u33dWbshwai37OS1n6RfyiJeEuZehUqZHPrdjpLliNlOCfQ1Yy/8j IOTsYXbMftRVmTfKCUN8X2uXjVI/8V+boSc3CuWeb971+VPCmhNeEFB8xUO+pMGFm5nb RSqDhPkbu4rEhNWeEt7fNGDvyUQU/i4WnDbKvwAacobiSsOCg1ADWeD1In7MlDe8Gcmz qLfKer8KFlQBB0ZMvidDQIYhb7iKRaBkc9qpJnKhD4O46RpxqjqE2NnbG4OV6aJoQbKp 1Pzg== 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=qegFdq8xvUJVctAqGJK/r6qtnxr4iIL9IwviCHDb+Ec=; b=HNt4E+z3fS5/brHR8ZS0iyn4zPXiZJGW90EdDLYmitYOf21sSHBTwZ9YdzgYOlfy3A dO7o1eqXQASy3kt/IZaVuJXAJLul5tERgJMomSQZWWwYtKqyGlpd+Lv0NaIndy+4uwVa 6xsJyzXgvd+bhkEgbxgBGmbKnexLvhYYQI43aCtv/oFKyI9fozGSBPu3MCp8kCHa99fj 7rNRM2SlKNDnhLmpckFk9dmd7flG3RFVMjwwoLp13PQDULS2IboEwZPIMv66WgNgxTSC WZSbzhyZFJhIeBDjWeb/0XtdTa15mRG3kSLdA8wekmC1Av8Y+qDEihwTzTZOA1zqmM86 rmiA== X-Gm-Message-State: ALKqPwcw/XMf4sdqHoDhP4dyAf8pCXoyVQfpmsi1ZHh4CtOKEjs4Nr+5 OqIsgMuDb8joKEbjY6VmtB0= X-Received: by 2002:a19:51db:: with SMTP id g88-v6mr6069745lfl.78.1527831745454; Thu, 31 May 2018 22:42:25 -0700 (PDT) Received: from [10.17.182.9] (ll-51.209.223.85.sovam.net.ua. [85.223.209.51]) by smtp.gmail.com with ESMTPSA id d3-v6sm7979403lja.38.2018.05.31.22.42.23 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 31 May 2018 22:42:24 -0700 (PDT) Subject: Re: [PATCH 0/8] xen: dma-buf support for grant device To: Boris Ostrovsky , "Oleksandr_Andrushchenko@epam.com" , xen-devel@lists.xenproject.org, linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, linux-media@vger.kernel.org, jgross@suse.com, konrad.wilk@oracle.com Cc: daniel.vetter@intel.com, dongwon.kim@intel.com, matthew.d.roper@intel.com References: <20180525153331.31188-1-andr2000@gmail.com> <9687b6e5-808e-0c63-34c3-90e6fcbdfb2e@oracle.com> <00c0eabc-3a5e-5335-5a7e-2cebce5387c9@oracle.com> From: Oleksandr Andrushchenko Message-ID: Date: Fri, 1 Jun 2018 08:42:23 +0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.8.0 MIME-Version: 1.0 In-Reply-To: <00c0eabc-3a5e-5335-5a7e-2cebce5387c9@oracle.com> 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 05/31/2018 11:25 PM, Boris Ostrovsky wrote: > On 05/31/2018 10:41 AM, Oleksandr Andrushchenko wrote: >> On 05/31/2018 08:51 AM, Oleksandr Andrushchenko wrote: >>> On 05/31/2018 04:46 AM, Boris Ostrovsky wrote: >>>> >>>> On 05/25/2018 11:33 AM, Oleksandr Andrushchenko wrote: >>>> >>>>> Oleksandr Andrushchenko (8): >>>>>    xen/grant-table: Make set/clear page private code shared >>>>>    xen/balloon: Move common memory reservation routines to a module >>>>>    xen/grant-table: Allow allocating buffers suitable for DMA >>>>>    xen/gntdev: Allow mappings for DMA buffers >>>>>    xen/gntdev: Add initial support for dma-buf UAPI >>>>>    xen/gntdev: Implement dma-buf export functionality >>>>>    xen/gntdev: Implement dma-buf import functionality >>>>>    xen/gntdev: Expose gntdev's dma-buf API for in-kernel use >>>>> >>>>>   drivers/xen/Kconfig           |   23 + >>>>>   drivers/xen/Makefile          |    1 + >>>>>   drivers/xen/balloon.c         |   71 +-- >>>>>   drivers/xen/gntdev.c          | 1025 >>>>> ++++++++++++++++++++++++++++++++- >>>> >>>> I think this calls for gntdev_dma.c. >>> I assume you mean as a separate file (part of gntdev driver)? >>>> I only had a quick look over gntdev changes but they very much are >>>> concentrated in dma-specific routines. >>>> >>> I tried to do that, but there are some dependencies between the >>> gntdev.c and gntdev_dma.c, >>> so finally I decided to put it all together. >>>> You essentially only share file_operations entry points with >>>> original gntdev code, right? >>>> >>> fops + mappings done by gntdev (struct grant_map) and I need to >>> release map on dma_buf .release >>> callback which makes some cross-dependencies between modules which >>> seemed to be not cute >>> (gntdev keeps its all structs and functions inside, so I cannot >>> easily access those w/o >>> helpers). >>> >>> But I'll try one more time and move all DMA specific stuff into >>> gntdev_dma.c >> Could you please take a quick look at the way I re-structured the >> sources here [1]? >> If this is what you meant. > > I looked at final gntdev.c code and I think at least one of the chunks > there ("DMA buffer export support. ") can also be moved out. It still > have a bit too many ifdefs but it looks better to my eye than jamming > everything into a single file (and I think more code can be moved out, > but we can talk about it when you post the patches so that we can see > context). Sure, will send v2 after I re-check all the patches and run some smoke tests again > > BTW, I believe it won't build with !CONFIG_XEN_GNTDEV_DMABUF --- > gntdev_remove_map() is defined under this option and is referenced later > without it. Will check, thank you > > -boris > > >> Thank you, >> Oleksandr >>>> -boris >>>> >>> Thank you, >>> Oleksandr >>>>>   drivers/xen/grant-table.c     |  176 +++++- >>>>>   drivers/xen/mem-reservation.c |  134 +++++ >>>>>   include/uapi/xen/gntdev.h     |  106 ++++ >>>>>   include/xen/grant_dev.h       |   37 ++ >>>>>   include/xen/grant_table.h     |   28 + >>>>>   include/xen/mem_reservation.h |   29 + >>>>>   10 files changed, 1527 insertions(+), 103 deletions(-) >>>>>   create mode 100644 drivers/xen/mem-reservation.c >>>>>   create mode 100644 include/xen/grant_dev.h >>>>>   create mode 100644 include/xen/mem_reservation.h >>>>> >> [1] >> https://github.com/andr2000/linux/commits/xen_tip_linux_next_xen_dma_buf_v2