From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tvrtko Ursulin Subject: Re: [PATCH 31/38] drm/i915: Track the pinned kernel contexts on each engine Date: Tue, 5 Mar 2019 18:07:39 +0000 Message-ID: References: <20190301140404.26690-1-chris@chris-wilson.co.uk> <20190301140404.26690-31-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 mga06.intel.com (mga06.intel.com [134.134.136.31]) by gabe.freedesktop.org (Postfix) with ESMTPS id E967F89356 for ; Tue, 5 Mar 2019 18:07:41 +0000 (UTC) In-Reply-To: <20190301140404.26690-31-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 Ck9uIDAxLzAzLzIwMTkgMTQ6MDMsIENocmlzIFdpbHNvbiB3cm90ZToKPiBFYWNoIGVuZ2luZSBh Y3F1aXJlcyBhIHBpbiBvbiB0aGUga2VybmVsIGNvbnRleHRzIChub3JtYWwgYW5kIHByZWVtcHQp Cj4gc28gdGhhdCB0aGUgbG9naWNhbCBzdGF0ZSBpcyBhbHdheXMgYXZhaWxhYmxlIG9uIGRlbWFu ZC4gS2VlcCB0cmFjayBvZgo+IGVhY2ggZW5naW5lcyBwaW4gYnkgc3RvcmluZyB0aGUgcmV0dXJu ZWQgcG9pbnRlciBvbiB0aGUgZW5naW5lIGZvciBxdWljawo+IGFjY2Vzcy4KPiAKPiBTaWduZWQt b2ZmLWJ5OiBDaHJpcyBXaWxzb24gPGNocmlzQGNocmlzLXdpbHNvbi5jby51az4KPiAtLS0KPiAg IGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2VuZ2luZV9jcy5jICAgICAgIHwgNjUgKysrKysr KysrKy0tLS0tLS0tLS0KPiAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2VuZ2luZV90eXBl cy5oICAgIHwgIDggKy0tCj4gICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9ndWNfYWRzLmMg ICAgICAgICB8ICAzICstCj4gICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9scmMuYyAgICAg ICAgICAgICB8IDEzICsrLS0KPiAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3JpbmdidWZm ZXIuYyAgICAgIHwgIDMgKy0KPiAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L3NlbGZ0ZXN0cy9tb2Nr X2VuZ2luZS5jIHwgIDUgKy0KPiAgIDYgZmlsZXMgY2hhbmdlZCwgNDUgaW5zZXJ0aW9ucygrKSwg NTIgZGVsZXRpb25zKC0pCj4gCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX2VuZ2luZV9jcy5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZW5naW5lX2NzLmMK PiBpbmRleCAxMTIzMDE1NjA3NDUuLjBmMzExNzUyZWUwOCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9lbmdpbmVfY3MuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2VuZ2luZV9jcy5jCj4gQEAgLTY0MSwxMiArNjQxLDYgQEAgdm9pZCBpbnRlbF9l bmdpbmVzX3NldF9zY2hlZHVsZXJfY2FwcyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSkK PiAgIAkJaTkxNS0+Y2Fwcy5zY2hlZHVsZXIgPSAwOwo+ICAgfQo+ICAgCj4gLXN0YXRpYyB2b2lk IF9faW50ZWxfY29udGV4dF91bnBpbihzdHJ1Y3QgaTkxNV9nZW1fY29udGV4dCAqY3R4LAo+IC0J CQkJICBzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUpCj4gLXsKPiAtCWludGVsX2NvbnRl eHRfdW5waW4oaW50ZWxfY29udGV4dF9sb29rdXAoY3R4LCBlbmdpbmUpKTsKPiAtfQo+IC0KPiAg IHN0cnVjdCBtZWFzdXJlX2JyZWFkY3J1bWIgewo+ICAgCXN0cnVjdCBpOTE1X3JlcXVlc3QgcnE7 Cj4gICAJc3RydWN0IGk5MTVfdGltZWxpbmUgdGltZWxpbmU7Cj4gQEAgLTY5Nyw2ICs2OTEsMjAg QEAgc3RhdGljIGludCBtZWFzdXJlX2JyZWFkY3J1bWJfZHcoc3RydWN0IGludGVsX2VuZ2luZV9j cyAqZW5naW5lKQo+ICAgCXJldHVybiBkdzsKPiAgIH0KPiAgIAo+ICtzdGF0aWMgaW50IHBpbl9j b250ZXh0KHN0cnVjdCBpOTE1X2dlbV9jb250ZXh0ICpjdHgsCj4gKwkJICAgICAgIHN0cnVjdCBp bnRlbF9lbmdpbmVfY3MgKmVuZ2luZSwKPiArCQkgICAgICAgc3RydWN0IGludGVsX2NvbnRleHQg KipvdXQpCj4gK3sKPiArCXN0cnVjdCBpbnRlbF9jb250ZXh0ICpjZTsKPiArCj4gKwljZSA9IGlu dGVsX2NvbnRleHRfcGluKGN0eCwgZW5naW5lKTsKPiArCWlmIChJU19FUlIoY2UpKQo+ICsJCXJl dHVybiBQVFJfRVJSKGNlKTsKPiArCj4gKwkqb3V0ID0gY2U7Cj4gKwlyZXR1cm4gMDsKPiArfQo+ ICsKPiAgIC8qKgo+ICAgICogaW50ZWxfZW5naW5lc19pbml0X2NvbW1vbiAtIGluaXRpYWxpemUg Y2VuZ2luZSBzdGF0ZSB3aGljaCBtaWdodCByZXF1aXJlIGh3IGFjY2Vzcwo+ICAgICogQGVuZ2lu ZTogRW5naW5lIHRvIGluaXRpYWxpemUuCj4gQEAgLTcxMSwxMSArNzE5LDggQEAgc3RhdGljIGlu dCBtZWFzdXJlX2JyZWFkY3J1bWJfZHcoc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lKQo+ ICAgaW50IGludGVsX2VuZ2luZV9pbml0X2NvbW1vbihzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICpl bmdpbmUpCj4gICB7Cj4gICAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUgPSBlbmdpbmUt Pmk5MTU7Cj4gLQlzdHJ1Y3QgaW50ZWxfY29udGV4dCAqY2U7Cj4gICAJaW50IHJldDsKPiAgIAo+ IC0JZW5naW5lLT5zZXRfZGVmYXVsdF9zdWJtaXNzaW9uKGVuZ2luZSk7Cj4gLQo+ICAgCS8qIFdl IG1heSBuZWVkIHRvIGRvIHRoaW5ncyB3aXRoIHRoZSBzaHJpbmtlciB3aGljaAo+ICAgCSAqIHJl cXVpcmUgdXMgdG8gaW1tZWRpYXRlbHkgc3dpdGNoIGJhY2sgdG8gdGhlIGRlZmF1bHQKPiAgIAkg KiBjb250ZXh0LiBUaGlzIGNhbiBjYXVzZSBhIHByb2JsZW0gYXMgcGlubmluZyB0aGUKPiBAQCAt NzIzLDM2ICs3MjgsMzQgQEAgaW50IGludGVsX2VuZ2luZV9pbml0X2NvbW1vbihzdHJ1Y3QgaW50 ZWxfZW5naW5lX2NzICplbmdpbmUpCj4gICAJICogYmUgYXZhaWxhYmxlLiBUbyBhdm9pZCB0aGlz IHdlIGFsd2F5cyBwaW4gdGhlIGRlZmF1bHQKPiAgIAkgKiBjb250ZXh0Lgo+ICAgCSAqLwo+IC0J Y2UgPSBpbnRlbF9jb250ZXh0X3BpbihpOTE1LT5rZXJuZWxfY29udGV4dCwgZW5naW5lKTsKPiAt CWlmIChJU19FUlIoY2UpKQo+IC0JCXJldHVybiBQVFJfRVJSKGNlKTsKPiArCXJldCA9IHBpbl9j b250ZXh0KGk5MTUtPmtlcm5lbF9jb250ZXh0LCBlbmdpbmUsCj4gKwkJCSAgJmVuZ2luZS0+a2Vy bmVsX2NvbnRleHQpOwo+ICsJaWYgKHJldCkKPiArCQlyZXR1cm4gcmV0Owo+ICAgCj4gICAJLyoK PiAgIAkgKiBTaW1pbGFybHkgdGhlIHByZWVtcHQgY29udGV4dCBtdXN0IGFsd2F5cyBiZSBhdmFp bGFibGUgc28gdGhhdAo+IC0JICogd2UgY2FuIGludGVycnVwdCB0aGUgZW5naW5lIGF0IGFueSB0 aW1lLgo+ICsJICogd2UgY2FuIGludGVycnVwdCB0aGUgZW5naW5lIGF0IGFueSB0aW1lLiBIb3dl dmVyLCBhcyBwcmVlbXB0aW9uCj4gKwkgKiBpcyBvcHRpb25hbCwgd2UgYWxsb3cgaXQgdG8gZmFp bC4KPiAgIAkgKi8KPiAtCWlmIChpOTE1LT5wcmVlbXB0X2NvbnRleHQpIHsKPiAtCQljZSA9IGlu dGVsX2NvbnRleHRfcGluKGk5MTUtPnByZWVtcHRfY29udGV4dCwgZW5naW5lKTsKPiAtCQlpZiAo SVNfRVJSKGNlKSkgewo+IC0JCQlyZXQgPSBQVFJfRVJSKGNlKTsKPiAtCQkJZ290byBlcnJfdW5w aW5fa2VybmVsOwo+IC0JCX0KPiAtCX0KPiArCWlmIChpOTE1LT5wcmVlbXB0X2NvbnRleHQpCj4g KwkJcGluX2NvbnRleHQoaTkxNS0+cHJlZW1wdF9jb250ZXh0LCBlbmdpbmUsCj4gKwkJCSAgICAm ZW5naW5lLT5wcmVlbXB0X2NvbnRleHQpOwoKWW91IGxvc3QgdGhlIGZhaWx1cmUgcGF0aCBoZXJl LiBJIHN1c3BlY3QgZGVsaWJlcmF0ZWx5PyBCdXQgSSBhbSBub3QgCmNvbnZpbmNlZCB3ZSB3YW50 IHRvIHNpbGVudGx5IGxvc2UgcHJlZW1wdGlvbiB3aGVuIGtlZXBpbmcgdGhlIGZhaWx1cmUgCnBh dGggaXMgc28gZWFzeS4KCj4gICAKPiAgIAlyZXQgPSBtZWFzdXJlX2JyZWFkY3J1bWJfZHcoZW5n aW5lKTsKPiAgIAlpZiAocmV0IDwgMCkKPiAtCQlnb3RvIGVycl91bnBpbl9wcmVlbXB0Owo+ICsJ CWdvdG8gZXJyX3VucGluOwo+ICAgCj4gICAJZW5naW5lLT5lbWl0X2ZpbmlfYnJlYWRjcnVtYl9k dyA9IHJldDsKPiAgIAo+IC0JcmV0dXJuIDA7Cj4gKwllbmdpbmUtPnNldF9kZWZhdWx0X3N1Ym1p c3Npb24oZW5naW5lKTsKPiAgIAo+IC1lcnJfdW5waW5fcHJlZW1wdDoKPiAtCWlmIChpOTE1LT5w cmVlbXB0X2NvbnRleHQpCj4gLQkJX19pbnRlbF9jb250ZXh0X3VucGluKGk5MTUtPnByZWVtcHRf Y29udGV4dCwgZW5naW5lKTsKPiArCXJldHVybiAwOwo+ICAgCj4gLWVycl91bnBpbl9rZXJuZWw6 Cj4gLQlfX2ludGVsX2NvbnRleHRfdW5waW4oaTkxNS0+a2VybmVsX2NvbnRleHQsIGVuZ2luZSk7 Cj4gK2Vycl91bnBpbjoKPiArCWlmIChlbmdpbmUtPnByZWVtcHRfY29udGV4dCkKPiArCQlpbnRl bF9jb250ZXh0X3VucGluKGVuZ2luZS0+cHJlZW1wdF9jb250ZXh0KTsKPiArCWludGVsX2NvbnRl eHRfdW5waW4oZW5naW5lLT5rZXJuZWxfY29udGV4dCk7Cj4gICAJcmV0dXJuIHJldDsKPiAgIH0K PiAgIAo+IEBAIC03NjUsOCArNzY4LDYgQEAgaW50IGludGVsX2VuZ2luZV9pbml0X2NvbW1vbihz dHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUpCj4gICAgKi8KPiAgIHZvaWQgaW50ZWxfZW5n aW5lX2NsZWFudXBfY29tbW9uKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSkKPiAgIHsK PiAtCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1ID0gZW5naW5lLT5pOTE1Owo+IC0KPiAg IAljbGVhbnVwX3N0YXR1c19wYWdlKGVuZ2luZSk7Cj4gICAKPiAgIAlpbnRlbF9lbmdpbmVfZmlu aV9icmVhZGNydW1icyhlbmdpbmUpOwo+IEBAIC03NzYsOSArNzc3LDkgQEAgdm9pZCBpbnRlbF9l bmdpbmVfY2xlYW51cF9jb21tb24oc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lKQo+ICAg CWlmIChlbmdpbmUtPmRlZmF1bHRfc3RhdGUpCj4gICAJCWk5MTVfZ2VtX29iamVjdF9wdXQoZW5n aW5lLT5kZWZhdWx0X3N0YXRlKTsKPiAgIAo+IC0JaWYgKGk5MTUtPnByZWVtcHRfY29udGV4dCkK PiAtCQlfX2ludGVsX2NvbnRleHRfdW5waW4oaTkxNS0+cHJlZW1wdF9jb250ZXh0LCBlbmdpbmUp Owo+IC0JX19pbnRlbF9jb250ZXh0X3VucGluKGk5MTUtPmtlcm5lbF9jb250ZXh0LCBlbmdpbmUp Owo+ICsJaWYgKGVuZ2luZS0+cHJlZW1wdF9jb250ZXh0KQo+ICsJCWludGVsX2NvbnRleHRfdW5w aW4oZW5naW5lLT5wcmVlbXB0X2NvbnRleHQpOwo+ICsJaW50ZWxfY29udGV4dF91bnBpbihlbmdp bmUtPmtlcm5lbF9jb250ZXh0KTsKPiAgIAo+ICAgCWk5MTVfdGltZWxpbmVfZmluaSgmZW5naW5l LT50aW1lbGluZSk7Cj4gICAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfZW5naW5lX3R5cGVzLmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9lbmdpbmVfdHlw ZXMuaAo+IGluZGV4IGFlZmM2NjYwNTcyOS4uODUxNThlMTE5NjM4IDEwMDY0NAo+IC0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2VuZ2luZV90eXBlcy5oCj4gKysrIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfZW5naW5lX3R5cGVzLmgKPiBAQCAtMjMxLDExICsyMzEsNiBAQCBz dHJ1Y3QgaW50ZWxfZW5naW5lX2V4ZWNsaXN0cyB7Cj4gICAJICovCj4gICAJdTMyICpjc2Jfc3Rh dHVzOwo+ICAgCj4gLQkvKioKPiAtCSAqIEBwcmVlbXB0X2NvbnRleHQ6IHRoZSBIVyBjb250ZXh0 IGZvciBpbmplY3RpbmcgcHJlZW1wdC10by1pZGxlCj4gLQkgKi8KPiAtCXN0cnVjdCBpbnRlbF9j b250ZXh0ICpwcmVlbXB0X2NvbnRleHQ7Cj4gLQo+ICAgCS8qKgo+ICAgCSAqIEBwcmVlbXB0X2Nv bXBsZXRlX3N0YXR1czogZXhwZWN0ZWQgQ1NCIHVwb24gY29tcGxldGluZyBwcmVlbXB0aW9uCj4g ICAJICovCj4gQEAgLTI3MSw2ICsyNjYsOSBAQCBzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzIHsKPiAg IAo+ICAgCXN0cnVjdCBpOTE1X3RpbWVsaW5lIHRpbWVsaW5lOwo+ICAgCj4gKwlzdHJ1Y3QgaW50 ZWxfY29udGV4dCAqa2VybmVsX2NvbnRleHQ7IC8qIHBpbm5lZCAqLwo+ICsJc3RydWN0IGludGVs X2NvbnRleHQgKnByZWVtcHRfY29udGV4dDsgLyogcGlubmVkOyBvcHRpb25hbCAqLwo+ICsKPiAg IAlzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqZGVmYXVsdF9zdGF0ZTsKPiAgIAl2b2lkICpw aW5uZWRfZGVmYXVsdF9zdGF0ZTsKPiAgIAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9ndWNfYWRzLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9ndWNfYWRz LmMKPiBpbmRleCBkYTIyMDU2MWFjNDEuLjVmYTE2OWRhZGQ2NyAxMDA2NDQKPiAtLS0gYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9ndWNfYWRzLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9ndWNfYWRzLmMKPiBAQCAtMTIxLDggKzEyMSw3IEBAIGludCBpbnRlbF9ndWNf YWRzX2NyZWF0ZShzdHJ1Y3QgaW50ZWxfZ3VjICpndWMpCj4gICAJICogdG8gZmluZCBpdC4gTm90 ZSB0aGF0IHdlIGhhdmUgdG8gc2tpcCBvdXIgaGVhZGVyICgxIHBhZ2UpLAo+ICAgCSAqIGJlY2F1 c2Ugb3VyIEd1QyBzaGFyZWQgZGF0YSBpcyB0aGVyZS4KPiAgIAkgKi8KPiAtCWtlcm5lbF9jdHhf dm1hID0gaW50ZWxfY29udGV4dF9sb29rdXAoZGV2X3ByaXYtPmtlcm5lbF9jb250ZXh0LAo+IC0J CQkJCSAgICAgIGRldl9wcml2LT5lbmdpbmVbUkNTXSktPnN0YXRlOwo+ICsJa2VybmVsX2N0eF92 bWEgPSBkZXZfcHJpdi0+ZW5naW5lW1JDU10tPmtlcm5lbF9jb250ZXh0LT5zdGF0ZTsKPiAgIAli bG9iLT5hZHMuZ29sZGVuX2NvbnRleHRfbHJjYSA9Cj4gICAJCWludGVsX2d1Y19nZ3R0X29mZnNl dChndWMsIGtlcm5lbF9jdHhfdm1hKSArIHNraXBwZWRfb2Zmc2V0Owo+ICAgCj4gZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5jIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfbHJjLmMKPiBpbmRleCA4ZGRkZWE4ZTFjOTcuLjQ3M2NmZWE0YzUwMyAxMDA2NDQK PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9scmMuYwo+ICsrKyBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX2xyYy5jCj4gQEAgLTYyMCw3ICs2MjAsNyBAQCBzdGF0aWMgdm9p ZCBwb3J0X2Fzc2lnbihzdHJ1Y3QgZXhlY2xpc3RfcG9ydCAqcG9ydCwgc3RydWN0IGk5MTVfcmVx dWVzdCAqcnEpCj4gICBzdGF0aWMgdm9pZCBpbmplY3RfcHJlZW1wdF9jb250ZXh0KHN0cnVjdCBp bnRlbF9lbmdpbmVfY3MgKmVuZ2luZSkKPiAgIHsKPiAgIAlzdHJ1Y3QgaW50ZWxfZW5naW5lX2V4 ZWNsaXN0cyAqZXhlY2xpc3RzID0gJmVuZ2luZS0+ZXhlY2xpc3RzOwo+IC0Jc3RydWN0IGludGVs X2NvbnRleHQgKmNlID0gZXhlY2xpc3RzLT5wcmVlbXB0X2NvbnRleHQ7Cj4gKwlzdHJ1Y3QgaW50 ZWxfY29udGV4dCAqY2UgPSBlbmdpbmUtPnByZWVtcHRfY29udGV4dDsKPiAgIAl1bnNpZ25lZCBp bnQgbjsKPiAgIAo+ICAgCUdFTV9CVUdfT04oZXhlY2xpc3RzLT5wcmVlbXB0X2NvbXBsZXRlX3N0 YXR1cyAhPQo+IEBAIC0yMzE2LDcgKzIzMTYsNyBAQCB2b2lkIGludGVsX2V4ZWNsaXN0c19zZXRf ZGVmYXVsdF9zdWJtaXNzaW9uKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSkKPiAgIAo+ ICAgCWVuZ2luZS0+ZmxhZ3MgfD0gSTkxNV9FTkdJTkVfSEFTX1NFTUFQSE9SRVM7Cj4gICAJZW5n aW5lLT5mbGFncyB8PSBJOTE1X0VOR0lORV9TVVBQT1JUU19TVEFUUzsKPiAtCWlmIChlbmdpbmUt Pmk5MTUtPnByZWVtcHRfY29udGV4dCkKPiArCWlmIChlbmdpbmUtPnByZWVtcHRfY29udGV4dCkK PiAgIAkJZW5naW5lLT5mbGFncyB8PSBJOTE1X0VOR0lORV9IQVNfUFJFRU1QVElPTjsKPiAgIH0K PiAgIAo+IEBAIC0yNDE4LDE0ICsyNDE4LDkgQEAgc3RhdGljIGludCBsb2dpY2FsX3JpbmdfaW5p dChzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUpCj4gICAJfQo+ICAgCj4gICAJZXhlY2xp c3RzLT5wcmVlbXB0X2NvbXBsZXRlX3N0YXR1cyA9IH4wdTsKPiAtCWlmIChpOTE1LT5wcmVlbXB0 X2NvbnRleHQpIHsKPiAtCQlzdHJ1Y3QgaW50ZWxfY29udGV4dCAqY2UgPQo+IC0JCQlpbnRlbF9j b250ZXh0X2xvb2t1cChpOTE1LT5wcmVlbXB0X2NvbnRleHQsIGVuZ2luZSk7Cj4gLQo+IC0JCWV4 ZWNsaXN0cy0+cHJlZW1wdF9jb250ZXh0ID0gY2U7Cj4gKwlpZiAoZW5naW5lLT5wcmVlbXB0X2Nv bnRleHQpCj4gICAJCWV4ZWNsaXN0cy0+cHJlZW1wdF9jb21wbGV0ZV9zdGF0dXMgPQo+IC0JCQl1 cHBlcl8zMl9iaXRzKGNlLT5scmNfZGVzYyk7Cj4gLQl9Cj4gKwkJCXVwcGVyXzMyX2JpdHMoZW5n aW5lLT5wcmVlbXB0X2NvbnRleHQtPmxyY19kZXNjKTsKPiAgIAo+ICAgCWV4ZWNsaXN0cy0+Y3Ni X3N0YXR1cyA9Cj4gICAJCSZlbmdpbmUtPnN0YXR1c19wYWdlLmFkZHJbSTkxNV9IV1NfQ1NCX0JV RjBfSU5ERVhdOwo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9yaW5n YnVmZmVyLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9yaW5nYnVmZmVyLmMKPiBpbmRl eCA2YWYyZDM5M2I3ZmYuLjRmMTM3ZDBhNTMxNiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9yaW5nYnVmZmVyLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9yaW5nYnVmZmVyLmMKPiBAQCAtMTczNCw4ICsxNzM0LDcgQEAgc3RhdGljIGlubGluZSBp bnQgbWlfc2V0X2NvbnRleHQoc3RydWN0IGk5MTVfcmVxdWVzdCAqcnEsIHUzMiBmbGFncykKPiAg IAkJICogcGxhY2Vob2xkZXIgd2UgdXNlIHRvIGZsdXNoIG90aGVyIGNvbnRleHRzLgo+ICAgCQkg Ki8KPiAgIAkJKmNzKysgPSBNSV9TRVRfQ09OVEVYVDsKPiAtCQkqY3MrKyA9IGk5MTVfZ2d0dF9v ZmZzZXQoaW50ZWxfY29udGV4dF9sb29rdXAoaTkxNS0+a2VybmVsX2NvbnRleHQsCj4gLQkJCQkJ CQkgICAgICBlbmdpbmUpLT5zdGF0ZSkgfAo+ICsJCSpjcysrID0gaTkxNV9nZ3R0X29mZnNldChl bmdpbmUtPmtlcm5lbF9jb250ZXh0LT5zdGF0ZSkgfAo+ICAgCQkJTUlfTU1fU1BBQ0VfR1RUIHwK PiAgIAkJCU1JX1JFU1RPUkVfSU5ISUJJVDsKPiAgIAl9Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L3NlbGZ0ZXN0cy9tb2NrX2VuZ2luZS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvc2VsZnRlc3RzL21vY2tfZW5naW5lLmMKPiBpbmRleCA1YTVjM2JhMjIwNjEuLjY0MzRlOTY4 ZWNiMCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9zZWxmdGVzdHMvbW9ja19l bmdpbmUuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L3NlbGZ0ZXN0cy9tb2NrX2VuZ2lu ZS5jCj4gQEAgLTIzMyw3ICsyMzMsOCBAQCBzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICptb2NrX2Vu Z2luZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSwKPiAgIAl0aW1lcl9zZXR1cCgmZW5n aW5lLT5od19kZWxheSwgaHdfZGVsYXlfY29tcGxldGUsIDApOwo+ICAgCUlOSVRfTElTVF9IRUFE KCZlbmdpbmUtPmh3X3F1ZXVlKTsKPiAgIAo+IC0JaWYgKElTX0VSUihpbnRlbF9jb250ZXh0X3Bp bihpOTE1LT5rZXJuZWxfY29udGV4dCwgJmVuZ2luZS0+YmFzZSkpKQo+ICsJaWYgKHBpbl9jb250 ZXh0KGk5MTUtPmtlcm5lbF9jb250ZXh0LCAmZW5naW5lLT5iYXNlLAo+ICsJCQkmZW5naW5lLT5i YXNlLmtlcm5lbF9jb250ZXh0KSkKPiAgIAkJZ290byBlcnJfYnJlYWRjcnVtYnM7Cj4gICAKPiAg IAlyZXR1cm4gJmVuZ2luZS0+YmFzZTsKPiBAQCAtMjc2LDcgKzI3Nyw3IEBAIHZvaWQgbW9ja19l bmdpbmVfZnJlZShzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUpCj4gICAJaWYgKGNlKQo+ ICAgCQlpbnRlbF9jb250ZXh0X3VucGluKGNlKTsKPiAgIAo+IC0JX19pbnRlbF9jb250ZXh0X3Vu cGluKGVuZ2luZS0+aTkxNS0+a2VybmVsX2NvbnRleHQsIGVuZ2luZSk7Cj4gKwlpbnRlbF9jb250 ZXh0X3VucGluKGVuZ2luZS0+a2VybmVsX2NvbnRleHQpOwo+ICAgCj4gICAJaW50ZWxfZW5naW5l X2ZpbmlfYnJlYWRjcnVtYnMoZW5naW5lKTsKPiAgIAlpOTE1X3RpbWVsaW5lX2ZpbmkoJmVuZ2lu ZS0+dGltZWxpbmUpOwo+IAoKUmVnYXJkcywKClR2cnRrbwpfX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdm eEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFp bG1hbi9saXN0aW5mby9pbnRlbC1nZng=