From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751721AbeDII1p (ORCPT ); Mon, 9 Apr 2018 04:27:45 -0400 Received: from mail-wm0-f65.google.com ([74.125.82.65]:39454 "EHLO mail-wm0-f65.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751348AbeDII1o (ORCPT ); Mon, 9 Apr 2018 04:27:44 -0400 X-Google-Smtp-Source: AIpwx4/zSqznEVJhUDsewWTnOpDn/zsJLCjDHiVsNqigjVVG1xGEUvwZox/42hrQN6oQ1vuNBbvwww== Date: Mon, 9 Apr 2018 10:27:40 +0200 From: Daniel Vetter To: Oleksandr Andrushchenko Cc: 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 Subject: Re: [PATCH 1/1] drm/xen-zcopy: Add Xen zero-copy helper DRM driver Message-ID: <20180409082740.GI31310@phenom.ffwll.local> Mail-Followup-To: Oleksandr Andrushchenko , 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> <1ef9290a-7564-007d-81c6-cf7db74252f3@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <1ef9290a-7564-007d-81c6-cf7db74252f3@gmail.com> X-Operating-System: Linux phenom 4.15.0-1-amd64 User-Agent: Mutt/1.9.4 (2018-02-28) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Fri, Apr 06, 2018 at 02:25:08PM +0300, Oleksandr Andrushchenko wrote: > 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? Yes. > What are the other use-cases for that to happen? Sharing vram or other resources which are not backed by a struct page. See Christian König's recent work to accomplish just that for admgpu. > > 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? Yup. > > -Daniel > Thank you, > Oleksandr Cheers, Daniel -- Daniel Vetter Software Engineer, Intel Corporation http://blog.ffwll.ch From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: Re: [PATCH 1/1] drm/xen-zcopy: Add Xen zero-copy helper DRM driver Date: Mon, 9 Apr 2018 10:27:40 +0200 Message-ID: <20180409082740.GI31310@phenom.ffwll.local> References: <20180329131931.29957-1-andr2000@gmail.com> <20180329131931.29957-2-andr2000@gmail.com> <20180403094734.GT3881@phenom.ffwll.local> <1ef9290a-7564-007d-81c6-cf7db74252f3@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-wm0-x241.google.com (mail-wm0-x241.google.com [IPv6:2a00:1450:400c:c09::241]) by gabe.freedesktop.org (Postfix) with ESMTPS id 8250D6E0C9 for ; Mon, 9 Apr 2018 08:27:44 +0000 (UTC) Received: by mail-wm0-x241.google.com with SMTP id i3so14781434wmf.3 for ; Mon, 09 Apr 2018 01:27:44 -0700 (PDT) Content-Disposition: inline In-Reply-To: <1ef9290a-7564-007d-81c6-cf7db74252f3@gmail.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Oleksandr Andrushchenko Cc: jgross@suse.com, konrad.wilk@oracle.com, airlied@linux.ie, Oleksandr Andrushchenko , linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, daniel.vetter@intel.com, xen-devel@lists.xenproject.org, boris.ostrovsky@oracle.com List-Id: dri-devel@lists.freedesktop.org T24gRnJpLCBBcHIgMDYsIDIwMTggYXQgMDI6MjU6MDhQTSArMDMwMCwgT2xla3NhbmRyIEFuZHJ1 c2hjaGVua28gd3JvdGU6Cj4gT24gMDQvMDMvMjAxOCAxMjo0NyBQTSwgRGFuaWVsIFZldHRlciB3 cm90ZToKPiA+IE9uIFRodSwgTWFyIDI5LCAyMDE4IGF0IDA0OjE5OjMxUE0gKzAzMDAsIE9sZWtz YW5kciBBbmRydXNoY2hlbmtvIHdyb3RlOgo+ID4gPiBGcm9tOiBPbGVrc2FuZHIgQW5kcnVzaGNo ZW5rbyA8b2xla3NhbmRyX2FuZHJ1c2hjaGVua29AZXBhbS5jb20+Cj4gPiA+ICtzdGF0aWMgaW50 IHRvX3JlZnNfZ3JhbnRfZm9yZWlnbl9hY2Nlc3Moc3RydWN0IHhlbl9nZW1fb2JqZWN0ICp4ZW5f b2JqKQo+ID4gPiArewo+ID4gPiArCWdyYW50X3JlZl90IHByaXZfZ3JlZl9oZWFkOwo+ID4gPiAr CWludCByZXQsIGosIGN1cl9yZWYsIG51bV9wYWdlczsKPiA+ID4gKwlzdHJ1Y3Qgc2dfcGFnZV9p dGVyIHNnX2l0ZXI7Cj4gPiA+ICsKPiA+ID4gKwlyZXQgPSBnbnR0YWJfYWxsb2NfZ3JhbnRfcmVm ZXJlbmNlcyh4ZW5fb2JqLT5udW1fcGFnZXMsCj4gPiA+ICsJCQkmcHJpdl9ncmVmX2hlYWQpOwo+ ID4gPiArCWlmIChyZXQgPCAwKSB7Cj4gPiA+ICsJCURSTV9FUlJPUigiQ2Fubm90IGFsbG9jYXRl IGdyYW50IHJlZmVyZW5jZXNcbiIpOwo+ID4gPiArCQlyZXR1cm4gcmV0Owo+ID4gPiArCX0KPiA+ ID4gKwo+ID4gPiArCWogPSAwOwo+ID4gPiArCW51bV9wYWdlcyA9IHhlbl9vYmotPm51bV9wYWdl czsKPiA+ID4gKwlmb3JfZWFjaF9zZ19wYWdlKHhlbl9vYmotPnNndC0+c2dsLCAmc2dfaXRlciwg eGVuX29iai0+c2d0LT5uZW50cywgMCkgewo+ID4gPiArCQlzdHJ1Y3QgcGFnZSAqcGFnZTsKPiA+ ID4gKwo+ID4gPiArCQlwYWdlID0gc2dfcGFnZV9pdGVyX3BhZ2UoJnNnX2l0ZXIpOwo+ID4gUXVp Y2sgZHJpdmUtYnk6IFlvdSBjYW4ndCBhc3N1bWUgdGhhdCBhbiBzZ3QgaXMgc3RydWN0IHBhZ2Ug YmFja2VkLgo+IERvIHlvdSBtZWFuIHRoYXQgc29tZW9uZSBjb3VsZCBnaXZlIG1lIHNndCB3aGlj aCBuZXZlcgo+IHNlZW4gc2dfYXNzaWduX3BhZ2UgZm9yIGl0cyBlbnRyaWVzPwoKWWVzLgoKPiBX aGF0IGFyZSB0aGUgb3RoZXIgdXNlLWNhc2VzIGZvciB0aGF0IHRvIGhhcHBlbj8KClNoYXJpbmcg dnJhbSBvciBvdGhlciByZXNvdXJjZXMgd2hpY2ggYXJlIG5vdCBiYWNrZWQgYnkgYSBzdHJ1Y3Qg cGFnZS4gU2VlCkNocmlzdGlhbiBLw7ZuaWcncyByZWNlbnQgd29yayB0byBhY2NvbXBsaXNoIGp1 c3QgdGhhdCBmb3IgYWRtZ3B1LgoKPiA+IEFuZCB5b3UgcHJvYmFibHkgd2FudCB0byBjaGVjayB0 aGlzIGF0IGltcG9ydC9hdHRhY2ggdGltZS4KPiBUaGUgY2hlY2sgeW91IG1lYW4gaXMgdG8gbWFr ZSBzdXJlIHRoYXQgd2hlbiBJIGNhbGwKPiBwYWdlID0gc2dfcGFnZV9pdGVyX3BhZ2UoJnNnX2l0 ZXIpOwo+IEkgaGF2ZSB0byBtYWtlIHN1cmUgdGhhdCBJIGdldCBhIHZhbGlkIHBhZ2U/CgpZdXAu Cgo+ID4gLURhbmllbAo+IFRoYW5rIHlvdSwKPiBPbGVrc2FuZHIKCkNoZWVycywgRGFuaWVsCi0t IApEYW5pZWwgVmV0dGVyClNvZnR3YXJlIEVuZ2luZWVyLCBJbnRlbCBDb3Jwb3JhdGlvbgpodHRw Oi8vYmxvZy5mZndsbC5jaApfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3Rv cC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmkt ZGV2ZWwK