From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752505AbeDFLZn (ORCPT ); Fri, 6 Apr 2018 07:25:43 -0400 Received: from mail-lf0-f68.google.com ([209.85.215.68]:34375 "EHLO mail-lf0-f68.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752307AbeDFLZL (ORCPT ); Fri, 6 Apr 2018 07:25:11 -0400 X-Google-Smtp-Source: AIpwx4+xQA1b0rvcFj2ppR3xt12Nc55s6nWAU2O3Cr6zIbOylCC/upOqC63KI8BHr7+HiwnNUy4gnA== Subject: Re: [PATCH 1/1] drm/xen-zcopy: Add Xen zero-copy helper DRM driver To: xen-devel@lists.xenproject.org, linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, airlied@linux.ie, daniel.vetter@intel.com, seanpaul@chromium.org, gustavo@padovan.org, jgross@suse.com, boris.ostrovsky@oracle.com, konrad.wilk@oracle.com, Oleksandr Andrushchenko References: <20180329131931.29957-1-andr2000@gmail.com> <20180329131931.29957-2-andr2000@gmail.com> <20180403094734.GT3881@phenom.ffwll.local> From: Oleksandr Andrushchenko Message-ID: <1ef9290a-7564-007d-81c6-cf7db74252f3@gmail.com> Date: Fri, 6 Apr 2018 14:25:08 +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: <20180403094734.GT3881@phenom.ffwll.local> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Content-Language: en-US Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 04/03/2018 12:47 PM, Daniel Vetter wrote: > On Thu, Mar 29, 2018 at 04:19:31PM +0300, Oleksandr Andrushchenko wrote: >> From: Oleksandr Andrushchenko >> +static int to_refs_grant_foreign_access(struct xen_gem_object *xen_obj) >> +{ >> + grant_ref_t priv_gref_head; >> + int ret, j, cur_ref, num_pages; >> + struct sg_page_iter sg_iter; >> + >> + ret = gnttab_alloc_grant_references(xen_obj->num_pages, >> + &priv_gref_head); >> + if (ret < 0) { >> + DRM_ERROR("Cannot allocate grant references\n"); >> + return ret; >> + } >> + >> + j = 0; >> + num_pages = xen_obj->num_pages; >> + for_each_sg_page(xen_obj->sgt->sgl, &sg_iter, xen_obj->sgt->nents, 0) { >> + struct page *page; >> + >> + page = sg_page_iter_page(&sg_iter); > Quick drive-by: You can't assume that an sgt is struct page backed. Do you mean that someone could give me sgt which never seen sg_assign_page for its entries? What are the other use-cases for that to happen? > And you probably want to check this at import/attach time. The check you mean is to make sure that when I call page = sg_page_iter_page(&sg_iter); I have to make sure that I get a valid page? > -Daniel Thank you, Oleksandr From mboxrd@z Thu Jan 1 00:00:00 1970 From: Oleksandr Andrushchenko Subject: Re: [PATCH 1/1] drm/xen-zcopy: Add Xen zero-copy helper DRM driver Date: Fri, 6 Apr 2018 14:25:08 +0300 Message-ID: <1ef9290a-7564-007d-81c6-cf7db74252f3@gmail.com> References: <20180329131931.29957-1-andr2000@gmail.com> <20180329131931.29957-2-andr2000@gmail.com> <20180403094734.GT3881@phenom.ffwll.local> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: Received: from mail-lf0-x244.google.com (mail-lf0-x244.google.com [IPv6:2a00:1450:4010:c07::244]) by gabe.freedesktop.org (Postfix) with ESMTPS id 5AAF86E10E for ; Fri, 6 Apr 2018 11:25:12 +0000 (UTC) Received: by mail-lf0-x244.google.com with SMTP id u3-v6so52365lff.5 for ; Fri, 06 Apr 2018 04:25:12 -0700 (PDT) In-Reply-To: <20180403094734.GT3881@phenom.ffwll.local> Content-Language: en-US List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: xen-devel@lists.xenproject.org, linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, airlied@linux.ie, daniel.vetter@intel.com, seanpaul@chromium.org, gustavo@padovan.org, jgross@suse.com, boris.ostrovsky@oracle.com, konrad.wilk@oracle.com, Oleksandr Andrushchenko List-Id: dri-devel@lists.freedesktop.org T24gMDQvMDMvMjAxOCAxMjo0NyBQTSwgRGFuaWVsIFZldHRlciB3cm90ZToKPiBPbiBUaHUsIE1h ciAyOSwgMjAxOCBhdCAwNDoxOTozMVBNICswMzAwLCBPbGVrc2FuZHIgQW5kcnVzaGNoZW5rbyB3 cm90ZToKPj4gRnJvbTogT2xla3NhbmRyIEFuZHJ1c2hjaGVua28gPG9sZWtzYW5kcl9hbmRydXNo Y2hlbmtvQGVwYW0uY29tPgo+PiArc3RhdGljIGludCB0b19yZWZzX2dyYW50X2ZvcmVpZ25fYWNj ZXNzKHN0cnVjdCB4ZW5fZ2VtX29iamVjdCAqeGVuX29iaikKPj4gK3sKPj4gKwlncmFudF9yZWZf dCBwcml2X2dyZWZfaGVhZDsKPj4gKwlpbnQgcmV0LCBqLCBjdXJfcmVmLCBudW1fcGFnZXM7Cj4+ ICsJc3RydWN0IHNnX3BhZ2VfaXRlciBzZ19pdGVyOwo+PiArCj4+ICsJcmV0ID0gZ250dGFiX2Fs bG9jX2dyYW50X3JlZmVyZW5jZXMoeGVuX29iai0+bnVtX3BhZ2VzLAo+PiArCQkJJnByaXZfZ3Jl Zl9oZWFkKTsKPj4gKwlpZiAocmV0IDwgMCkgewo+PiArCQlEUk1fRVJST1IoIkNhbm5vdCBhbGxv Y2F0ZSBncmFudCByZWZlcmVuY2VzXG4iKTsKPj4gKwkJcmV0dXJuIHJldDsKPj4gKwl9Cj4+ICsK Pj4gKwlqID0gMDsKPj4gKwludW1fcGFnZXMgPSB4ZW5fb2JqLT5udW1fcGFnZXM7Cj4+ICsJZm9y X2VhY2hfc2dfcGFnZSh4ZW5fb2JqLT5zZ3QtPnNnbCwgJnNnX2l0ZXIsIHhlbl9vYmotPnNndC0+ bmVudHMsIDApIHsKPj4gKwkJc3RydWN0IHBhZ2UgKnBhZ2U7Cj4+ICsKPj4gKwkJcGFnZSA9IHNn X3BhZ2VfaXRlcl9wYWdlKCZzZ19pdGVyKTsKPiBRdWljayBkcml2ZS1ieTogWW91IGNhbid0IGFz c3VtZSB0aGF0IGFuIHNndCBpcyBzdHJ1Y3QgcGFnZSBiYWNrZWQuCkRvIHlvdSBtZWFuIHRoYXQg c29tZW9uZSBjb3VsZCBnaXZlIG1lIHNndCB3aGljaCBuZXZlcgpzZWVuIHNnX2Fzc2lnbl9wYWdl IGZvciBpdHMgZW50cmllcz8KV2hhdCBhcmUgdGhlIG90aGVyIHVzZS1jYXNlcyBmb3IgdGhhdCB0 byBoYXBwZW4/Cj4gQW5kIHlvdSBwcm9iYWJseSB3YW50IHRvIGNoZWNrIHRoaXMgYXQgaW1wb3J0 L2F0dGFjaCB0aW1lLgpUaGUgY2hlY2sgeW91IG1lYW4gaXMgdG8gbWFrZSBzdXJlIHRoYXQgd2hl biBJIGNhbGwKcGFnZSA9IHNnX3BhZ2VfaXRlcl9wYWdlKCZzZ19pdGVyKTsKSSBoYXZlIHRvIG1h a2Ugc3VyZSB0aGF0IEkgZ2V0IGEgdmFsaWQgcGFnZT8KPiAtRGFuaWVsClRoYW5rIHlvdSwKT2xl a3NhbmRyCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmRy aS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRw czovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbAo=