From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751938AbeBWP0f (ORCPT ); Fri, 23 Feb 2018 10:26:35 -0500 Received: from userp2120.oracle.com ([156.151.31.85]:34378 "EHLO userp2120.oracle.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751494AbeBWP0d (ORCPT ); Fri, 23 Feb 2018 10:26:33 -0500 Subject: Re: [PATCH 8/9] drm/xen-front: Implement GEM operations 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, konrad.wilk@oracle.com Cc: Oleksandr Andrushchenko References: <1519200222-20623-1-git-send-email-andr2000@gmail.com> <1519200222-20623-9-git-send-email-andr2000@gmail.com> From: Boris Ostrovsky Message-ID: <2f2c6fea-c0cb-e244-41f3-269db07986fc@oracle.com> Date: Fri, 23 Feb 2018 10:26:56 -0500 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.2.1 MIME-Version: 1.0 In-Reply-To: <1519200222-20623-9-git-send-email-andr2000@gmail.com> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit Content-Language: en-US X-Proofpoint-Virus-Version: vendor=nai engine=5900 definitions=8812 signatures=668677 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 suspectscore=2 malwarescore=0 phishscore=0 bulkscore=0 spamscore=0 mlxscore=0 mlxlogscore=643 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1711220000 definitions=main-1802230191 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 02/21/2018 03:03 AM, Oleksandr Andrushchenko wrote: > +static struct xen_gem_object *gem_create(struct drm_device *dev, size_t size) > +{ > + struct xen_drm_front_drm_info *drm_info = dev->dev_private; > + struct xen_gem_object *xen_obj; > + int ret; > + > + size = round_up(size, PAGE_SIZE); > + xen_obj = gem_create_obj(dev, size); > + if (IS_ERR_OR_NULL(xen_obj)) > + return xen_obj; > + > + if (drm_info->cfg->be_alloc) { > + /* > + * backend will allocate space for this buffer, so > + * only allocate array of pointers to pages > + */ > + xen_obj->be_alloc = true; If be_alloc is a flag (which I am not sure about) --- should it be set to true *after* you've successfully allocated your things? > + ret = gem_alloc_pages_array(xen_obj, size); > + if (ret < 0) { > + gem_free_pages_array(xen_obj); > + goto fail; > + } > + > + ret = alloc_xenballooned_pages(xen_obj->num_pages, > + xen_obj->pages); Why are you allocating balloon pages? -boris > + if (ret < 0) { > + DRM_ERROR("Cannot allocate %zu ballooned pages: %d\n", > + xen_obj->num_pages, ret); > + goto fail; > + } > + > + return xen_obj; > + } > + /* > + * need to allocate backing pages now, so we can share those > + * with the backend > + */ > + xen_obj->num_pages = DIV_ROUND_UP(size, PAGE_SIZE); > + xen_obj->pages = drm_gem_get_pages(&xen_obj->base); > + if (IS_ERR_OR_NULL(xen_obj->pages)) { > + ret = PTR_ERR(xen_obj->pages); > + xen_obj->pages = NULL; > + goto fail; > + } > + > + return xen_obj; > + > +fail: > + DRM_ERROR("Failed to allocate buffer with size %zu\n", size); > + return ERR_PTR(ret); > +} > + > From mboxrd@z Thu Jan 1 00:00:00 1970 From: Boris Ostrovsky Subject: Re: [PATCH 8/9] drm/xen-front: Implement GEM operations Date: Fri, 23 Feb 2018 10:26:56 -0500 Message-ID: <2f2c6fea-c0cb-e244-41f3-269db07986fc@oracle.com> References: <1519200222-20623-1-git-send-email-andr2000@gmail.com> <1519200222-20623-9-git-send-email-andr2000@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1519200222-20623-9-git-send-email-andr2000@gmail.com> Content-Language: en-US List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" 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, konrad.wilk@oracle.com Cc: Oleksandr Andrushchenko List-Id: dri-devel@lists.freedesktop.org T24gMDIvMjEvMjAxOCAwMzowMyBBTSwgT2xla3NhbmRyIEFuZHJ1c2hjaGVua28gd3JvdGU6Cj4g K3N0YXRpYyBzdHJ1Y3QgeGVuX2dlbV9vYmplY3QgKmdlbV9jcmVhdGUoc3RydWN0IGRybV9kZXZp Y2UgKmRldiwgc2l6ZV90IHNpemUpCj4gK3sKPiArCXN0cnVjdCB4ZW5fZHJtX2Zyb250X2RybV9p bmZvICpkcm1faW5mbyA9IGRldi0+ZGV2X3ByaXZhdGU7Cj4gKwlzdHJ1Y3QgeGVuX2dlbV9vYmpl Y3QgKnhlbl9vYmo7Cj4gKwlpbnQgcmV0Owo+ICsKPiArCXNpemUgPSByb3VuZF91cChzaXplLCBQ QUdFX1NJWkUpOwo+ICsJeGVuX29iaiA9IGdlbV9jcmVhdGVfb2JqKGRldiwgc2l6ZSk7Cj4gKwlp ZiAoSVNfRVJSX09SX05VTEwoeGVuX29iaikpCj4gKwkJcmV0dXJuIHhlbl9vYmo7Cj4gKwo+ICsJ aWYgKGRybV9pbmZvLT5jZmctPmJlX2FsbG9jKSB7Cj4gKwkJLyoKPiArCQkgKiBiYWNrZW5kIHdp bGwgYWxsb2NhdGUgc3BhY2UgZm9yIHRoaXMgYnVmZmVyLCBzbwo+ICsJCSAqIG9ubHkgYWxsb2Nh dGUgYXJyYXkgb2YgcG9pbnRlcnMgdG8gcGFnZXMKPiArCQkgKi8KPiArCQl4ZW5fb2JqLT5iZV9h bGxvYyA9IHRydWU7CgpJZiBiZV9hbGxvYyBpcyBhIGZsYWcgKHdoaWNoIEkgYW0gbm90IHN1cmUg YWJvdXQpIC0tLSBzaG91bGQgaXQgYmUgc2V0CnRvIHRydWUgKmFmdGVyKiB5b3UndmUgc3VjY2Vz c2Z1bGx5IGFsbG9jYXRlZCB5b3VyIHRoaW5ncz8KCj4gKwkJcmV0ID0gZ2VtX2FsbG9jX3BhZ2Vz X2FycmF5KHhlbl9vYmosIHNpemUpOwo+ICsJCWlmIChyZXQgPCAwKSB7Cj4gKwkJCWdlbV9mcmVl X3BhZ2VzX2FycmF5KHhlbl9vYmopOwo+ICsJCQlnb3RvIGZhaWw7Cj4gKwkJfQo+ICsKPiArCQly ZXQgPSBhbGxvY194ZW5iYWxsb29uZWRfcGFnZXMoeGVuX29iai0+bnVtX3BhZ2VzLAo+ICsJCQkJ eGVuX29iai0+cGFnZXMpOwoKV2h5IGFyZSB5b3UgYWxsb2NhdGluZyBiYWxsb29uIHBhZ2VzPwoK LWJvcmlzCgo+ICsJCWlmIChyZXQgPCAwKSB7Cj4gKwkJCURSTV9FUlJPUigiQ2Fubm90IGFsbG9j YXRlICV6dSBiYWxsb29uZWQgcGFnZXM6ICVkXG4iLAo+ICsJCQkJCXhlbl9vYmotPm51bV9wYWdl cywgcmV0KTsKPiArCQkJZ290byBmYWlsOwo+ICsJCX0KPiArCj4gKwkJcmV0dXJuIHhlbl9vYmo7 Cj4gKwl9Cj4gKwkvKgo+ICsJICogbmVlZCB0byBhbGxvY2F0ZSBiYWNraW5nIHBhZ2VzIG5vdywg c28gd2UgY2FuIHNoYXJlIHRob3NlCj4gKwkgKiB3aXRoIHRoZSBiYWNrZW5kCj4gKwkgKi8KPiAr CXhlbl9vYmotPm51bV9wYWdlcyA9IERJVl9ST1VORF9VUChzaXplLCBQQUdFX1NJWkUpOwo+ICsJ eGVuX29iai0+cGFnZXMgPSBkcm1fZ2VtX2dldF9wYWdlcygmeGVuX29iai0+YmFzZSk7Cj4gKwlp ZiAoSVNfRVJSX09SX05VTEwoeGVuX29iai0+cGFnZXMpKSB7Cj4gKwkJcmV0ID0gUFRSX0VSUih4 ZW5fb2JqLT5wYWdlcyk7Cj4gKwkJeGVuX29iai0+cGFnZXMgPSBOVUxMOwo+ICsJCWdvdG8gZmFp bDsKPiArCX0KPiArCj4gKwlyZXR1cm4geGVuX29iajsKPiArCj4gK2ZhaWw6Cj4gKwlEUk1fRVJS T1IoIkZhaWxlZCB0byBhbGxvY2F0ZSBidWZmZXIgd2l0aCBzaXplICV6dVxuIiwgc2l6ZSk7Cj4g KwlyZXR1cm4gRVJSX1BUUihyZXQpOwo+ICt9Cj4gKwo+CgoKX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2 ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWls bWFuL2xpc3RpbmZvL3hlbi1kZXZlbA==