From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ben Widawsky Subject: Re: [PATCH v2] drm/vgem: implement virtual GEM Date: Sat, 31 Jan 2015 19:13:50 +0100 Message-ID: <20150131181347.GA2486@bwidawsk.net> References: <1422641145-24407-1-git-send-email-zachr@google.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail.bwidawsk.net (bwidawsk.net [166.78.191.112]) by gabe.freedesktop.org (Postfix) with ESMTP id EDB826E1E3 for ; Sat, 31 Jan 2015 10:14:02 -0800 (PST) Content-Disposition: inline In-Reply-To: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Rob Clark Cc: =?utf-8?B?U3TDqXBoYW5l?= Marchesin , Zach Reizner , "dri-devel@lists.freedesktop.org" List-Id: dri-devel@lists.freedesktop.org T24gU2F0LCBKYW4gMzEsIDIwMTUgYXQgMTE6MDI6MDVBTSAtMDUwMCwgUm9iIENsYXJrIHdyb3Rl Ogo+IE9uIEZyaSwgSmFuIDMwLCAyMDE1IGF0IDE6MDUgUE0sIFphY2ggUmVpem5lciA8emFjaHJA Z29vZ2xlLmNvbT4gd3JvdGU6Cj4gPiBUaGlzIHBhdGNoIGltcGxlbWVudHMgdGhlIHZpcnR1YWwg R0VNIGRyaXZlciB3aXRoIFBSSU1FIHNoYXJpbmcgd2hpY2gKPiA+IGFsbG93cyB2Z2VtIHRvIGlt cG9ydCBhIGdlbSBvYmplY3QgZnJvbSBvdGhlciBkcml2ZXJzIGZvciB0aGUgcHVycG9zZQo+ID4g b2YgbW1hcC1pbmcgdGhlbSB0byB1c2Vyc3BhY2UuIFRoZSBtbWFwIGlzIGRvbmUgdXNpbmcgdGhl IG1tYXAKPiA+IG9wZXJhdGlvbiBleHBvcnRlZCBieSBvdGhlciBkcml2ZXJzLgo+ID4KPiA+IHYy OiByZW1vdmUgcGxhdGZvcm1fZGV2aWNlIGFuZCBkbyBub3QgYXR0YWNoIHRvIGRtYSBidWZzCj4g Pgo+ID4gUmV2aWV3ZWQtYnk6IFN0w6lwaGFuZSBNYXJjaGVzaW4gPG1hcmNoZXVAY2hyb21pdW0u b3JnPgo+ID4gU2lnbmVkLW9mZi1ieTogQWRhbSBKYWNrc29uIDxhamF4QHJlZGhhdC5jb20+Cj4g PiBTaWduZWQtb2ZmLWJ5OiBCZW4gV2lkYXdza3kgPGJlbkBid2lkYXdzay5uZXQ+Cj4gPiBTaWdu ZWQtb2ZmLWJ5OiBaYWNoIFJlaXpuZXIgPHphY2hyQGdvb2dsZS5jb20+Cj4gCj4gY291cGxlIHNt YWxsIHN1Z2dlc3Rpb25zL2NvbW1lbnRzIGJlbG93LCBidXQgd2l0aCB0aG9zZSBhZGRyZXNzZWQs Cj4gCj4gUmV2aWV3ZWQtYnk6IFJvYiBDbGFyayA8cm9iZGNsYXJrQGdtYWlsLmNvbT4KPiAKPiA+ IC0tLQo+ID4gIGRyaXZlcnMvZ3B1L2RybS9LY29uZmlnICAgICAgICAgICAgIHwgICA5ICsKPiA+ ICBkcml2ZXJzL2dwdS9kcm0vTWFrZWZpbGUgICAgICAgICAgICB8ICAgMSArCj4gPiAgZHJpdmVy cy9ncHUvZHJtL3ZnZW0vTWFrZWZpbGUgICAgICAgfCAgIDQgKwo+ID4gIGRyaXZlcnMvZ3B1L2Ry bS92Z2VtL3ZnZW1fZG1hX2J1Zi5jIHwgIDk2ICsrKysrKysrKwo+ID4gIGRyaXZlcnMvZ3B1L2Ry bS92Z2VtL3ZnZW1fZHJ2LmMgICAgIHwgMzkwICsrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKwo+ID4gIGRyaXZlcnMvZ3B1L2RybS92Z2VtL3ZnZW1fZHJ2LmggICAgIHwgIDU3ICsr KysrKwo+ID4gIDYgZmlsZXMgY2hhbmdlZCwgNTU3IGluc2VydGlvbnMoKykKPiA+ICBjcmVhdGUg bW9kZSAxMDA2NDQgZHJpdmVycy9ncHUvZHJtL3ZnZW0vTWFrZWZpbGUKPiA+ICBjcmVhdGUgbW9k ZSAxMDA2NDQgZHJpdmVycy9ncHUvZHJtL3ZnZW0vdmdlbV9kbWFfYnVmLmMKPiA+ICBjcmVhdGUg bW9kZSAxMDA2NDQgZHJpdmVycy9ncHUvZHJtL3ZnZW0vdmdlbV9kcnYuYwo+ID4gIGNyZWF0ZSBt b2RlIDEwMDY0NCBkcml2ZXJzL2dwdS9kcm0vdmdlbS92Z2VtX2Rydi5oCj4gPgo+IAo+IFtzbmlw XQo+IAo+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS92Z2VtL3ZnZW1fZHJ2LmMgYi9k cml2ZXJzL2dwdS9kcm0vdmdlbS92Z2VtX2Rydi5jCj4gPiBuZXcgZmlsZSBtb2RlIDEwMDY0NAo+ ID4gaW5kZXggMDAwMDAwMC4uZTIwZjRhNAo+ID4gLS0tIC9kZXYvbnVsbAo+ID4gKysrIGIvZHJp dmVycy9ncHUvZHJtL3ZnZW0vdmdlbV9kcnYuYwo+ID4gQEAgLTAsMCArMSwzOTAgQEAKPiA+ICsv Kgo+ID4gKyAqIENvcHlyaWdodCAyMDExIFJlZCBIYXQsIEluYy4KPiA+ICsgKiBDb3B5cmlnaHQg wqkgMjAxNCBUaGUgQ2hyb21pdW0gT1MgQXV0aG9ycwo+ID4gKyAqCj4gPiArICogUGVybWlzc2lv biBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWlu aW5nIGEKPiA+ICsgKiBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1l bnRhdGlvbiBmaWxlcyAodGhlICJTb2Z0d2FyZSIpCj4gPiArICogdG8gZGVhbCBpbiB0aGUgc29m dHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbgo+ ID4gKyAqIG9uIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNo LCBkaXN0cmlidXRlLCBzdWIKPiA+ICsgKiBsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2Yg dGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbQo+ID4gKyAqIHRoZW0g U29mdHdhcmUgaXMgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcg Y29uZGl0aW9uczoKPiA+ICsgKgo+ID4gKyAqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFu ZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIChpbmNsdWRpbmcgdGhlIG5leHQKPiA+ICsgKiBwYXJh Z3JhcGgpIHNoYWxsIGJlIGluY2x1ZGVkIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9y dGlvbnMgb2YgdGhlCj4gPiArICogU29mdHdhcmUuCj4gPiArICoKPiA+ICsgKiBUSEUgU09GVFdB UkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQ UkVTUyBPUgo+ID4gKyAqIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhF IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRJQklMSVRZLAo+ID4gKyAqIEZJVE5FU1MgRk9SIEEgUEFS VElDVUxBUiBQVVJQT1NFIEFORCBOT04tSU5GUklOR0VNRU5ULiAgSU4gTk8gRVZFTlQgU0hBTEwK PiA+ICsgKiBUSEUgQVVUSE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUywgT1Ig T1RIRVIgTElBQklMSVRZLCBXSEVUSEVSCj4gPiArICogSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNU LCBUT1JULCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElOCj4gPiArICog Q09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdT IElOIFRIRSBTT0ZUV0FSRS4KPiA+ICsgKgo+ID4gKyAqIEF1dGhvcnM6Cj4gPiArICogICAgIEFk YW0gSmFja3NvbiA8YWpheEByZWRoYXQuY29tPgo+ID4gKyAqICAgICBCZW4gV2lkYXdza3kgPGJl bkBid2lkYXdzay5uZXQ+Cj4gPiArICovCj4gPiArCj4gPiArLyoqCj4gPiArICogVGhpcyBpcyB2 Z2VtLCBhIChub24taGFyZHdhcmUtYmFja2VkKSBHRU0gc2VydmljZS4gIFRoaXMgaXMgdXNlZCBi eSBNZXNhJ3MKPiA+ICsgKiBzb2Z0d2FyZSByZW5kZXJlciBhbmQgdGhlIFggc2VydmVyIGZvciBl ZmZpY2llbnQgYnVmZmVyIHNoYXJpbmcuCj4gPiArICovCj4gPiArCj4gPiArI2luY2x1ZGUgPGxp bnV4L21vZHVsZS5oPgo+ID4gKyNpbmNsdWRlIDxsaW51eC9yYW1mcy5oPgo+ID4gKyNpbmNsdWRl IDxsaW51eC9zaG1lbV9mcy5oPgo+ID4gKyNpbmNsdWRlIDxsaW51eC9kbWEtYnVmLmg+Cj4gPiAr I2luY2x1ZGUgInZnZW1fZHJ2LmgiCj4gPiArCj4gPiArI2RlZmluZSBEUklWRVJfTkFNRSAgICAi dmdlbSIKPiA+ICsjZGVmaW5lIERSSVZFUl9ERVNDICAgICJWaXJ0dWFsIEdFTSBwcm92aWRlciIK PiA+ICsjZGVmaW5lIERSSVZFUl9EQVRFICAgICIyMDEyMDExMiIKPiA+ICsjZGVmaW5lIERSSVZF Ul9NQUpPUiAgIDEKPiA+ICsjZGVmaW5lIERSSVZFUl9NSU5PUiAgIDAKPiA+ICsKPiA+ICt2b2lk IHZnZW1fZ2VtX3B1dF9wYWdlcyhzdHJ1Y3QgZHJtX3ZnZW1fZ2VtX29iamVjdCAqb2JqKQo+ID4g K3sKPiA+ICsgICAgICAgaW50IG51bV9wYWdlcyA9IG9iai0+YmFzZS5zaXplIC8gUEFHRV9TSVpF Owo+ID4gKyAgICAgICBpbnQgaTsKPiA+ICsKPiA+ICsgICAgICAgZm9yIChpID0gMDsgaSA8IG51 bV9wYWdlczsgaSsrKSB7Cj4gPiArICAgICAgICAgICAgICAgaWYgKG9iai0+cGFnZXNbaV0gPT0g TlVMTCkKPiA+ICsgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwo+IAo+IHNlZW1zIGxpa2Ug b3RoZXIgdGhhbiB0aGlzIGJyZWFrIHN0YXRlbWVudCwgeW91IGNvdWxkIHVzZQo+IGRybV9nZW1f cHV0X3BhZ2VzKCkuLiAgbm90IGVudGlyZWx5IHN1cmUgd2h5IHlvdSdkIGVuY291bnRlciBhIG51 bGwKPiBwYWdlLCBidXQgaWYgdGhlcmUgaXMgYSBsZWdpdCByZWFzb24gZm9yIHRoYXQsIHRoZW4g anVzdCBhZGQgdGhlIGNoZWNrCj4gaW4gZHJtX2dlbV9wdXRfcGFnZXMoKSAocGx1cyBtYXliZSBh IGNvbW1lbnQpIGFuZCB1c2UgdGhhdC4uCj4gCgpGaXJzdCwgdGhpcyBjb2RlIHByZWRhdGVkIGRy bV9nZW1fcHV0X3BhZ2VzLCBzbyBpdCB3YXMgcHJvYmFibHkganVzdCBhbgpvdmVyc2lnaHQgdGhh dCBhIGNvbnNvbGlkYXRlZCBmdW5jdGlvbiBleGlzdGVkLiBBcyBmb3IgdGhlIE5VTEwsIGl0J3Mg YmVjYXVzZQp0aGUgY2xlYW51cCBvZiBmYWlsZWQgdmdlbSBnZXRfcGFnZXMoKSBqdXN0IGNhbGxz IHZnZW0gcHV0X3BhZ2VzKCkgKHlvdSBjYW4ndApoYXZlIHNwYXJzZWx5IHBvcHVsYXRlZCBlbnRy aWVzLCBidXQgdGhlIGxhc3QgbiBwb2ludGVycyBjYW4gYmUgTlVMTCkuIElmIHRoZQpoZWxwZXJz IGp1c3QgZHRydCwgdGhlbiBpdCBzaG91bGQgdXNlIHRoYXQuCgo+ID4gKyAgICAgICAgICAgICAg IHBhZ2VfY2FjaGVfcmVsZWFzZShvYmotPnBhZ2VzW2ldKTsKPiA+ICsgICAgICAgfQo+ID4gKwo+ ID4gKyAgICAgICBkcm1fZnJlZV9sYXJnZShvYmotPnBhZ2VzKTsKPiA+ICsgICAgICAgb2JqLT5w YWdlcyA9IE5VTEw7Cj4gPiArfQo+ID4gKwo+ID4gK3N0YXRpYyB2b2lkIHZnZW1fZ2VtX2ZyZWVf b2JqZWN0KHN0cnVjdCBkcm1fZ2VtX29iamVjdCAqb2JqKQo+ID4gK3sKPiA+ICsgICAgICAgc3Ry dWN0IGRybV92Z2VtX2dlbV9vYmplY3QgKnZnZW1fb2JqID0gdG9fdmdlbV9ibyhvYmopOwo+ID4g Kwo+ID4gKyAgICAgICBkcm1fZ2VtX2ZyZWVfbW1hcF9vZmZzZXQob2JqKTsKPiA+ICsKPiA+ICsg ICAgICAgaWYgKHZnZW1fb2JqLT51c2VfZG1hX2J1ZiAmJiBvYmotPmRtYV9idWYpIHsKPiA+ICsg ICAgICAgICAgICAgICBkbWFfYnVmX3B1dChvYmotPmRtYV9idWYpOwo+ID4gKyAgICAgICAgICAg ICAgIG9iai0+ZG1hX2J1ZiA9IE5VTEw7Cj4gPiArICAgICAgIH0KPiA+ICsKPiA+ICsgICAgICAg ZHJtX2dlbV9vYmplY3RfcmVsZWFzZShvYmopOwo+ID4gKwo+ID4gKyAgICAgICBpZiAodmdlbV9v YmotPnBhZ2VzKQo+ID4gKyAgICAgICAgICAgICAgIHZnZW1fZ2VtX3B1dF9wYWdlcyh2Z2VtX29i aik7Cj4gPiArCj4gPiArICAgICAgIHZnZW1fb2JqLT5wYWdlcyA9IE5VTEw7Cj4gPiArCj4gPiAr ICAgICAgIGtmcmVlKHZnZW1fb2JqKTsKPiA+ICt9Cj4gPiArCj4gPiAraW50IHZnZW1fZ2VtX2dl dF9wYWdlcyhzdHJ1Y3QgZHJtX3ZnZW1fZ2VtX29iamVjdCAqb2JqKQo+ID4gK3sKPiA+ICsgICAg ICAgc3RydWN0IGFkZHJlc3Nfc3BhY2UgKm1hcHBpbmc7Cj4gPiArICAgICAgIGdmcF90IGdmcG1h c2sgPSBHRlBfS0VSTkVMOwo+ID4gKyAgICAgICBpbnQgbnVtX3BhZ2VzLCBpLCByZXQgPSAwOwo+ ID4gKwo+ID4gKyAgICAgICBpZiAob2JqLT5wYWdlcyB8fCBvYmotPnVzZV9kbWFfYnVmKQo+ID4g KyAgICAgICAgICAgICAgIHJldHVybiAwOwo+ID4gKwo+ID4gKyAgICAgICBudW1fcGFnZXMgPSBv YmotPmJhc2Uuc2l6ZSAvIFBBR0VfU0laRTsKPiA+ICsgICAgICAgb2JqLT5wYWdlcyA9IGRybV9t YWxsb2NfYWIobnVtX3BhZ2VzLCBzaXplb2Yoc3RydWN0IHBhZ2UgKikpOwo+ID4gKyAgICAgICBp ZiAob2JqLT5wYWdlcyA9PSBOVUxMKQo+ID4gKyAgICAgICAgICAgICAgIHJldHVybiAtRU5PTUVN Owo+ID4gKwo+ID4gKyAgICAgICBtYXBwaW5nID0gb2JqLT5iYXNlLmZpbHAtPmZfcGF0aC5kZW50 cnktPmRfaW5vZGUtPmlfbWFwcGluZzsKPiAKPiBhZ2Fpbiwgc2VlbXMgbGlrZSB5b3UgY291bGQg dXNlIGRybV9nZW1fZ2V0X3BhZ2VzKCkuLiBhbHRob3VnaCB5b3UgZ2V0Cj4gdGhlIG1hcHBpbmcg aW4gYSBzbGlnaHRseSBkaWZmZXJlbnQgd2F5Li4gbm90IHN1cmUgaWYgdGhhdCB3YXMKPiBpbnRl bnRpb25hbD8KPiAKCkFnYWluLCB0aGlzIHByZWRhdGVzIHRoZSBoZWxwZXJzIDpEIE15IG9yaWdp bmFsIHBhdGNoZXMgb24gdG9wIG9mIGFqYXggd2VyZSBmcm9tCkZlYi4gMjAxMi4gSGVscGVycyBz ZWVtIGxpa2UgdGhlIHJpZ2h0IHRoaW5nIHRvIGRvIG5vdy4KCj4gQlIsCj4gLVIKPiAKPiA+ICsg ICAgICAgZ2ZwbWFzayB8PSBtYXBwaW5nX2dmcF9tYXNrKG1hcHBpbmcpOwo+ID4gKwo+ID4gKyAg ICAgICBmb3IgKGkgPSAwOyBpIDwgbnVtX3BhZ2VzOyBpKyspIHsKPiA+ICsgICAgICAgICAgICAg ICBzdHJ1Y3QgcGFnZSAqcGFnZTsKPiA+ICsgICAgICAgICAgICAgICBvYmotPnBhZ2VzW2ldID0g TlVMTDsKPiA+ICsgICAgICAgICAgICAgICBwYWdlID0gc2htZW1fcmVhZF9tYXBwaW5nX3BhZ2Vf Z2ZwKG1hcHBpbmcsIGksIGdmcG1hc2spOwo+ID4gKyAgICAgICAgICAgICAgIGlmIChJU19FUlIo cGFnZSkpIHsKPiA+ICsgICAgICAgICAgICAgICAgICAgICAgIHJldCA9IFBUUl9FUlIocGFnZSk7 Cj4gPiArICAgICAgICAgICAgICAgICAgICAgICBnb3RvIGVycl9vdXQ7Cj4gPiArICAgICAgICAg ICAgICAgfQo+ID4gKyAgICAgICAgICAgICAgIG9iai0+cGFnZXNbaV0gPSBwYWdlOwo+ID4gKyAg ICAgICB9Cj4gPiArCj4gPiArICAgICAgIHJldHVybiByZXQ7Cj4gPiArCj4gPiArZXJyX291dDoK PiA+ICsgICAgICAgdmdlbV9nZW1fcHV0X3BhZ2VzKG9iaik7Cj4gPiArICAgICAgIHJldHVybiBy ZXQ7Cj4gPiArfQo+ID4gKwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3Rv cC5vcmcKaHR0cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1k ZXZlbAo=