From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tvrtko Ursulin Subject: Re: [PATCH 11/39] drm/i915: Allow userspace to clone contexts on creation Date: Thu, 14 Mar 2019 16:18:17 +0000 Message-ID: <1524aff3-bb74-afdf-9b21-c4a7678a860f@linux.intel.com> References: <20190313144401.17735-1-chris@chris-wilson.co.uk> <20190313144401.17735-11-chris@chris-wilson.co.uk> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by gabe.freedesktop.org (Postfix) with ESMTPS id A6C156E2EB for ; Thu, 14 Mar 2019 16:18:21 +0000 (UTC) In-Reply-To: <20190313144401.17735-11-chris@chris-wilson.co.uk> Content-Language: en-US List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Chris Wilson , intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org Ck9uIDEzLzAzLzIwMTkgMTQ6NDMsIENocmlzIFdpbHNvbiB3cm90ZToKPiBBIHVzZWNhc2UgYXJv c2Ugb3V0IG9mIGhhbmRsaW5nIGNvbnRleHQgcmVjb3ZlcnkgaW4gbWVzYSwgd2hlcmVieSB0aGV5 Cj4gd2lzaCB0byByZWNyZWF0ZSBhIGNvbnRleHQgd2l0aCBmcmVzaCBsb2dpY2FsIHN0YXRlIGJ1 dCBwcmVzZXJ2aW5nIGFsbAo+IG90aGVyIGRldGFpbHMgb2YgdGhlIG9yaWdpbmFsLiBDdXJyZW50 bHksIHRoZXkgY3JlYXRlIGEgbmV3IGNvbnRleHQgYW5kCj4gaXRlcmF0ZSBvdmVyIHdoaWNoIGJp dHMgdGhleSB3YW50IHRvIGNvcHkgYWNyb3NzLCBidXQgaXQgd291bGQgbXVjaCBtb3JlCj4gY29u dmVuaWVudCBpZiB0aGV5IHdlcmUgYWJsZSB0byBqdXN0IHBhc3MgaW4gYSB0YXJnZXQgY29udGV4 dCB0byBjbG9uZQo+IGR1cmluZyBjcmVhdGlvbi4gVGhpcyBlc3NlbnRpYWxseSBleHRlbmRzIHRo ZSBzZXRwYXJhbSBkdXJpbmcgY3JlYXRpb24KPiB0byBwdWxsIHRoZSBkZXRhaWxzIGZyb20gYSB0 YXJnZXQgY29udGV4dCBpbnN0ZWFkIG9mIHRoZSB1c2VyIHN1cHBsaWVkCj4gcGFyYW1ldGVycy4K Ck5vIGNoYW5nZSBsb2cgYWdhaW4uCgo+IFNpZ25lZC1vZmYtYnk6IENocmlzIFdpbHNvbiA8Y2hy aXNAY2hyaXMtd2lsc29uLmNvLnVrPgo+IC0tLQo+ICAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9nZW1fY29udGV4dC5jIHwgMTAzICsrKysrKysrKysrKysrKysrKysrKysrKwo+ICAgaW5jbHVk ZS91YXBpL2RybS9pOTE1X2RybS5oICAgICAgICAgICAgIHwgIDE0ICsrKysKPiAgIDIgZmlsZXMg Y2hhbmdlZCwgMTE3IGluc2VydGlvbnMoKykKPiAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV9nZW1fY29udGV4dC5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9n ZW1fY29udGV4dC5jCj4gaW5kZXggNGU0YjBiNWM0YmUwLi5iYWM1NDg1ODQwOTEgMTAwNjQ0Cj4g LS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fY29udGV4dC5jCj4gKysrIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fY29udGV4dC5jCj4gQEAgLTE0ODgsOCArMTQ4OCwx MTEgQEAgc3RhdGljIGludCBjcmVhdGVfc2V0cGFyYW0oc3RydWN0IGk5MTVfdXNlcl9leHRlbnNp b24gX191c2VyICpleHQsIHZvaWQgKmRhdGEpCj4gICAJcmV0dXJuIGN0eF9zZXRwYXJhbShkYXRh LCAmbG9jYWwuc2V0cGFyYW0pOwo+ICAgfQo+ICAgCj4gK3N0YXRpYyBpbnQgY2xvbmVfc3NldShz dHJ1Y3QgaTkxNV9nZW1fY29udGV4dCAqZHN0LAo+ICsJCSAgICAgIHN0cnVjdCBpOTE1X2dlbV9j b250ZXh0ICpzcmMpCj4gK3sKPiArCWNvbnN0IHN0cnVjdCBpbnRlbF9zc2V1IGRlZmF1bHRfc3Nl dSA9Cj4gKwkJaW50ZWxfZGV2aWNlX2RlZmF1bHRfc3NldShkc3QtPmk5MTUpOwo+ICsJc3RydWN0 IGludGVsX2VuZ2luZV9jcyAqZW5naW5lOwo+ICsJZW51bSBpbnRlbF9lbmdpbmVfaWQgaWQ7Cj4g Kwo+ICsJZm9yX2VhY2hfZW5naW5lKGVuZ2luZSwgZHN0LT5pOTE1LCBpZCkgewo+ICsJCXN0cnVj dCBpbnRlbF9jb250ZXh0ICpjZTsKPiArCQlzdHJ1Y3QgaW50ZWxfc3NldSBzc2V1Owo+ICsKPiAr CQljZSA9IGludGVsX2NvbnRleHRfbG9va3VwKHNyYywgZW5naW5lKTsKPiArCQlpZiAoIWNlKQo+ ICsJCQljb250aW51ZTsKPiArCj4gKwkJc3NldSA9IGNlLT5zc2V1Owo+ICsJCWlmICghbWVtY21w KCZzc2V1LCAmZGVmYXVsdF9zc2V1LCBzaXplb2Yoc3NldSkpKQo+ICsJCQljb250aW51ZTsKPiAr Cj4gKwkJY2UgPSBpbnRlbF9jb250ZXh0X3Bpbl9sb2NrKGRzdCwgZW5naW5lKTsKPiArCQlpZiAo SVNfRVJSKGNlKSkKPiArCQkJcmV0dXJuIFBUUl9FUlIoY2UpOwo+ICsKPiArCQljZS0+c3NldSA9 IHNzZXU7Cj4gKwkJaW50ZWxfY29udGV4dF9waW5fdW5sb2NrKGNlKTsKPiArCX0KPiArCj4gKwly ZXR1cm4gMDsKPiArfQo+ICsKPiArc3RhdGljIGludCBjcmVhdGVfY2xvbmUoc3RydWN0IGk5MTVf dXNlcl9leHRlbnNpb24gX191c2VyICpleHQsIHZvaWQgKmRhdGEpCj4gK3sKPiArCXN0cnVjdCBk cm1faTkxNV9nZW1fY29udGV4dF9jcmVhdGVfZXh0X2Nsb25lIGxvY2FsOwo+ICsJc3RydWN0IGk5 MTVfZ2VtX2NvbnRleHQgKmRzdCA9IGRhdGE7Cj4gKwlzdHJ1Y3QgaTkxNV9nZW1fY29udGV4dCAq c3JjOwo+ICsJaW50IGVycjsKPiArCj4gKwlpZiAoY29weV9mcm9tX3VzZXIoJmxvY2FsLCBleHQs IHNpemVvZihsb2NhbCkpKQo+ICsJCXJldHVybiAtRUZBVUxUOwo+ICsKPiArCWlmIChsb2NhbC5m bGFncyAmIEk5MTVfQ09OVEVYVF9DTE9ORV9VTktOT1dOKQo+ICsJCXJldHVybiAtRUlOVkFMOwo+ ICsKPiArCWlmIChsb2NhbC5yc3ZkKQo+ICsJCXJldHVybiAtRUlOVkFMOwo+ICsKPiArCWlmIChs b2NhbC5jbG9uZV9pZCA9PSBkc3QtPnVzZXJfaGFuZGxlKSAvKiBnb29kIGd1ZXNzISBkZW5pZWQu ICovCgpBcyBJIHNhaWQgaXQncyBhIGZ1bm55IGNvbW1lbnQgYnV0IHBsZWFzZSBwdXQgaW4gc29t ZXRoaW5nIG1vcmUgb2J2aW91cy4KCj4gKwkJcmV0dXJuIC1FTk9FTlQ7Cj4gKwo+ICsJcmN1X3Jl YWRfbG9jaygpOwo+ICsJc3JjID0gX19pOTE1X2dlbV9jb250ZXh0X2xvb2t1cF9yY3UoZHN0LT5m aWxlX3ByaXYsIGxvY2FsLmNsb25lX2lkKTsKPiArCXJjdV9yZWFkX3VubG9jaygpOwo+ICsJaWYg KCFzcmMpCj4gKwkJcmV0dXJuIC1FTk9FTlQ7Cj4gKwo+ICsJR0VNX0JVR19PTihzcmMgPT0gZHN0 KTsKPiArCj4gKwlpZiAobG9jYWwuZmxhZ3MgJiBJOTE1X0NPTlRFWFRfQ0xPTkVfRkxBR1MpCj4g KwkJZHN0LT51c2VyX2ZsYWdzID0gc3JjLT51c2VyX2ZsYWdzOwo+ICsKPiArCWlmIChsb2NhbC5m bGFncyAmIEk5MTVfQ09OVEVYVF9DTE9ORV9TQ0hFRCkKPiArCQlkc3QtPnNjaGVkID0gc3JjLT5z Y2hlZDsKPiArCj4gKwlpZiAobG9jYWwuZmxhZ3MgJiBJOTE1X0NPTlRFWFRfQ0xPTkVfU1NFVSkg ewo+ICsJCWVyciA9IGNsb25lX3NzZXUoZHN0LCBzcmMpOwo+ICsJCWlmIChlcnIpCj4gKwkJCXJl dHVybiBlcnI7Cj4gKwl9Cj4gKwo+ICsJaWYgKGxvY2FsLmZsYWdzICYgSTkxNV9DT05URVhUX0NM T05FX1RJTUVMSU5FICYmIHNyYy0+dGltZWxpbmUpIHsKPiArCQlpZiAoZHN0LT50aW1lbGluZSkK PiArCQkJaTkxNV90aW1lbGluZV9wdXQoZHN0LT50aW1lbGluZSk7Cj4gKwkJZHN0LT50aW1lbGlu ZSA9IGk5MTVfdGltZWxpbmVfZ2V0KHNyYy0+dGltZWxpbmUpOwo+ICsJfQo+ICsKPiArCWlmIChs b2NhbC5mbGFncyAmIEk5MTVfQ09OVEVYVF9DTE9ORV9WTSkgewo+ICsJCXN0cnVjdCBpOTE1X2h3 X3BwZ3R0ICpwcGd0dDsKPiArCj4gKwkJZG8gewo+ICsJCQlwcGd0dCA9IFJFQURfT05DRShzcmMt PnBwZ3R0KTsKPiArCQkJaWYgKCFwcGd0dCkKPiArCQkJCWJyZWFrOwo+ICsKPiArCQkJaWYgKCFr cmVmX2dldF91bmxlc3NfemVybygmcHBndHQtPnJlZikpCj4gKwkJCQljb250aW51ZTsKPiArCj4g KwkJCWlmIChwcGd0dCA9PSBSRUFEX09OQ0Uoc3JjLT5wcGd0dCkpCj4gKwkJCQlicmVhazsKClRo aXMgbG9vcCBuZWVkcyBhIGNvbW1lbnQuIEZvciBpbnN0YW5jZSBJIGRvbid0IHVuZGVyc3RhbmQg d2hhdCBpcyB0aGlzIApsaW5lIGZvci4gRmlyc3RseSwgd2UgaGF2ZSBhIHJlZmVyZW5jZSBvbiBw cGd0dCwgc28gd2hhdCBkbyB3ZSBjYXJlIGlmIAp0aGUgc291cmNlIGNvbnRleHQgaW4gdGhlIG1l YW50aW1lIGNoYW5nZWQgaXQ/IFNlY29uZGx5LCBldmVuIHRob3VnaCBpdCAKbWF0Y2hlcyBub3cs IHdoeSB3b3VsZCBpdCBzdGlsbCBtYXRjaCB3aGVuIHdlIGV4aXQgdGhlIGxvb3A/Cgo+ICsKPiAr CQkJaTkxNV9wcGd0dF9wdXQocHBndHQpOwo+ICsJCX0gd2hpbGUgKDEpOwo+ICsKPiArCQlpZiAo cHBndHQpIHsKPiArCQkJX19hc3NpZ25fcHBndHQoZHN0LCBwcGd0dCk7Cj4gKwkJCWk5MTVfcHBn dHRfcHV0KHBwZ3R0KTsKPiArCQl9Cj4gKwl9Cj4gKwo+ICsJcmV0dXJuIDA7Cj4gK30KPiArCj4g ICBzdGF0aWMgY29uc3QgaTkxNV91c2VyX2V4dGVuc2lvbl9mbiBjcmVhdGVfZXh0ZW5zaW9uc1td ID0gewo+ICAgCVtJOTE1X0NPTlRFWFRfQ1JFQVRFX0VYVF9TRVRQQVJBTV0gPSBjcmVhdGVfc2V0 cGFyYW0sCj4gKwlbSTkxNV9DT05URVhUX0NSRUFURV9FWFRfQ0xPTkVdID0gY3JlYXRlX2Nsb25l LAo+ICAgfTsKPiAgIAo+ICAgc3RhdGljIGJvb2wgY2xpZW50X2lzX2Jhbm5lZChzdHJ1Y3QgZHJt X2k5MTVfZmlsZV9wcml2YXRlICpmaWxlX3ByaXYpCj4gZGlmZiAtLWdpdCBhL2luY2x1ZGUvdWFw aS9kcm0vaTkxNV9kcm0uaCBiL2luY2x1ZGUvdWFwaS9kcm0vaTkxNV9kcm0uaAo+IGluZGV4IDUy MDZkMDAwNjA0My4uOTcxNDUyMGY0M2RhIDEwMDY0NAo+IC0tLSBhL2luY2x1ZGUvdWFwaS9kcm0v aTkxNV9kcm0uaAo+ICsrKyBiL2luY2x1ZGUvdWFwaS9kcm0vaTkxNV9kcm0uaAo+IEBAIC0xNTgx LDYgKzE1ODEsMjAgQEAgc3RydWN0IGRybV9pOTE1X2dlbV9jb250ZXh0X2NyZWF0ZV9leHRfc2V0 cGFyYW0gewo+ICAgCXN0cnVjdCBkcm1faTkxNV9nZW1fY29udGV4dF9wYXJhbSBzZXRwYXJhbTsK PiAgIH07Cj4gICAKPiArc3RydWN0IGRybV9pOTE1X2dlbV9jb250ZXh0X2NyZWF0ZV9leHRfY2xv bmUgewo+ICsjZGVmaW5lIEk5MTVfQ09OVEVYVF9DUkVBVEVfRVhUX0NMT05FIDEKPiArCXN0cnVj dCBpOTE1X3VzZXJfZXh0ZW5zaW9uIGJhc2U7Cj4gKwlfX3UzMiBjbG9uZV9pZDsKPiArCV9fdTMy IGZsYWdzOwo+ICsjZGVmaW5lIEk5MTVfQ09OVEVYVF9DTE9ORV9GTEFHUwkoMXUgPDwgMCkKPiAr I2RlZmluZSBJOTE1X0NPTlRFWFRfQ0xPTkVfU0NIRUQJKDF1IDw8IDEpCj4gKyNkZWZpbmUgSTkx NV9DT05URVhUX0NMT05FX1NTRVUJCSgxdSA8PCAyKQo+ICsjZGVmaW5lIEk5MTVfQ09OVEVYVF9D TE9ORV9USU1FTElORQkoMXUgPDwgMykKPiArI2RlZmluZSBJOTE1X0NPTlRFWFRfQ0xPTkVfVk0J CSgxdSA8PCA0KQo+ICsjZGVmaW5lIEk5MTVfQ09OVEVYVF9DTE9ORV9VTktOT1dOIC0oSTkxNV9D T05URVhUX0NMT05FX1ZNIDw8IDEpCj4gKwlfX3U2NCByc3ZkOwo+ICt9OwoKU29tZSB1YXBpIGRv Y3MgYXJlIG5lZWRlZC4KCj4gKwo+ICAgc3RydWN0IGRybV9pOTE1X2dlbV9jb250ZXh0X2Rlc3Ry b3kgewo+ICAgCV9fdTMyIGN0eF9pZDsKPiAgIAlfX3UzMiBwYWQ7Cj4gCgpSZWdhcmRzLAoKVHZy dGtvCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVs LWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczov L2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeA==