From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tvrtko Ursulin Subject: Re: [PATCH 23/24] drm/i915: Keep a recent cache of freed contexts objects for reuse Date: Mon, 22 May 2017 11:51:27 +0100 Message-ID: <33565d05-ba2c-09ec-ad38-00349f3976ec@linux.intel.com> References: <20170518094638.5469-1-chris@chris-wilson.co.uk> <20170518094638.5469-23-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 mga09.intel.com (mga09.intel.com [134.134.136.24]) by gabe.freedesktop.org (Postfix) with ESMTPS id C458C6E201 for ; Mon, 22 May 2017 10:51:30 +0000 (UTC) In-Reply-To: <20170518094638.5469-23-chris@chris-wilson.co.uk> 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 Ck9uIDE4LzA1LzIwMTcgMTA6NDYsIENocmlzIFdpbHNvbiB3cm90ZToKPiBLZWVwIHRoZSByZWNl bnRseSBmcmVlZCBjb250ZXh0IG9iamVjdHMgZm9yIHJldXNlLiBUaGlzIGFsbG93cyB1cyB0byB1 c2UKPiB0aGUgY3VycmVudCBHR1RUIGJpbmRpbmdzIGFuZCBkbWEgYm91bmQgcGFnZXMsIGF2b2lk aW5nIGFueSBjbGZsdXNoZXMgYXMKPiByZXF1aXJlZC4gV2UgbWFyayB0aGUgb2JqZWN0cyBhcyBw dXJnZWFibGUgdW5kZXIgbWVtb3J5IHByZXNzdXJlLCBhbmQKPiByZWFwIHRoZSBsaXN0IG9mIGZy ZWVkIG9iamVjdHMgYXMgc29vbiBhcyB0aGUgZGV2aWNlIGlzIGlkbGUuCgpPbmUgYWRkaXRpb25h bCB0aG91Z2h0IC0gaG93IGFib3V0IG1ha2luZyB0aGUgYmF0Y2ggcG9vbCBtb3JlIGdlbmVyaWMs IApvciBtb3JlIHByZWNpc2VseSBleHRyYWN0aW5nIGEgbGF5ZXIgZnJvbSBpdCB0byBiZSBjYWxs ZWQgb2JqZWN0IHBvb2wsIAphbmQgdGhlbiBoYXZpbmcgYmF0Y2ggcG9vbCBhbmQgY29udGV4dCBw b29sIG9uIHRvcCBvZiB0aGF0PwoKVGhlcmUgd291bGQgYmUgc29tZSBkZXRhaWxzIHRvIGZsZXNo IG91dCwgbGlrZSBkbyB3ZSB3YW50IHRvIHN0cmljdGx5IApzcGxpdCBpbnRlcm5hbCBmcm9tIHNo bWVtZnMgYmFja2VkIG9iamVjdHMsIG9yIGNhbiBhbGxvdyBiYXRjaCBwb29sIHRvIApnZXQgZWl0 aGVyLCB0aGUgQVBJIGFuZCBzaW1pbGFyLgoKQnV0IGlmIGl0IGNvdWxkIGJlIGRvbmUgd2l0aCBu b3QgYSBsb3Qgb2YgY29kZSBpdCBtYXkgYmUgcHJlZmVyZW50aWFsIHRvIApoYXZlIG9uZSBpbXBs ZW1lbnRhdGlvbiBvZiB0aGUgc2ltaWxhciBiYXNpYyBpZGVhLgoKUmVnYXJkcywKClR2cnRrbwoK PiBTaWduZWQtb2ZmLWJ5OiBDaHJpcyBXaWxzb24gPGNocmlzQGNocmlzLXdpbHNvbi5jby51az4K PiAtLS0KPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaCAgICAgICAgICAgICAgICAg IHwgIDIgKwo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jICAgICAgICAgICAgICAg ICAgfCAgMSArCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2NvbnRleHQuYyAgICAg ICAgICB8IDU5ICsrKysrKysrKysrKysrKysrKysrKystLQo+ICBkcml2ZXJzL2dwdS9kcm0vaTkx NS9pOTE1X2dlbV9jb250ZXh0LmggICAgICAgICAgfCAgNSArKwo+ICBkcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9scmMuYyAgICAgICAgICAgICAgICAgfCAgMiArLQo+ICBkcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9yaW5nYnVmZmVyLmMgICAgICAgICAgfCAgMiArLQo+ICBkcml2ZXJzL2dw dS9kcm0vaTkxNS9zZWxmdGVzdHMvbW9ja19jb250ZXh0LmMgICAgfCAgMSArCj4gIGRyaXZlcnMv Z3B1L2RybS9pOTE1L3NlbGZ0ZXN0cy9tb2NrX2dlbV9kZXZpY2UuYyB8ICAxICsKPiAgOCBmaWxl cyBjaGFuZ2VkLCA2OCBpbnNlcnRpb25zKCspLCA1IGRlbGV0aW9ucygtKQo+Cj4gZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pOTE1X2Rydi5oCj4gaW5kZXggMWQ1NWJiZGU2OGRmLi4xZmExZTdkNDhmMDIgMTAwNjQ0Cj4g LS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAo+ICsrKyBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfZHJ2LmgKPiBAQCAtMjMxNiw2ICsyMzE2LDggQEAgc3RydWN0IGRybV9p OTE1X3ByaXZhdGUgewo+ICAJCXN0cnVjdCBsbGlzdF9oZWFkIGZyZWVfbGlzdDsKPiAgCQlzdHJ1 Y3Qgd29ya19zdHJ1Y3QgZnJlZV93b3JrOwo+Cj4gKwkJc3RydWN0IGxpc3RfaGVhZCBmcmVlZF9v YmplY3RzOwo+ICsKPiAgCQkvKiBUaGUgaHcgd2FudHMgdG8gaGF2ZSBhIHN0YWJsZSBjb250ZXh0 IGlkZW50aWZpZXIgZm9yIHRoZQo+ICAJCSAqIGxpZmV0aW1lIG9mIHRoZSBjb250ZXh0IChmb3Ig T0EsIFBBU0lELCBmYXVsdHMsIGV0YykuCj4gIAkJICogVGhpcyBpcyBsaW1pdGVkIGluIGV4ZWNs aXN0cyB0byAyMSBiaXRzLgo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X2dlbS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYwo+IGluZGV4IGMwNDRiNWRi ZGI2Ni4uZjQ4MmMzMjBkODEwIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfZ2VtLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jCj4gQEAgLTMy MTIsNiArMzIxMiw3IEBAIGk5MTVfZ2VtX2lkbGVfd29ya19oYW5kbGVyKHN0cnVjdCB3b3JrX3N0 cnVjdCAqd29yaykKPiAgCQlEUk1fRVJST1IoIlRpbWVvdXQgd2FpdGluZyBmb3IgZW5naW5lcyB0 byBpZGxlXG4iKTsKPgo+ICAJaW50ZWxfZW5naW5lc19tYXJrX2lkbGUoZGV2X3ByaXYpOwo+ICsJ aTkxNV9nZW1fY29udGV4dHNfbWFya19pZGxlKGRldl9wcml2KTsKPiAgCWk5MTVfZ2VtX3RpbWVs aW5lc19tYXJrX2lkbGUoZGV2X3ByaXYpOwo+Cj4gIAlHRU1fQlVHX09OKCFkZXZfcHJpdi0+Z3Qu YXdha2UpOwo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9jb250 ZXh0LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9jb250ZXh0LmMKPiBpbmRleCAx OThiMDA2NGEzZDMuLjFlNTFmZDM2ZjM1NSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X2dlbV9jb250ZXh0LmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X2dlbV9jb250ZXh0LmMKPiBAQCAtOTYsNiArOTYsNDggQEAKPiAgLyogSW5pdGlhbCBzaXplIChh cyBsb2cyKSB0byBwcmVhbGxvY2F0ZSB0aGUgaGFuZGxlLT5vYmplY3QgaGFzaHRhYmxlICovCj4g ICNkZWZpbmUgVk1BX0hUX0JJVFMgMnUgLyogNCB4IDIgcG9pbnRlcnMsIDY0IGJ5dGVzIG1pbmlt dW0gKi8KPgo+ICtzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqCj4gK2k5MTVfZ2VtX2NvbnRl eHRfY3JlYXRlX29iamVjdChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSwKPiArCQkJICAg ICAgIHVuc2lnbmVkIGxvbmcgc2l6ZSkKPiArewo+ICsJc3RydWN0IGRybV9pOTE1X2dlbV9vYmpl Y3QgKm9iaiwgKm9uOwo+ICsKPiArCWxvY2tkZXBfYXNzZXJ0X2hlbGQoJmk5MTUtPmRybS5zdHJ1 Y3RfbXV0ZXgpOwo+ICsKPiArCWxpc3RfZm9yX2VhY2hfZW50cnlfc2FmZShvYmosIG9uLAo+ICsJ CQkJICZpOTE1LT5jb250ZXh0cy5mcmVlZF9vYmplY3RzLAo+ICsJCQkJIGJhdGNoX3Bvb2xfbGlu aykgewo+ICsJCWlmIChvYmotPm1tLm1hZHYgIT0gSTkxNV9NQURWX0RPTlRORUVEKSB7Cj4gKwkJ CS8qIFB1cmdlIHRoZSBoZXJldGljISAqLwo+ICsJCQlsaXN0X2RlbCgmb2JqLT5iYXRjaF9wb29s X2xpbmspOwo+ICsJCQlpOTE1X2dlbV9vYmplY3RfcHV0KG9iaik7Cj4gKwkJCWNvbnRpbnVlOwo+ ICsJCX0KPiArCj4gKwkJaWYgKG9iai0+YmFzZS5zaXplID09IHNpemUpIHsKPiArCQkJbGlzdF9k ZWwoJm9iai0+YmF0Y2hfcG9vbF9saW5rKTsKPiArCQkJb2JqLT5tbS5tYWR2ID0gSTkxNV9NQURW X1dJTExORUVEOwo+ICsJCQlyZXR1cm4gb2JqOwo+ICsJCX0KPiArCX0KPiArCj4gKwlyZXR1cm4g aTkxNV9nZW1fb2JqZWN0X2NyZWF0ZShpOTE1LCBzaXplKTsKPiArfQo+ICsKPiArdm9pZCBpOTE1 X2dlbV9jb250ZXh0c19tYXJrX2lkbGUoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUpCj4g K3sKPiArCXN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmosICpvbjsKPiArCj4gKwlsb2Nr ZGVwX2Fzc2VydF9oZWxkKCZpOTE1LT5kcm0uc3RydWN0X211dGV4KTsKPiArCj4gKwlsaXN0X2Zv cl9lYWNoX2VudHJ5X3NhZmUob2JqLCBvbiwKPiArCQkJCSAmaTkxNS0+Y29udGV4dHMuZnJlZWRf b2JqZWN0cywKPiArCQkJCSBiYXRjaF9wb29sX2xpbmspIHsKPiArCQlsaXN0X2RlbCgmb2JqLT5i YXRjaF9wb29sX2xpbmspOwo+ICsJCWk5MTVfZ2VtX29iamVjdF9wdXQob2JqKTsKPiArCX0KPiAr fQo+ICsKPiAgc3RhdGljIHZvaWQgcmVzaXplX3ZtYV9odChzdHJ1Y3Qgd29ya19zdHJ1Y3QgKndv cmspCj4gIHsKPiAgCXN0cnVjdCBpOTE1X2dlbV9jb250ZXh0X3ZtYV9sdXQgKmx1dCA9Cj4gQEAg LTE2MCw5ICsyMDIsMTAgQEAgc3RhdGljIHZvaWQgdm1hX2x1dF9mcmVlKHN0cnVjdCBpOTE1X2dl bV9jb250ZXh0ICpjdHgpCj4KPiAgc3RhdGljIHZvaWQgaTkxNV9nZW1fY29udGV4dF9mcmVlKHN0 cnVjdCBpOTE1X2dlbV9jb250ZXh0ICpjdHgpCj4gIHsKPiArCXN0cnVjdCBkcm1faTkxNV9wcml2 YXRlICppOTE1ID0gY3R4LT5pOTE1Owo+ICAJaW50IGk7Cj4KPiAtCWxvY2tkZXBfYXNzZXJ0X2hl bGQoJmN0eC0+aTkxNS0+ZHJtLnN0cnVjdF9tdXRleCk7Cj4gKwlsb2NrZGVwX2Fzc2VydF9oZWxk KCZpOTE1LT5kcm0uc3RydWN0X211dGV4KTsKPiAgCUdFTV9CVUdfT04oIWk5MTVfZ2VtX2NvbnRl eHRfaXNfY2xvc2VkKGN0eCkpOwo+Cj4gIAl2bWFfbHV0X2ZyZWUoY3R4KTsKPiBAQCAtMTc4LDcg KzIyMSwxMSBAQCBzdGF0aWMgdm9pZCBpOTE1X2dlbV9jb250ZXh0X2ZyZWUoc3RydWN0IGk5MTVf Z2VtX2NvbnRleHQgKmN0eCkKPiAgCQlpZiAoY2UtPnJpbmcpCj4gIAkJCWludGVsX3JpbmdfZnJl ZShjZS0+cmluZyk7Cj4KPiAtCQlfX2k5MTVfZ2VtX29iamVjdF9yZWxlYXNlX3VubGVzc19hY3Rp dmUoY2UtPnN0YXRlLT5vYmopOwo+ICsJCS8qIEtlZXAgdGhlIG9iamVjdHMgYXJvdW5kIGZvciBx dWljayByZXVzZSAqLwo+ICsJCUdFTV9CVUdfT04oY2UtPnN0YXRlLT5vYmotPm1tLm1hZHYgIT0g STkxNV9NQURWX1dJTExORUVEKTsKPiArCQljZS0+c3RhdGUtPm9iai0+bW0ubWFkdiA9IEk5MTVf TUFEVl9ET05UTkVFRDsKPiArCQlsaXN0X2FkZCgmY2UtPnN0YXRlLT5vYmotPmJhdGNoX3Bvb2xf bGluaywKPiArCQkJICZpOTE1LT5jb250ZXh0cy5mcmVlZF9vYmplY3RzKTsKPiAgCX0KPgo+ICAJ a2ZyZWUoY3R4LT5uYW1lKTsKPiBAQCAtMTg2LDcgKzIzMyw3IEBAIHN0YXRpYyB2b2lkIGk5MTVf Z2VtX2NvbnRleHRfZnJlZShzdHJ1Y3QgaTkxNV9nZW1fY29udGV4dCAqY3R4KQo+Cj4gIAlsaXN0 X2RlbCgmY3R4LT5saW5rKTsKPgo+IC0JaWRhX3NpbXBsZV9yZW1vdmUoJmN0eC0+aTkxNS0+Y29u dGV4dHMuaHdfaWRhLCBjdHgtPmh3X2lkKTsKPiArCWlkYV9zaW1wbGVfcmVtb3ZlKCZpOTE1LT5j b250ZXh0cy5od19pZGEsIGN0eC0+aHdfaWQpOwo+ICAJa2ZyZWVfcmN1KGN0eCwgcmN1KTsKPiAg fQo+Cj4gQEAgLTQ1Nyw2ICs1MDQsNyBAQCBpbnQgaTkxNV9nZW1fY29udGV4dHNfaW5pdChzdHJ1 Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCj4gIAkJcmV0dXJuIDA7Cj4KPiAgCUlOSVRf TElTVF9IRUFEKCZkZXZfcHJpdi0+Y29udGV4dHMubGlzdCk7Cj4gKwlJTklUX0xJU1RfSEVBRCgm ZGV2X3ByaXYtPmNvbnRleHRzLmZyZWVkX29iamVjdHMpOwo+ICAJSU5JVF9XT1JLKCZkZXZfcHJp di0+Y29udGV4dHMuZnJlZV93b3JrLCBjb250ZXh0c19mcmVlX3dvcmtlcik7Cj4gIAlpbml0X2xs aXN0X2hlYWQoJmRldl9wcml2LT5jb250ZXh0cy5mcmVlX2xpc3QpOwo+Cj4gQEAgLTU0MiwxMiAr NTkwLDE3IEBAIHZvaWQgaTkxNV9nZW1fY29udGV4dHNfZmluaShzdHJ1Y3QgZHJtX2k5MTVfcHJp dmF0ZSAqaTkxNSkKPgo+ICAJbG9ja2RlcF9hc3NlcnRfaGVsZCgmaTkxNS0+ZHJtLnN0cnVjdF9t dXRleCk7Cj4KPiArCUdFTV9CVUdfT04od29ya19wZW5kaW5nKCZpOTE1LT5jb250ZXh0cy5mcmVl X3dvcmspKTsKPiArCj4gIAkvKiBLZWVwIHRoZSBjb250ZXh0IHNvIHRoYXQgd2UgY2FuIGZyZWUg aXQgaW1tZWRpYXRlbHkgb3Vyc2VsdmVzICovCj4gIAljdHggPSBpOTE1X2dlbV9jb250ZXh0X2dl dChmZXRjaF9hbmRfemVybygmaTkxNS0+a2VybmVsX2NvbnRleHQpKTsKPiAgCUdFTV9CVUdfT04o IWk5MTVfZ2VtX2NvbnRleHRfaXNfa2VybmVsKGN0eCkpOwo+ICAJY29udGV4dF9jbG9zZShjdHgp Owo+ICAJaTkxNV9nZW1fY29udGV4dF9mcmVlKGN0eCk7Cj4KPiArCWk5MTVfZ2VtX2NvbnRleHRz X21hcmtfaWRsZShpOTE1KTsKPiArCUdFTV9CVUdfT04oIWxpc3RfZW1wdHkoJmk5MTUtPmNvbnRl eHRzLmZyZWVkX29iamVjdHMpKTsKPiArCj4gIAkvKiBNdXN0IGZyZWUgYWxsIGRlZmVycmVkIGNv bnRleHRzICh2aWEgZmx1c2hfd29ya3F1ZXVlKSBmaXJzdCAqLwo+ICAJaWRhX2Rlc3Ryb3koJmk5 MTUtPmNvbnRleHRzLmh3X2lkYSk7Cj4gIH0KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV9nZW1fY29udGV4dC5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1f Y29udGV4dC5oCj4gaW5kZXggMDQzMjBmODBmOWY0Li40NjU0Y2FhYjliNmMgMTAwNjQ0Cj4gLS0t IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fY29udGV4dC5oCj4gKysrIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fY29udGV4dC5oCj4gQEAgLTI5NCw2ICsyOTQsMTEgQEAg dm9pZCBpOTE1X2dlbV9jb250ZXh0X3JlbGVhc2Uoc3RydWN0IGtyZWYgKmN0eF9yZWYpOwo+ICBz dHJ1Y3QgaTkxNV9nZW1fY29udGV4dCAqCj4gIGk5MTVfZ2VtX2NvbnRleHRfY3JlYXRlX2d2dChz dHJ1Y3QgZHJtX2RldmljZSAqZGV2KTsKPgo+ICtzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAq Cj4gK2k5MTVfZ2VtX2NvbnRleHRfY3JlYXRlX29iamVjdChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0 ZSAqaTkxNSwKPiArCQkJICAgICAgIHVuc2lnbmVkIGxvbmcgc2l6ZSk7Cj4gK3ZvaWQgaTkxNV9n ZW1fY29udGV4dHNfbWFya19pZGxlKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1KTsKPiAr Cj4gIGludCBpOTE1X2dlbV9jb250ZXh0X2NyZWF0ZV9pb2N0bChzdHJ1Y3QgZHJtX2RldmljZSAq ZGV2LCB2b2lkICpkYXRhLAo+ICAJCQkJICBzdHJ1Y3QgZHJtX2ZpbGUgKmZpbGUpOwo+ICBpbnQg aTkxNV9nZW1fY29udGV4dF9kZXN0cm95X2lvY3RsKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHZv aWQgKmRhdGEsCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5j IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmMKPiBpbmRleCA0MmFiOTFhY2NjYzUu LjIxYTE1MTlkYjkzNiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9s cmMuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5jCj4gQEAgLTIwMTEs NyArMjAxMSw3IEBAIHN0YXRpYyBpbnQgZXhlY2xpc3RzX2NvbnRleHRfZGVmZXJyZWRfYWxsb2Mo c3RydWN0IGk5MTVfZ2VtX2NvbnRleHQgKmN0eCwKPiAgCS8qIE9uZSBleHRyYSBwYWdlIGFzIHRo ZSBzaGFyaW5nIGRhdGEgYmV0d2VlbiBkcml2ZXIgYW5kIEd1QyAqLwo+ICAJY29udGV4dF9zaXpl ICs9IFBBR0VfU0laRSAqIExSQ19QUEhXU1BfUE47Cj4KPiAtCWN0eF9vYmogPSBpOTE1X2dlbV9v YmplY3RfY3JlYXRlKGN0eC0+aTkxNSwgY29udGV4dF9zaXplKTsKPiArCWN0eF9vYmogPSBpOTE1 X2dlbV9jb250ZXh0X2NyZWF0ZV9vYmplY3QoY3R4LT5pOTE1LCBjb250ZXh0X3NpemUpOwo+ICAJ aWYgKElTX0VSUihjdHhfb2JqKSkgewo+ICAJCURSTV9ERUJVR19EUklWRVIoIkFsbG9jIExSQyBi YWNraW5nIG9iaiBmYWlsZWQuXG4iKTsKPiAgCQlyZXR1cm4gUFRSX0VSUihjdHhfb2JqKTsKPiBk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmluZ2J1ZmZlci5jIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmluZ2J1ZmZlci5jCj4gaW5kZXggYWNkMWRhOWI2MmEz Li4yNTNkMzJmZWYxMzMgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf cmluZ2J1ZmZlci5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmluZ2J1ZmZl ci5jCj4gQEAgLTE0NTQsNyArMTQ1NCw3IEBAIGFsbG9jX2NvbnRleHRfdm1hKHN0cnVjdCBpbnRl bF9lbmdpbmVfY3MgKmVuZ2luZSkKPiAgCXN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmo7 Cj4gIAlzdHJ1Y3QgaTkxNV92bWEgKnZtYTsKPgo+IC0Jb2JqID0gaTkxNV9nZW1fb2JqZWN0X2Ny ZWF0ZShpOTE1LCBlbmdpbmUtPmNvbnRleHRfc2l6ZSk7Cj4gKwlvYmogPSBpOTE1X2dlbV9jb250 ZXh0X2NyZWF0ZV9vYmplY3QoaTkxNSwgZW5naW5lLT5jb250ZXh0X3NpemUpOwo+ICAJaWYgKElT X0VSUihvYmopKQo+ICAJCXJldHVybiBFUlJfQ0FTVChvYmopOwo+Cj4gZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L3NlbGZ0ZXN0cy9tb2NrX2NvbnRleHQuYyBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L3NlbGZ0ZXN0cy9tb2NrX2NvbnRleHQuYwo+IGluZGV4IDljN2M2ODE4MWY4Mi4u ZjQ5NzI2NzRjOTZlIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L3NlbGZ0ZXN0 cy9tb2NrX2NvbnRleHQuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L3NlbGZ0ZXN0cy9t b2NrX2NvbnRleHQuYwo+IEBAIC05Miw2ICs5Miw3IEBAIHZvaWQgbW9ja19pbml0X2NvbnRleHRz KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1KQo+ICAJSU5JVF9MSVNUX0hFQUQoJmk5MTUt PmNvbnRleHRzLmxpc3QpOwo+ICAJaWRhX2luaXQoJmk5MTUtPmNvbnRleHRzLmh3X2lkYSk7Cj4K PiArCUlOSVRfTElTVF9IRUFEKCZpOTE1LT5jb250ZXh0cy5mcmVlZF9vYmplY3RzKTsKPiAgCUlO SVRfV09SSygmaTkxNS0+Y29udGV4dHMuZnJlZV93b3JrLCBjb250ZXh0c19mcmVlX3dvcmtlcik7 Cj4gIAlpbml0X2xsaXN0X2hlYWQoJmk5MTUtPmNvbnRleHRzLmZyZWVfbGlzdCk7Cj4gIH0KPiBk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvc2VsZnRlc3RzL21vY2tfZ2VtX2Rldmlj ZS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvc2VsZnRlc3RzL21vY2tfZ2VtX2RldmljZS5jCj4g aW5kZXggNDc2MTNkMjBiYmE4Li41ZWI5MzFlY2YwYTQgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvc2VsZnRlc3RzL21vY2tfZ2VtX2RldmljZS5jCj4gKysrIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvc2VsZnRlc3RzL21vY2tfZ2VtX2RldmljZS5jCj4gQEAgLTUzLDYgKzUzLDcg QEAgc3RhdGljIHZvaWQgbW9ja19kZXZpY2VfcmVsZWFzZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2 KQo+Cj4gIAltdXRleF9sb2NrKCZpOTE1LT5kcm0uc3RydWN0X211dGV4KTsKPiAgCW1vY2tfZGV2 aWNlX2ZsdXNoKGk5MTUpOwo+ICsJaTkxNV9nZW1fY29udGV4dHNfbG9zdChpOTE1KTsKPiAgCW11 dGV4X3VubG9jaygmaTkxNS0+ZHJtLnN0cnVjdF9tdXRleCk7Cj4KPiAgCWNhbmNlbF9kZWxheWVk X3dvcmtfc3luYygmaTkxNS0+Z3QucmV0aXJlX3dvcmspOwo+Cl9fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwt Z2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9t YWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=