From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tvrtko Ursulin Subject: Re: [PATCH 18/19] drm/i915/execlists: Direct submission (avoid tasklet/ksoftirqd) Date: Thu, 17 May 2018 14:13:00 +0100 Message-ID: <7475e148-522d-8a3c-c139-fa612dd8b158@linux.intel.com> References: <20180517074055.14638-1-chris@chris-wilson.co.uk> <20180517074055.14638-18-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 mga18.intel.com (mga18.intel.com [134.134.136.126]) by gabe.freedesktop.org (Postfix) with ESMTPS id A30226E864 for ; Thu, 17 May 2018 13:13:03 +0000 (UTC) In-Reply-To: <20180517074055.14638-18-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 Ck9uIDE3LzA1LzIwMTggMDg6NDAsIENocmlzIFdpbHNvbiB3cm90ZToKPiBCYWNrIGluIGNvbW1p dCAyN2FmNWVlYTU0ZDEgKCJkcm0vaTkxNTogTW92ZSBleGVjbGlzdHMgaXJxIGhhbmRsZXIgdG8g YQo+IGJvdHRvbSBoYWxmIiksIHdlIGNhbWUgdG8gdGhlIGNvbmNsdXNpb24gdGhhdCBydW5uaW5n IG91ciBDU0IgcHJvY2Vzc2luZwo+IGFuZCBFTFNQIHN1Ym1pc3Npb24gZnJvbSBpbnNpZGUgdGhl IGlycSBoYW5kbGVyIHdhcyBhIGJhZCBpZGVhLiBBIHJlYWxseQo+IGJhZCBpZGVhIGFzIHdlIGNv dWxkIGltcG9zZSBuZWFybHkgMXMgbGF0ZW5jeSBvbiBvdGhlciB1c2VycyBvZiB0aGUKPiBzeXN0 ZW0sIG9uIGF2ZXJhZ2UhIERlZmVycmluZyBvdXIgd29yayB0byBhIHRhc2tsZXQgYWxsb3dlZCB1 cyB0byBkbyB0aGUKPiBwcm9jZXNzaW5nIHdpdGggaXJxcyBlbmFibGVkLCByZWR1Y2luZyB0aGUg aW1wYWN0IHRvIGFuIGF2ZXJhZ2Ugb2YgYWJvdXQKPiA1MHVzLgo+IAo+IFdlIGhhdmUgc2luY2Ug ZXJhZGljYXRlZCB0aGUgdXNlIG9mIGZvcmNld2FrZWQgbW1pbyBmcm9tIGluc2lkZSB0aGUgQ1NC Cj4gcHJvY2Vzc2luZyBhbmQgRUxTUCBzdWJtaXNzaW9uLCBicmluZ2luZyB0aGUgaW1wYWN0IGRv d24gdG8gYXJvdW5kIDV1cwo+IChvbiBLYWJ5bGFrZSk7IGFuIG9yZGVyIG9mIG1hZ25pdHVkZSBi ZXR0ZXIgdGhhbiBvdXIgbWVhc3VyZW1lbnRzIDIKPiB5ZWFycyBhZ28gb24gQnJvYWR3ZWxsIGFu ZCBvbmx5IGFib3V0IDJ4IHdvcnNlIG9uIGF2ZXJhZ2UgdGhhbiB0aGUKPiBnZW1fc3lzbGF0ZW5j eSBvbiBhbiB1bmxhZGVuIHN5c3RlbS4KPiAKPiBDb21wYXJpbmcgdGhlIGltcGFjdCBvbiB0aGUg bWF4aW11bSBsYXRlbmN5IG9ic2VydmVkIG92ZXIgYSAxMjBzIGludGVydmFsLAo+IHJlcGVhdGVk IHNldmVyYWwgdGltZXMgKHVzaW5nIGdlbV9zeXNsYXRlbmN5LCBzaW1pbGFyIHRvIFJUJ3MgY3lj bGljdGVzdCkKPiB3aGlsZSB0aGUgc3lzdGVtIGlzIGZ1bGx5IGxhZGVuIHdpdGggaTkxNSBub3Bz LCB3ZSBzZWUgdGhhdCBkaXJlY3QKPiBzdWJtaXNzaW9uIGRlZmluaXRlbHkgd29yc2VucyB0aGUg cmVzcG9uc2UgYnV0IG5vdCB0byB0aGUgc2FtZSBvdXRsYW5kaXNoCj4gZGVncmVlIGFzIGJlZm9y ZS4KPiAKPiB4IFVubGFkZW4gYmFzZWxpbmUKPiArIFVzaW5nIHRhc2tsZXQKPiAqIERpcmVjdCBz dWJtaXNzaW9uCj4gCj4gKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKPiB8eHggeCAgICAgICAgICArKyAgICAr KysgKyAgICAgICAgICAgICAgICAgICAgICAgICAgICogICogKiAgICoqICoqKiAqICAqfAo+IHx8 QXwgICAgICAgICAgICAgIHxfX0FNX198ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHxf X19fX0FfTV9fX3wgICB8Cj4gKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsKCldoYXQgYXJlIHRoZXNlIGhlYWRl cnM/IFRoaXMgb25lIGFuZCBiZWxvdywgSSBjYW5ub3QgZGVjaXBoZXIgdGhlbSBhdCBhbGwuCgo+ ICAgICAgTiAgICAgICAgICAgTWluICAgICAgICAgICBNYXggICAgICAgIE1lZGlhbiAgICAgICAg ICAgQXZnICAgICAgICBTdGRkZXYKPiB4ICAxMCAgICAgICAgICAgICA1ICAgICAgICAgICAgMTgg ICAgICAgICAgICAxMCAgICAgICAgICAgOS4zICAgICAzLjY1MzAwNDkKPiArICAxMCAgICAgICAg ICAgIDcyICAgICAgICAgICAxMjAgICAgICAgICAgIDEwOCAgICAgICAgIDEwMi45ICAgICAxNS43 NTgyNDMKPiAqICAxMCAgICAgICAgICAgMjU1ICAgICAgICAgICAzNDggICAgICAgICAgIDMxNiAg ICAgICAgIDMwNS43ICAgICAgMjguNzQ4MTQKCkluIG1pY3JvLXNlY29uZHM/IHNvIHRhc2tsZXQg aXMgMTA4dXMgbWVkaWFuPyBEaXJlY3Qgc3VibWlzc2lvbiAzMTZ1cyAKbWVkaWFuPwoKPiAKPiBB bmQgd2l0aCBhIGJhY2tncm91bmQgbG9hZAoKVGhpcyBpcyBJTyBiYWNrZ3JvdW5kIGxvYWQ/CgpS ZWdhcmRzLAoKVHZydGtvCgo+IAo+ICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCj4gfHggICAgICAgICAgICAg ICAgICAgICAgICAgICsgICAgICAgICAgICogICAgICAgICAgICAgICogICAgICAgICAgICAgICAg IHwKPiB8eCAgICAgICAgICAgICAgICAgICAgKyAgICAgKyArICsgKyAgKyArKiAqICoqICsrICAg ICAgKiAqICAgKiAgICAgICAgICAqfAo+IHxBICAgICAgICAgICAgICAgICAgICAgICAgfF9fX19f X19BX19fX198X198X19fX19fX0FfX19NX19fX19ffCAgICAgICAgICB8Cj4gKy0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLSsKPiAgICAgIE4gICAgICAgICAgIE1pbiAgICAgICAgICAgTWF4ICAgICAgICBNZWRpYW4g ICAgICAgICAgIEF2ZyAgICAgICAgU3RkZGV2Cj4geCAgMTAgICAgICAgICAgICAgNCAgICAgICAg ICAgIDExICAgICAgICAgICAgIDkgICAgICAgICAgIDguNSAgICAgMi4xNzMwNjc1Cj4gKyAgMTAg ICAgICAgICAgIDYzMyAgICAgICAgICAxMzg4ICAgICAgICAgICA5NzIgICAgICAgICAgIDk5MyAg ICAgMjQzLjMzNzQ0Cj4gKiAgMTAgICAgICAgICAgMTE1MiAgICAgICAgICAyMTA5ICAgICAgICAg IDE2MDggICAgICAgIDE0ODguMyAgICAgMzE0LjgwNzE5Cj4gCj4gUmVmZXJlbmNlczogMjdhZjVl ZWE1NGQxICgiZHJtL2k5MTU6IE1vdmUgZXhlY2xpc3RzIGlycSBoYW5kbGVyIHRvIGEgYm90dG9t IGhhbGYiKQo+IFNpZ25lZC1vZmYtYnk6IENocmlzIFdpbHNvbiA8Y2hyaXNAY2hyaXMtd2lsc29u LmNvLnVrPgo+IENjOiBUdnJ0a28gVXJzdWxpbiA8dHZydGtvLnVyc3VsaW5AaW50ZWwuY29tPgo+ IC0tLQo+ICAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9pcnEuYyAgfCAxMSArKy0tLS0tLQo+ ICAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmMgfCA0NCArKysrKysrKysrKysrKysr Ky0tLS0tLS0tLS0tLS0tLQo+ICAgMiBmaWxlcyBjaGFuZ2VkLCAyNiBpbnNlcnRpb25zKCspLCAy OSBkZWxldGlvbnMoLSkKPiAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9pcnEuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfaXJxLmMKPiBpbmRleCAzZjEzOWZm NjQzODUuLjhiNjFlYmY1Y2I0YSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X2lycS5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9pcnEuYwo+IEBAIC0x NDYyLDIyICsxNDYyLDE1IEBAIHN0YXRpYyB2b2lkIHNuYl9ndF9pcnFfaGFuZGxlcihzdHJ1Y3Qg ZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCj4gICBzdGF0aWMgdm9pZAo+ICAgZ2VuOF9jc19p cnFfaGFuZGxlcihzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUsIHUzMiBpaXIpCj4gICB7 Cj4gLQlib29sIHRhc2tsZXQgPSBmYWxzZTsKPiAtCj4gLQlpZiAoaWlyICYgR1RfQ09OVEVYVF9T V0lUQ0hfSU5URVJSVVBUKSB7Cj4gKwlpZiAoaWlyICYgR1RfQ09OVEVYVF9TV0lUQ0hfSU5URVJS VVBUKQo+ICAgCQlpbnRlbF9lbmdpbmVfaGFuZGxlX2V4ZWNsaXN0c19pcnEoZW5naW5lKTsKPiAt CQl0YXNrbGV0ID0gdHJ1ZTsKPiAtCX0KPiAgIAo+ICAgCWlmIChpaXIgJiBHVF9SRU5ERVJfVVNF Ul9JTlRFUlJVUFQpIHsKPiAgIAkJaWYgKGludGVsX2VuZ2luZV91c2VzX2d1YyhlbmdpbmUpKQo+ IC0JCQl0YXNrbGV0ID0gdHJ1ZTsKPiArCQkJdGFza2xldF9oaV9zY2hlZHVsZSgmZW5naW5lLT5l eGVjbGlzdHMudGFza2xldCk7Cj4gICAKPiAgIAkJbm90aWZ5X3JpbmcoZW5naW5lKTsKPiAgIAl9 Cj4gLQo+IC0JaWYgKHRhc2tsZXQpCj4gLQkJdGFza2xldF9oaV9zY2hlZHVsZSgmZW5naW5lLT5l eGVjbGlzdHMudGFza2xldCk7Cj4gICB9Cj4gICAKPiAgIHN0YXRpYyB2b2lkIGdlbjhfZ3RfaXJx X2FjayhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSwKPiBkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9s cmMuYwo+IGluZGV4IDk1NGViM2E3MTA1MS4uMzc4MzlkODllMDNhIDEwMDY0NAo+IC0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfbHJjLmMKPiBAQCAtNTc1LDcgKzU3NSw3IEBAIHN0YXRpYyB2b2lkIGNvbXBsZXRl X3ByZWVtcHRfY29udGV4dChzdHJ1Y3QgaW50ZWxfZW5naW5lX2V4ZWNsaXN0cyAqZXhlY2xpc3Rz KQo+ICAgCWV4ZWNsaXN0c19jbGVhcl9hY3RpdmUoZXhlY2xpc3RzLCBFWEVDTElTVFNfQUNUSVZF X1BSRUVNUFQpOwo+ICAgfQo+ICAgCj4gLXN0YXRpYyB2b2lkIF9fZXhlY2xpc3RzX2RlcXVldWUo c3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lKQo+ICtzdGF0aWMgdm9pZCBleGVjbGlzdHNf ZGVxdWV1ZShzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUpCj4gICB7Cj4gICAJc3RydWN0 IGludGVsX2VuZ2luZV9leGVjbGlzdHMgKiBjb25zdCBleGVjbGlzdHMgPSAmZW5naW5lLT5leGVj bGlzdHM7Cj4gICAJc3RydWN0IGV4ZWNsaXN0X3BvcnQgKnBvcnQgPSBleGVjbGlzdHMtPnBvcnQ7 Cj4gQEAgLTU4Nyw3ICs1ODcsMTEgQEAgc3RhdGljIHZvaWQgX19leGVjbGlzdHNfZGVxdWV1ZShz dHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUpCj4gICAKPiAgIAlsb2NrZGVwX2Fzc2VydF9o ZWxkKCZlbmdpbmUtPnRpbWVsaW5lLmxvY2spOwo+ICAgCj4gLQkvKiBIYXJkd2FyZSBzdWJtaXNz aW9uIGlzIHRocm91Z2ggMiBwb3J0cy4gQ29uY2VwdHVhbGx5IGVhY2ggcG9ydAo+ICsJaWYgKGV4 ZWNsaXN0c19pc19hY3RpdmUoJmVuZ2luZS0+ZXhlY2xpc3RzLCBFWEVDTElTVFNfQUNUSVZFX1BS RUVNUFQpKQo+ICsJCXJldHVybjsKPiArCj4gKwkvKgo+ICsJICogSGFyZHdhcmUgc3VibWlzc2lv biBpcyB0aHJvdWdoIDIgcG9ydHMuIENvbmNlcHR1YWxseSBlYWNoIHBvcnQKPiAgIAkgKiBoYXMg YSAoUklOR19TVEFSVCwgUklOR19IRUFELCBSSU5HX1RBSUwpIHR1cGxlLiBSSU5HX1NUQVJUIGlz Cj4gICAJICogc3RhdGljIGZvciBhIGNvbnRleHQsIGFuZCB1bmlxdWUgdG8gZWFjaCwgc28gd2Ug b25seSBleGVjdXRlCj4gICAJICogcmVxdWVzdHMgYmVsb25naW5nIHRvIGEgc2luZ2xlIGNvbnRl eHQgZnJvbSBlYWNoIHJpbmcuIFJJTkdfSEVBRAo+IEBAIC03NzcsMTUgKzc4MSw2IEBAIHN0YXRp YyB2b2lkIF9fZXhlY2xpc3RzX2RlcXVldWUoc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5l KQo+ICAgCQkgICAhcG9ydF9pc3NldChlbmdpbmUtPmV4ZWNsaXN0cy5wb3J0KSk7Cj4gICB9Cj4g ICAKPiAtc3RhdGljIHZvaWQgZXhlY2xpc3RzX2RlcXVldWUoc3RydWN0IGludGVsX2VuZ2luZV9j cyAqZW5naW5lKQo+IC17Cj4gLQl1bnNpZ25lZCBsb25nIGZsYWdzOwo+IC0KPiAtCXNwaW5fbG9j a19pcnFzYXZlKCZlbmdpbmUtPnRpbWVsaW5lLmxvY2ssIGZsYWdzKTsKPiAtCV9fZXhlY2xpc3Rz X2RlcXVldWUoZW5naW5lKTsKPiAtCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmVuZ2luZS0+dGlt ZWxpbmUubG9jaywgZmxhZ3MpOwo+IC19Cj4gLQo+ICAgdm9pZAo+ICAgZXhlY2xpc3RzX2NhbmNl bF9wb3J0X3JlcXVlc3RzKHN0cnVjdCBpbnRlbF9lbmdpbmVfZXhlY2xpc3RzICogY29uc3QgZXhl Y2xpc3RzKQo+ICAgewo+IEBAIC0xMTA2LDYgKzExMDEsNyBAQCB2b2lkIGludGVsX2VuZ2luZV9o YW5kbGVfZXhlY2xpc3RzX2lycShzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUpCj4gICAJ ICAgICAgIGV4ZWNsaXN0cy0+Y3NiX3JlYWQpOwo+ICAgCWV4ZWNsaXN0cy0+Y3NiX2hlYWQgPSBo ZWFkOwo+ICAgCj4gKwlleGVjbGlzdHNfZGVxdWV1ZShlbmdpbmUpOwo+ICAgCXNwaW5fdW5sb2Nr KCZlbmdpbmUtPnRpbWVsaW5lLmxvY2spOwo+ICAgfQo+ICAgCj4gQEAgLTExMjIsOCArMTExOCw5 IEBAIHN0YXRpYyB2b2lkIGV4ZWNsaXN0c19zdWJtaXNzaW9uX3Rhc2tsZXQodW5zaWduZWQgbG9u ZyBkYXRhKQo+ICAgCQkgIGVuZ2luZS0+aTkxNS0+Z3QuYXdha2UsCj4gICAJCSAgZW5naW5lLT5l eGVjbGlzdHMuYWN0aXZlKTsKPiAgIAo+IC0JaWYgKCFleGVjbGlzdHNfaXNfYWN0aXZlKCZlbmdp bmUtPmV4ZWNsaXN0cywgRVhFQ0xJU1RTX0FDVElWRV9QUkVFTVBUKSkKPiAtCQlleGVjbGlzdHNf ZGVxdWV1ZShlbmdpbmUpOwo+ICsJc3Bpbl9sb2NrX2lycSgmZW5naW5lLT50aW1lbGluZS5sb2Nr KTsKPiArCWV4ZWNsaXN0c19kZXF1ZXVlKGVuZ2luZSk7Cj4gKwlzcGluX3VubG9ja19pcnEoJmVu Z2luZS0+dGltZWxpbmUubG9jayk7Cj4gICB9Cj4gICAKPiAgIHN0YXRpYyB2b2lkIHF1ZXVlX3Jl cXVlc3Qoc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lLAo+IEBAIC0xMTM0LDE2ICsxMTMx LDIwIEBAIHN0YXRpYyB2b2lkIHF1ZXVlX3JlcXVlc3Qoc3RydWN0IGludGVsX2VuZ2luZV9jcyAq ZW5naW5lLAo+ICAgCQkgICAgICAmbG9va3VwX3ByaW9saXN0KGVuZ2luZSwgcHJpbyktPnJlcXVl c3RzKTsKPiAgIH0KPiAgIAo+IC1zdGF0aWMgdm9pZCBfX3N1Ym1pdF9xdWV1ZShzdHJ1Y3QgaW50 ZWxfZW5naW5lX2NzICplbmdpbmUsIGludCBwcmlvKQo+ICtzdGF0aWMgdm9pZCBfX3VwZGF0ZV9x dWV1ZShzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUsIGludCBwcmlvKQo+ICAgewo+ICAg CWVuZ2luZS0+ZXhlY2xpc3RzLnF1ZXVlX3ByaW9yaXR5ID0gcHJpbzsKPiAtCXRhc2tsZXRfaGlf c2NoZWR1bGUoJmVuZ2luZS0+ZXhlY2xpc3RzLnRhc2tsZXQpOwo+ICAgfQo+ICAgCj4gICBzdGF0 aWMgdm9pZCBzdWJtaXRfcXVldWUoc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lLCBpbnQg cHJpbykKPiAgIHsKPiAtCWlmIChwcmlvID4gZW5naW5lLT5leGVjbGlzdHMucXVldWVfcHJpb3Jp dHkpCj4gLQkJX19zdWJtaXRfcXVldWUoZW5naW5lLCBwcmlvKTsKPiArCWlmIChwcmlvID4gZW5n aW5lLT5leGVjbGlzdHMucXVldWVfcHJpb3JpdHkpIHsKPiArCQlfX3VwZGF0ZV9xdWV1ZShlbmdp bmUsIHByaW8pOwo+ICsJCWlmICghaW50ZWxfZW5naW5lX3VzZXNfZ3VjKGVuZ2luZSkpCj4gKwkJ CWV4ZWNsaXN0c19kZXF1ZXVlKGVuZ2luZSk7Cj4gKwkJZWxzZQo+ICsJCQl0YXNrbGV0X2hpX3Nj aGVkdWxlKCZlbmdpbmUtPmV4ZWNsaXN0cy50YXNrbGV0KTsKPiArCX0KPiAgIH0KPiAgIAo+ICAg c3RhdGljIHZvaWQgZXhlY2xpc3RzX3N1Ym1pdF9yZXF1ZXN0KHN0cnVjdCBpOTE1X3JlcXVlc3Qg KnJlcXVlc3QpCj4gQEAgLTExNTUsMTEgKzExNTYsMTIgQEAgc3RhdGljIHZvaWQgZXhlY2xpc3Rz X3N1Ym1pdF9yZXF1ZXN0KHN0cnVjdCBpOTE1X3JlcXVlc3QgKnJlcXVlc3QpCj4gICAJc3Bpbl9s b2NrX2lycXNhdmUoJmVuZ2luZS0+dGltZWxpbmUubG9jaywgZmxhZ3MpOwo+ICAgCj4gICAJcXVl dWVfcmVxdWVzdChlbmdpbmUsICZyZXF1ZXN0LT5zY2hlZCwgcnFfcHJpbyhyZXF1ZXN0KSk7Cj4g LQlzdWJtaXRfcXVldWUoZW5naW5lLCBycV9wcmlvKHJlcXVlc3QpKTsKPiAgIAo+ICAgCUdFTV9C VUdfT04oIWVuZ2luZS0+ZXhlY2xpc3RzLmZpcnN0KTsKPiAgIAlHRU1fQlVHX09OKGxpc3RfZW1w dHkoJnJlcXVlc3QtPnNjaGVkLmxpbmspKTsKPiAgIAo+ICsJc3VibWl0X3F1ZXVlKGVuZ2luZSwg cnFfcHJpbyhyZXF1ZXN0KSk7Cj4gKwo+ICAgCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmVuZ2lu ZS0+dGltZWxpbmUubG9jaywgZmxhZ3MpOwo+ICAgfQo+ICAgCj4gQEAgLTEyODYsOCArMTI4OCwx MCBAQCBzdGF0aWMgdm9pZCBleGVjbGlzdHNfc2NoZWR1bGUoc3RydWN0IGk5MTVfcmVxdWVzdCAq cmVxdWVzdCwKPiAgIAkJfQo+ICAgCj4gICAJCWlmIChwcmlvID4gZW5naW5lLT5leGVjbGlzdHMu cXVldWVfcHJpb3JpdHkgJiYKPiAtCQkgICAgaTkxNV9zd19mZW5jZV9kb25lKCZzY2hlZF90b19y ZXF1ZXN0KG5vZGUpLT5zdWJtaXQpKQo+IC0JCQlfX3N1Ym1pdF9xdWV1ZShlbmdpbmUsIHByaW8p Owo+ICsJCSAgICBpOTE1X3N3X2ZlbmNlX2RvbmUoJnNjaGVkX3RvX3JlcXVlc3Qobm9kZSktPnN1 Ym1pdCkpIHsKPiArCQkJX191cGRhdGVfcXVldWUoZW5naW5lLCBwcmlvKTsKPiArCQkJdGFza2xl dF9oaV9zY2hlZHVsZSgmZW5naW5lLT5leGVjbGlzdHMudGFza2xldCk7Cj4gKwkJfQo+ICAgCX0K PiAgIAo+ICAgCXNwaW5fdW5sb2NrX2lycSgmZW5naW5lLT50aW1lbGluZS5sb2NrKTsKPiAKX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1h aWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMu ZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==