From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tvrtko Ursulin Subject: Re: [PATCH 09/37] drm/i915/execlists: Switch to rb_root_cached Date: Wed, 11 Jul 2018 14:20:24 +0100 Message-ID: <4eefd356-b710-12c0-ee59-4a8a7e42307e@linux.intel.com> References: <20180629075348.27358-1-chris@chris-wilson.co.uk> <20180629075348.27358-9-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 mga05.intel.com (mga05.intel.com [192.55.52.43]) by gabe.freedesktop.org (Postfix) with ESMTPS id 8B3E56ECA9 for ; Wed, 11 Jul 2018 13:20:31 +0000 (UTC) In-Reply-To: <20180629075348.27358-9-chris@chris-wilson.co.uk> Content-Language: en-GB 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 Ck9uIDI5LzA2LzIwMTggMDg6NTMsIENocmlzIFdpbHNvbiB3cm90ZToKPiBUaGUga2VybmVsIHJl Y2VudGx5IGdhaW5lZCBhbiBhdWdtZW50ZWQgcmJ0cmVlIHdpdGggdGhlIHB1cnBvc2Ugb2YKPiBj YWNoZWluZyB0aGUgbGVmdG1vc3QgZWxlbWVudCBvZiB0aGUgcmJ0cmVlLCBhIGZyZXF1ZW50IG9w dGltaXNhdGlvbiB0bwo+IGF2b2lkIGNhbGxzIHRvIHJiX2ZpcnN0KCkgd2hpY2ggaXMgYWxzbyBl bXBsb3llZCBieSB0aGUKPiBleGVjbGlzdHMtPnF1ZXVlLiBTd2l0Y2ggZnJvbSBvdXIgb3Blbi1j b2RlZCBjYWNoZSB0byB0aGUgbGlicmFyeS4KPiAKPiBTaWduZWQtb2ZmLWJ5OiBDaHJpcyBXaWxz b24gPGNocmlzQGNocmlzLXdpbHNvbi5jby51az4KPiAtLS0KPiAgIGRyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2VuZ2luZV9jcy5jICAgICAgfCAgNyArKy0tLQo+ICAgZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfZ3VjX3N1Ym1pc3Npb24uYyB8IDEyICsrKy0tLS0tCj4gICBkcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9scmMuYyAgICAgICAgICAgIHwgMzIgKysrKysrKy0tLS0tLS0tLS0t LS0tCj4gICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9yaW5nYnVmZmVyLmggICAgIHwgIDcg Ky0tLS0KPiAgIDQgZmlsZXMgY2hhbmdlZCwgMTkgaW5zZXJ0aW9ucygrKSwgMzkgZGVsZXRpb25z KC0pCj4gCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2VuZ2luZV9j cy5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZW5naW5lX2NzLmMKPiBpbmRleCA0NTcw MDMzMTFiNzQuLjE0ZDViNjczZmMyNyAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9lbmdpbmVfY3MuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Vu Z2luZV9jcy5jCj4gQEAgLTQ2NCw4ICs0NjQsNyBAQCBzdGF0aWMgdm9pZCBpbnRlbF9lbmdpbmVf aW5pdF9leGVjbGlzdChzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUpCj4gICAJR0VNX0JV R19PTihleGVjbGlzdHNfbnVtX3BvcnRzKGV4ZWNsaXN0cykgPiBFWEVDTElTVF9NQVhfUE9SVFMp Owo+ICAgCj4gICAJZXhlY2xpc3RzLT5xdWV1ZV9wcmlvcml0eSA9IElOVF9NSU47Cj4gLQlleGVj bGlzdHMtPnF1ZXVlID0gUkJfUk9PVDsKPiAtCWV4ZWNsaXN0cy0+Zmlyc3QgPSBOVUxMOwo+ICsJ ZXhlY2xpc3RzLT5xdWV1ZSA9IFJCX1JPT1RfQ0FDSEVEOwo+ICAgfQo+ICAgCj4gICAvKioKPiBA QCAtMTAwMCw3ICs5OTksNyBAQCBib29sIGludGVsX2VuZ2luZV9pc19pZGxlKHN0cnVjdCBpbnRl bF9lbmdpbmVfY3MgKmVuZ2luZSkKPiAgIAl9Cj4gICAKPiAgIAkvKiBFTFNQIGlzIGVtcHR5LCBi dXQgdGhlcmUgYXJlIHJlYWR5IHJlcXVlc3RzPyBFLmcuIGFmdGVyIHJlc2V0ICovCj4gLQlpZiAo UkVBRF9PTkNFKGVuZ2luZS0+ZXhlY2xpc3RzLmZpcnN0KSkKPiArCWlmICghUkJfRU1QVFlfUk9P VCgmZW5naW5lLT5leGVjbGlzdHMucXVldWUucmJfcm9vdCkpCj4gICAJCXJldHVybiBmYWxzZTsK PiAgIAo+ICAgCS8qIFJpbmcgc3RvcHBlZD8gKi8KPiBAQCAtMTYxNSw3ICsxNjE0LDcgQEAgdm9p ZCBpbnRlbF9lbmdpbmVfZHVtcChzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUsCj4gICAJ bGFzdCA9IE5VTEw7Cj4gICAJY291bnQgPSAwOwo+ICAgCWRybV9wcmludGYobSwgIlx0XHRRdWV1 ZSBwcmlvcml0eTogJWRcbiIsIGV4ZWNsaXN0cy0+cXVldWVfcHJpb3JpdHkpOwo+IC0JZm9yIChy YiA9IGV4ZWNsaXN0cy0+Zmlyc3Q7IHJiOyByYiA9IHJiX25leHQocmIpKSB7Cj4gKwlmb3IgKHJi ID0gcmJfZmlyc3RfY2FjaGVkKCZleGVjbGlzdHMtPnF1ZXVlKTsgcmI7IHJiID0gcmJfbmV4dChy YikpIHsKPiAgIAkJc3RydWN0IGk5MTVfcHJpb2xpc3QgKnAgPQo+ICAgCQkJcmJfZW50cnkocmIs IHR5cGVvZigqcCksIG5vZGUpOwo+ICAgCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2d1Y19zdWJtaXNzaW9uLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9n dWNfc3VibWlzc2lvbi5jCj4gaW5kZXggMDU0NDlmNjM2ZDk0Li45YTJjNjg1NmE3MWUgMTAwNjQ0 Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZ3VjX3N1Ym1pc3Npb24uYwo+ICsr KyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2d1Y19zdWJtaXNzaW9uLmMKPiBAQCAtNjk0 LDkgKzY5NCw2IEBAIHN0YXRpYyBib29sIF9fZ3VjX2RlcXVldWUoc3RydWN0IGludGVsX2VuZ2lu ZV9jcyAqZW5naW5lKQo+ICAgCj4gICAJbG9ja2RlcF9hc3NlcnRfaGVsZCgmZW5naW5lLT50aW1l bGluZS5sb2NrKTsKPiAgIAo+IC0JcmIgPSBleGVjbGlzdHMtPmZpcnN0Owo+IC0JR0VNX0JVR19P TihyYl9maXJzdCgmZXhlY2xpc3RzLT5xdWV1ZSkgIT0gcmIpOwo+IC0KPiAgIAlpZiAocG9ydF9p c3NldChwb3J0KSkgewo+ICAgCQlpZiAoaW50ZWxfZW5naW5lX2hhc19wcmVlbXB0aW9uKGVuZ2lu ZSkpIHsKPiAgIAkJCXN0cnVjdCBndWNfcHJlZW1wdF93b3JrICpwcmVlbXB0X3dvcmsgPQo+IEBA IC03MTgsNyArNzE1LDcgQEAgc3RhdGljIGJvb2wgX19ndWNfZGVxdWV1ZShzdHJ1Y3QgaW50ZWxf ZW5naW5lX2NzICplbmdpbmUpCj4gICAJfQo+ICAgCUdFTV9CVUdfT04ocG9ydF9pc3NldChwb3J0 KSk7Cj4gICAKPiAtCXdoaWxlIChyYikgewo+ICsJd2hpbGUgKChyYiA9IHJiX2ZpcnN0X2NhY2hl ZCgmZXhlY2xpc3RzLT5xdWV1ZSkpKSB7Cj4gICAJCXN0cnVjdCBpOTE1X3ByaW9saXN0ICpwID0g dG9fcHJpb2xpc3QocmIpOwo+ICAgCQlzdHJ1Y3QgaTkxNV9yZXF1ZXN0ICpycSwgKnJuOwo+ICAg Cj4gQEAgLTc0MywxNSArNzQwLDEzIEBAIHN0YXRpYyBib29sIF9fZ3VjX2RlcXVldWUoc3RydWN0 IGludGVsX2VuZ2luZV9jcyAqZW5naW5lKQo+ICAgCQkJc3VibWl0ID0gdHJ1ZTsKPiAgIAkJfQo+ ICAgCj4gLQkJcmIgPSByYl9uZXh0KHJiKTsKPiAtCQlyYl9lcmFzZSgmcC0+bm9kZSwgJmV4ZWNs aXN0cy0+cXVldWUpOwo+ICsJCXJiX2VyYXNlX2NhY2hlZCgmcC0+bm9kZSwgJmV4ZWNsaXN0cy0+ cXVldWUpOwo+ICAgCQlJTklUX0xJU1RfSEVBRCgmcC0+cmVxdWVzdHMpOwo+ICAgCQlpZiAocC0+ cHJpb3JpdHkgIT0gSTkxNV9QUklPUklUWV9OT1JNQUwpCj4gICAJCQlrbWVtX2NhY2hlX2ZyZWUo ZW5naW5lLT5pOTE1LT5wcmlvcml0aWVzLCBwKTsKPiAgIAl9Cj4gICBkb25lOgo+ICAgCWV4ZWNs aXN0cy0+cXVldWVfcHJpb3JpdHkgPSByYiA/IHRvX3ByaW9saXN0KHJiKS0+cHJpb3JpdHkgOiBJ TlRfTUlOOwo+IC0JZXhlY2xpc3RzLT5maXJzdCA9IHJiOwo+ICAgCWlmIChzdWJtaXQpCj4gICAJ CXBvcnRfYXNzaWduKHBvcnQsIGxhc3QpOwo+ICAgCWlmIChsYXN0KQo+IEBAIC03NjAsNyArNzU1 LDggQEAgc3RhdGljIGJvb2wgX19ndWNfZGVxdWV1ZShzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICpl bmdpbmUpCj4gICAJLyogV2UgbXVzdCBhbHdheXMga2VlcCB0aGUgYmVhc3QgZmVkIGlmIHdlIGhh dmUgd29yayBwaWxlZCB1cCAqLwo+ICAgCUdFTV9CVUdfT04ocG9ydF9pc3NldChleGVjbGlzdHMt PnBvcnQpICYmCj4gICAJCSAgICFleGVjbGlzdHNfaXNfYWN0aXZlKGV4ZWNsaXN0cywgRVhFQ0xJ U1RTX0FDVElWRV9VU0VSKSk7Cj4gLQlHRU1fQlVHX09OKGV4ZWNsaXN0cy0+Zmlyc3QgJiYgIXBv cnRfaXNzZXQoZXhlY2xpc3RzLT5wb3J0KSk7Cj4gKwlHRU1fQlVHX09OKHJiX2ZpcnN0X2NhY2hl ZCgmZXhlY2xpc3RzLT5xdWV1ZSkgJiYKPiArCQkgICAhcG9ydF9pc3NldChleGVjbGlzdHMtPnBv cnQpKTsKPiAgIAo+ICAgCXJldHVybiBzdWJtaXQ7Cj4gICB9Cj4gZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf bHJjLmMKPiBpbmRleCBhNmJjNTBkNzE5NWUuLjQyMjc1M2M4NjQxZiAxMDA2NDQKPiAtLS0gYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9scmMuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2xyYy5jCj4gQEAgLTI3Myw3ICsyNzMsNyBAQCBsb29rdXBfcHJpb2xpc3Qoc3Ry dWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lLCBpbnQgcHJpbykKPiAgIGZpbmRfcHJpb2xpc3Q6 Cj4gICAJLyogbW9zdCBwb3NpdGl2ZSBwcmlvcml0eSBpcyBzY2hlZHVsZWQgZmlyc3QsIGVxdWFs IHByaW9yaXRpZXMgZmlmbyAqLwo+ICAgCXJiID0gTlVMTDsKPiAtCXBhcmVudCA9ICZleGVjbGlz dHMtPnF1ZXVlLnJiX25vZGU7Cj4gKwlwYXJlbnQgPSAmZXhlY2xpc3RzLT5xdWV1ZS5yYl9yb290 LnJiX25vZGU7Cj4gICAJd2hpbGUgKCpwYXJlbnQpIHsKPiAgIAkJcmIgPSAqcGFyZW50Owo+ICAg CQlwID0gdG9fcHJpb2xpc3QocmIpOwo+IEBAIC0zMTEsMTAgKzMxMSw3IEBAIGxvb2t1cF9wcmlv bGlzdChzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUsIGludCBwcmlvKQo+ICAgCXAtPnBy aW9yaXR5ID0gcHJpbzsKPiAgIAlJTklUX0xJU1RfSEVBRCgmcC0+cmVxdWVzdHMpOwo+ICAgCXJi X2xpbmtfbm9kZSgmcC0+bm9kZSwgcmIsIHBhcmVudCk7Cj4gLQlyYl9pbnNlcnRfY29sb3IoJnAt Pm5vZGUsICZleGVjbGlzdHMtPnF1ZXVlKTsKPiAtCj4gLQlpZiAoZmlyc3QpCj4gLQkJZXhlY2xp c3RzLT5maXJzdCA9ICZwLT5ub2RlOwo+ICsJcmJfaW5zZXJ0X2NvbG9yX2NhY2hlZCgmcC0+bm9k ZSwgJmV4ZWNsaXN0cy0+cXVldWUsIGZpcnN0KTsKPiAgIAo+ICAgCXJldHVybiBwOwo+ICAgfQo+ IEBAIC01OTgsOSArNTk1LDYgQEAgc3RhdGljIHZvaWQgZXhlY2xpc3RzX2RlcXVldWUoc3RydWN0 IGludGVsX2VuZ2luZV9jcyAqZW5naW5lKQo+ICAgCSAqIGFuZCBjb250ZXh0IHN3aXRjaGVzKSBz dWJtaXNzaW9uLgo+ICAgCSAqLwo+ICAgCj4gLQlyYiA9IGV4ZWNsaXN0cy0+Zmlyc3Q7Cj4gLQlH RU1fQlVHX09OKHJiX2ZpcnN0KCZleGVjbGlzdHMtPnF1ZXVlKSAhPSByYik7Cj4gLQo+ICAgCWlm IChsYXN0KSB7Cj4gICAJCS8qCj4gICAJCSAqIERvbid0IHJlc3VibWl0IG9yIHN3aXRjaCB1bnRp bCBhbGwgb3V0c3RhbmRpbmcKPiBAQCAtNjYyLDcgKzY1Niw3IEBAIHN0YXRpYyB2b2lkIGV4ZWNs aXN0c19kZXF1ZXVlKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSkKPiAgIAkJbGFzdC0+ dGFpbCA9IGxhc3QtPndhX3RhaWw7Cj4gICAJfQo+ICAgCj4gLQl3aGlsZSAocmIpIHsKPiArCXdo aWxlICgocmIgPSByYl9maXJzdF9jYWNoZWQoJmV4ZWNsaXN0cy0+cXVldWUpKSkgewo+ICAgCQlz dHJ1Y3QgaTkxNV9wcmlvbGlzdCAqcCA9IHRvX3ByaW9saXN0KHJiKTsKPiAgIAkJc3RydWN0IGk5 MTVfcmVxdWVzdCAqcnEsICpybjsKPiAgIAo+IEBAIC03MjEsOCArNzE1LDcgQEAgc3RhdGljIHZv aWQgZXhlY2xpc3RzX2RlcXVldWUoc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lKQo+ICAg CQkJc3VibWl0ID0gdHJ1ZTsKPiAgIAkJfQo+ICAgCj4gLQkJcmIgPSByYl9uZXh0KHJiKTsKPiAt CQlyYl9lcmFzZSgmcC0+bm9kZSwgJmV4ZWNsaXN0cy0+cXVldWUpOwo+ICsJCXJiX2VyYXNlX2Nh Y2hlZCgmcC0+bm9kZSwgJmV4ZWNsaXN0cy0+cXVldWUpOwo+ICAgCQlJTklUX0xJU1RfSEVBRCgm cC0+cmVxdWVzdHMpOwo+ICAgCQlpZiAocC0+cHJpb3JpdHkgIT0gSTkxNV9QUklPUklUWV9OT1JN QUwpCj4gICAJCQlrbWVtX2NhY2hlX2ZyZWUoZW5naW5lLT5pOTE1LT5wcmlvcml0aWVzLCBwKTsK PiBAQCAtNzQ4LDE0ICs3NDEsMTQgQEAgc3RhdGljIHZvaWQgZXhlY2xpc3RzX2RlcXVldWUoc3Ry dWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lKQo+ICAgCWV4ZWNsaXN0cy0+cXVldWVfcHJpb3Jp dHkgPQo+ICAgCQlwb3J0ICE9IGV4ZWNsaXN0cy0+cG9ydCA/IHJxX3ByaW8obGFzdCkgOiBJTlRf TUlOOwo+ICAgCj4gLQlleGVjbGlzdHMtPmZpcnN0ID0gcmI7Cj4gICAJaWYgKHN1Ym1pdCkgewo+ ICAgCQlwb3J0X2Fzc2lnbihwb3J0LCBsYXN0KTsKPiAgIAkJZXhlY2xpc3RzX3N1Ym1pdF9wb3J0 cyhlbmdpbmUpOwo+ICAgCX0KPiAgIAo+ICAgCS8qIFdlIG11c3QgYWx3YXlzIGtlZXAgdGhlIGJl YXN0IGZlZCBpZiB3ZSBoYXZlIHdvcmsgcGlsZWQgdXAgKi8KPiAtCUdFTV9CVUdfT04oZXhlY2xp c3RzLT5maXJzdCAmJiAhcG9ydF9pc3NldChleGVjbGlzdHMtPnBvcnQpKTsKPiArCUdFTV9CVUdf T04ocmJfZmlyc3RfY2FjaGVkKCZleGVjbGlzdHMtPnF1ZXVlKSAmJgo+ICsJCSAgICFwb3J0X2lz c2V0KGV4ZWNsaXN0cy0+cG9ydCkpOwo+ICAgCj4gICAJLyogUmUtZXZhbHVhdGUgdGhlIGV4ZWN1 dGluZyBjb250ZXh0IHNldHVwIGFmdGVyIGVhY2ggcHJlZW1wdGl2ZSBraWNrICovCj4gICAJaWYg KGxhc3QpCj4gQEAgLTkxNSw4ICs5MDgsNyBAQCBzdGF0aWMgdm9pZCBleGVjbGlzdHNfY2FuY2Vs X3JlcXVlc3RzKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSkKPiAgIAl9Cj4gICAKPiAg IAkvKiBGbHVzaCB0aGUgcXVldWVkIHJlcXVlc3RzIHRvIHRoZSB0aW1lbGluZSBsaXN0IChmb3Ig cmV0aXJpbmcpLiAqLwo+IC0JcmIgPSBleGVjbGlzdHMtPmZpcnN0Owo+IC0Jd2hpbGUgKHJiKSB7 Cj4gKwl3aGlsZSAoKHJiID0gcmJfZmlyc3RfY2FjaGVkKCZleGVjbGlzdHMtPnF1ZXVlKSkpIHsK PiAgIAkJc3RydWN0IGk5MTVfcHJpb2xpc3QgKnAgPSB0b19wcmlvbGlzdChyYik7Cj4gICAKPiAg IAkJbGlzdF9mb3JfZWFjaF9lbnRyeV9zYWZlKHJxLCBybiwgJnAtPnJlcXVlc3RzLCBzY2hlZC5s aW5rKSB7Cj4gQEAgLTkyNiw4ICs5MTgsNyBAQCBzdGF0aWMgdm9pZCBleGVjbGlzdHNfY2FuY2Vs X3JlcXVlc3RzKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSkKPiAgIAkJCV9faTkxNV9y ZXF1ZXN0X3N1Ym1pdChycSk7Cj4gICAJCX0KPiAgIAo+IC0JCXJiID0gcmJfbmV4dChyYik7Cj4g LQkJcmJfZXJhc2UoJnAtPm5vZGUsICZleGVjbGlzdHMtPnF1ZXVlKTsKPiArCQlyYl9lcmFzZV9j YWNoZWQoJnAtPm5vZGUsICZleGVjbGlzdHMtPnF1ZXVlKTsKPiAgIAkJSU5JVF9MSVNUX0hFQUQo JnAtPnJlcXVlc3RzKTsKPiAgIAkJaWYgKHAtPnByaW9yaXR5ICE9IEk5MTVfUFJJT1JJVFlfTk9S TUFMKQo+ICAgCQkJa21lbV9jYWNoZV9mcmVlKGVuZ2luZS0+aTkxNS0+cHJpb3JpdGllcywgcCk7 Cj4gQEAgLTkzNiw4ICs5MjcsNyBAQCBzdGF0aWMgdm9pZCBleGVjbGlzdHNfY2FuY2VsX3JlcXVl c3RzKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSkKPiAgIAkvKiBSZW1haW5pbmcgX3Vu cmVhZHlfIHJlcXVlc3RzIHdpbGwgYmUgbm9wJ2VkIHdoZW4gc3VibWl0dGVkICovCj4gICAKPiAg IAlleGVjbGlzdHMtPnF1ZXVlX3ByaW9yaXR5ID0gSU5UX01JTjsKPiAtCWV4ZWNsaXN0cy0+cXVl dWUgPSBSQl9ST09UOwo+IC0JZXhlY2xpc3RzLT5maXJzdCA9IE5VTEw7Cj4gKwlleGVjbGlzdHMt PnF1ZXVlID0gUkJfUk9PVF9DQUNIRUQ7Cj4gICAJR0VNX0JVR19PTihwb3J0X2lzc2V0KGV4ZWNs aXN0cy0+cG9ydCkpOwo+ICAgCj4gICAJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmZW5naW5lLT50 aW1lbGluZS5sb2NrLCBmbGFncyk7Cj4gQEAgLTExODMsNyArMTE3Myw3IEBAIHN0YXRpYyB2b2lk IGV4ZWNsaXN0c19zdWJtaXRfcmVxdWVzdChzdHJ1Y3QgaTkxNV9yZXF1ZXN0ICpyZXF1ZXN0KQo+ ICAgCj4gICAJcXVldWVfcmVxdWVzdChlbmdpbmUsICZyZXF1ZXN0LT5zY2hlZCwgcnFfcHJpbyhy ZXF1ZXN0KSk7Cj4gICAKPiAtCUdFTV9CVUdfT04oIWVuZ2luZS0+ZXhlY2xpc3RzLmZpcnN0KTsK PiArCUdFTV9CVUdfT04oUkJfRU1QVFlfUk9PVCgmZW5naW5lLT5leGVjbGlzdHMucXVldWUucmJf cm9vdCkpOwo+ICAgCUdFTV9CVUdfT04obGlzdF9lbXB0eSgmcmVxdWVzdC0+c2NoZWQubGluaykp Owo+ICAgCj4gICAJc3VibWl0X3F1ZXVlKGVuZ2luZSwgcnFfcHJpbyhyZXF1ZXN0KSk7Cj4gQEAg LTIwMzYsNyArMjAyNiw3IEBAIHN0YXRpYyB2b2lkIGV4ZWNsaXN0c19yZXNldF9maW5pc2goc3Ry dWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lKQo+ICAgCXN0cnVjdCBpbnRlbF9lbmdpbmVfZXhl Y2xpc3RzICogY29uc3QgZXhlY2xpc3RzID0gJmVuZ2luZS0+ZXhlY2xpc3RzOwo+ICAgCj4gICAJ LyogQWZ0ZXIgYSBHUFUgcmVzZXQsIHdlIG1heSBoYXZlIHJlcXVlc3RzIHRvIHJlcGxheSAqLwo+ IC0JaWYgKGV4ZWNsaXN0cy0+Zmlyc3QpCj4gKwlpZiAoIVJCX0VNUFRZX1JPT1QoJmV4ZWNsaXN0 cy0+cXVldWUucmJfcm9vdCkpCj4gICAJCXRhc2tsZXRfc2NoZWR1bGUoJmV4ZWNsaXN0cy0+dGFz a2xldCk7Cj4gICAKPiAgIAkvKgo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9yaW5nYnVmZmVyLmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9yaW5nYnVmZmVy LmgKPiBpbmRleCBhMWFmZjM2MGQwY2UuLjkyMzg3NTUwMDgyOCAxMDA2NDQKPiAtLS0gYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9yaW5nYnVmZmVyLmgKPiArKysgYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9yaW5nYnVmZmVyLmgKPiBAQCAtMjkyLDEyICsyOTIsNyBAQCBzdHJ1Y3Qg aW50ZWxfZW5naW5lX2V4ZWNsaXN0cyB7Cj4gICAJLyoqCj4gICAJICogQHF1ZXVlOiBxdWV1ZSBv ZiByZXF1ZXN0cywgaW4gcHJpb3JpdHkgbGlzdHMKPiAgIAkgKi8KPiAtCXN0cnVjdCByYl9yb290 IHF1ZXVlOwo+IC0KPiAtCS8qKgo+IC0JICogQGZpcnN0OiBsZWZ0bW9zdCBsZXZlbCBpbiBwcmlv cml0eSBAcXVldWUKPiAtCSAqLwo+IC0Jc3RydWN0IHJiX25vZGUgKmZpcnN0Owo+ICsJc3RydWN0 IHJiX3Jvb3RfY2FjaGVkIHF1ZXVlOwo+ICAgCj4gICAJLyoqCj4gICAJICogQGNzYl9yZWFkOiBj b250cm9sIHJlZ2lzdGVyIGZvciBDb250ZXh0IFN3aXRjaCBidWZmZXIKPiAKCkFsbCBjaGVja3Mg b3V0IEFGQUlDVC4gTmljZSB0aGF0IHdlIGNhbiBub3cgc2ltcGxpZnkhCgpSZXZpZXdlZC1ieTog VHZydGtvIFVyc3VsaW4gPHR2cnRrby51cnN1bGluQGludGVsLmNvbT4KClJlZ2FyZHMsCgpUdnJ0 a28KX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwt Z2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8v bGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==