From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tvrtko Ursulin Subject: Re: [PATCH igt] test/gem_exec_schedule: Check each engine is an independent timeline Date: Tue, 24 Apr 2018 10:29:38 +0100 Message-ID: References: <20180423203359.357-1-chris@chris-wilson.co.uk> <20180423231625.12052-1-chris@chris-wilson.co.uk> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20180423231625.12052-1-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 Cc: igt-dev@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org Ck9uIDI0LzA0LzIwMTggMDA6MTYsIENocmlzIFdpbHNvbiB3cm90ZToKPiBJbiB0aGUgZXhpc3Rp bmcgQUJJLCBlYWNoIGVuZ2luZSBvcGVyYXRlcyBpdHMgb3duIHRpbWVsaW5lCj4gKGZlbmNlLmNv bnRleHQpIGFuZCBzbyBzaG91bGQgZXhlY3V0ZSBpbmRlcGVuZGVudGx5IG9mIGFueSBvdGhlci4g SWYgd2UKPiBpbnN0YWxsIGEgYmxvY2tlciBvbiBhbGwgb3RoZXIgZW5naW5lcywgdGhhdCBzaG91 bGQgbm90IGFmZmVjdCBleGVjdXRpb24KPiBvbiB0aGUgbG9jYWwgZW5naW5lLgo+IAo+IHYyOiBN b3ZlIHRoZSByZXF1aXJlbWVudHMgY2hlY2tzIGZyb20gdGhlIGZpeHR1cmUgdG8gc3VidGVzdCBz byB0aGF0Cj4gdGhlIHRlc3QgbGlzdCBpcyBzdGFibGUgKEFudG9uaW8pCj4gdjM6IFByb3RlY3Qg U05CIGZyb20gdGhlIGV2aWwgTUlfU1RPUkVfRFdPUkQuCj4gCj4gU2lnbmVkLW9mZi1ieTogQ2hy aXMgV2lsc29uIDxjaHJpc0BjaHJpcy13aWxzb24uY28udWs+Cj4gQ2M6IFR2cnRrbyBVcnN1bGlu IDx0dnJ0a28udXJzdWxpbkBpbnRlbC5jb20+Cj4gQ2M6IEFudG9uaW8gQXJnZW56aWFubyA8YW50 b25pby5hcmdlbnppYW5vQGludGVsLmNvbT4KPiAtLS0KPiAgIHRlc3RzL2dlbV9leGVjX3NjaGVk dWxlLmMgfCA5NiArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0KPiAgIDEg ZmlsZSBjaGFuZ2VkLCA5MCBpbnNlcnRpb25zKCspLCA2IGRlbGV0aW9ucygtKQo+IAo+IGRpZmYg LS1naXQgYS90ZXN0cy9nZW1fZXhlY19zY2hlZHVsZS5jIGIvdGVzdHMvZ2VtX2V4ZWNfc2NoZWR1 bGUuYwo+IGluZGV4IDVkMGYyMTViMi4uMWY0MzE0N2Y3IDEwMDY0NAo+IC0tLSBhL3Rlc3RzL2dl bV9leGVjX3NjaGVkdWxlLmMKPiArKysgYi90ZXN0cy9nZW1fZXhlY19zY2hlZHVsZS5jCj4gQEAg LTQ5LDkgKzQ5LDkgQEAKPiAgIAo+ICAgSUdUX1RFU1RfREVTQ1JJUFRJT04oIkNoZWNrIHRoYXQg d2UgY2FuIGNvbnRyb2wgdGhlIG9yZGVyIG9mIGV4ZWN1dGlvbiIpOwo+ICAgCj4gLXN0YXRpYyB2 b2lkIHN0b3JlX2R3b3JkKGludCBmZCwgdWludDMyX3QgY3R4LCB1bnNpZ25lZCByaW5nLAo+IC0J CQl1aW50MzJfdCB0YXJnZXQsIHVpbnQzMl90IG9mZnNldCwgdWludDMyX3QgdmFsdWUsCj4gLQkJ CXVpbnQzMl90IGNvcmssIHVuc2lnbmVkIHdyaXRlX2RvbWFpbikKPiArc3RhdGljIHVpbnQzMl90 IF9fc3RvcmVfZHdvcmQoaW50IGZkLCB1aW50MzJfdCBjdHgsIHVuc2lnbmVkIHJpbmcsCj4gKwkJ CSAgICAgIHVpbnQzMl90IHRhcmdldCwgdWludDMyX3Qgb2Zmc2V0LCB1aW50MzJfdCB2YWx1ZSwK PiArCQkJICAgICAgdWludDMyX3QgY29yaywgdW5zaWduZWQgd3JpdGVfZG9tYWluKQo+ICAgewo+ ICAgCWNvbnN0IGludCBnZW4gPSBpbnRlbF9nZW4oaW50ZWxfZ2V0X2RybV9kZXZpZChmZCkpOwo+ ICAgCXN0cnVjdCBkcm1faTkxNV9nZW1fZXhlY19vYmplY3QyIG9ialszXTsKPiBAQCAtMTAwLDcg KzEwMCwxNyBAQCBzdGF0aWMgdm9pZCBzdG9yZV9kd29yZChpbnQgZmQsIHVpbnQzMl90IGN0eCwg dW5zaWduZWQgcmluZywKPiAgIAliYXRjaFsrK2ldID0gTUlfQkFUQ0hfQlVGRkVSX0VORDsKPiAg IAlnZW1fd3JpdGUoZmQsIG9ialsyXS5oYW5kbGUsIDAsIGJhdGNoLCBzaXplb2YoYmF0Y2gpKTsK PiAgIAlnZW1fZXhlY2J1ZihmZCwgJmV4ZWNidWYpOwo+IC0JZ2VtX2Nsb3NlKGZkLCBvYmpbMl0u aGFuZGxlKTsKPiArCj4gKwlyZXR1cm4gb2JqWzJdLmhhbmRsZTsKPiArfQo+ICsKPiArc3RhdGlj IHZvaWQgc3RvcmVfZHdvcmQoaW50IGZkLCB1aW50MzJfdCBjdHgsIHVuc2lnbmVkIHJpbmcsCj4g KwkJCXVpbnQzMl90IHRhcmdldCwgdWludDMyX3Qgb2Zmc2V0LCB1aW50MzJfdCB2YWx1ZSwKPiAr CQkJdWludDMyX3QgY29yaywgdW5zaWduZWQgd3JpdGVfZG9tYWluKQo+ICt7Cj4gKwlnZW1fY2xv c2UoZmQsIF9fc3RvcmVfZHdvcmQoZmQsIGN0eCwgcmluZywKPiArCQkJCSAgICB0YXJnZXQsIG9m ZnNldCwgdmFsdWUsCj4gKwkJCQkgICAgY29yaywgd3JpdGVfZG9tYWluKSk7Cj4gICB9Cj4gICAK PiAgIHN0YXRpYyB1aW50MzJfdCBjcmVhdGVfaGlnaGVzdF9wcmlvcml0eShpbnQgZmQpCj4gQEAg LTE2MSw2ICsxNzEsNzQgQEAgc3RhdGljIHZvaWQgZmlmbyhpbnQgZmQsIHVuc2lnbmVkIHJpbmcp Cj4gICAJbXVubWFwKHB0ciwgNDA5Nik7Cj4gICB9Cj4gICAKPiArc3RhdGljIHZvaWQgaW5kZXBl bmRlbnQoaW50IGZkLCB1bnNpZ25lZCBpbnQgZW5naW5lKQo+ICt7Cj4gKwlJR1RfQ09SS19IQU5E TEUoY29yayk7Cj4gKwl1aW50MzJfdCBzY3JhdGNoLCBwbHVnLCBiYXRjaDsKPiArCWlndF9zcGlu X3QgKnNwaW4gPSBOVUxMOwo+ICsJdW5zaWduZWQgaW50IG90aGVyOwo+ICsJdWludDMyX3QgKnB0 cjsKPiArCj4gKwlpZ3RfcmVxdWlyZShlbmdpbmUgIT0gMCk7Cj4gKwo+ICsJc2NyYXRjaCA9IGdl bV9jcmVhdGUoZmQsIDQwOTYpOwo+ICsJcHRyID0gZ2VtX21tYXBfX2d0dChmZCwgc2NyYXRjaCwg NDA5NiwgUFJPVF9SRUFEKTsKPiArCWlndF9hc3NlcnRfZXEocHRyWzBdLCAwKTsKPiArCj4gKwlw bHVnID0gaWd0X2NvcmtfcGx1ZygmY29yaywgZmQpOwo+ICsKPiArCS8qIENoZWNrIHRoYXQgd2Ug Y2FuIHN1Ym1pdCB0byBlbmdpbmUgd2hpbGUgYWxsIG90aGVycyBhcmUgYmxvY2tlZCAqLwo+ICsJ Zm9yX2VhY2hfcGh5c2ljYWxfZW5naW5lKGZkLCBvdGhlcikgewo+ICsJCWlmIChvdGhlciA9PSBl bmdpbmUpCj4gKwkJCWNvbnRpbnVlOwo+ICsKPiArCQlpZiAoIWdlbV9jYW5fc3RvcmVfZHdvcmQo ZmQsIG90aGVyKSkKPiArCQkJY29udGludWU7Cj4gKwo+ICsJCWlmIChzcGluID09IE5VTEwpIHsK PiArCQkJc3BpbiA9IF9faWd0X3NwaW5fYmF0Y2hfbmV3KGZkLCAwLCBvdGhlciwgMCk7Cj4gKwkJ fSBlbHNlIHsKPiArCQkJc3RydWN0IGRybV9pOTE1X2dlbV9leGVjX29iamVjdDIgb2JqID0gewo+ ICsJCQkJLmhhbmRsZSA9IHNwaW4tPmhhbmRsZSwKPiArCQkJfTsKPiArCQkJc3RydWN0IGRybV9p OTE1X2dlbV9leGVjYnVmZmVyMiBlYiA9IHsKPiArCQkJCS5idWZmZXJfY291bnQgPSAxLAo+ICsJ CQkJLmJ1ZmZlcnNfcHRyID0gdG9fdXNlcl9wb2ludGVyKCZvYmopLAo+ICsJCQkJLmZsYWdzID0g b3RoZXIsCj4gKwkJCX07Cj4gKwkJCWdlbV9leGVjYnVmKGZkLCAmZWIpOwo+ICsJCX0KPiArCj4g KwkJc3RvcmVfZHdvcmQoZmQsIDAsIG90aGVyLCBzY3JhdGNoLCAwLCBvdGhlciwgcGx1ZywgMCk7 Cj4gKwl9Cj4gKwlpZ3RfcmVxdWlyZShzcGluKTsKPiArCj4gKwkvKiBTYW1lIHByaW9yaXR5LCBi dXQgZGlmZmVyZW50IHRpbWVsaW5lIChhcyBkaWZmZXJlbnQgZW5naW5lKSAqLwo+ICsJYmF0Y2gg PSBfX3N0b3JlX2R3b3JkKGZkLCAwLCBlbmdpbmUsIHNjcmF0Y2gsIDAsIGVuZ2luZSwgcGx1Zywg MCk7Cj4gKwo+ICsJdW5wbHVnX3Nob3dfcXVldWUoZmQsICZjb3JrLCBlbmdpbmUpOwo+ICsJZ2Vt X2Nsb3NlKGZkLCBwbHVnKTsKPiArCj4gKwlnZW1fc3luYyhmZCwgYmF0Y2gpOwo+ICsJaWd0X2Fz c2VydCghZ2VtX2JvX2J1c3koZmQsIGJhdGNoKSk7Cj4gKwlpZ3RfYXNzZXJ0KGdlbV9ib19idXN5 KGZkLCBzcGluLT5oYW5kbGUpKTsKPiArCWdlbV9jbG9zZShmZCwgYmF0Y2gpOwo+ICsKPiArCS8q IE9ubHkgdGhlIGxvY2FsIGVuZ2luZSBzaG91bGQgYmUgZnJlZSB0byBjb21wbGV0ZS4gKi8KPiAr CWlndF9hc3NlcnQoZ2VtX2JvX2J1c3koZmQsIHNjcmF0Y2gpKTsKPiArCWlndF9hc3NlcnRfZXEo cHRyWzBdLCBlbmdpbmUpOwo+ICsKPiArCWlndF9zcGluX2JhdGNoX2ZyZWUoZmQsIHNwaW4pOwo+ ICsJZ2VtX3F1aWVzY2VudF9ncHUoZmQpOwo+ICsKPiArCS8qIEFuZCB3ZSBleHBlY3QgdGhlIG90 aGVycyB0byBoYXZlIG92ZXJ3cml0dGVuIHVzLCBvcmRlciB1bnNwZWNpZmllZCAqLwo+ICsJaWd0 X2Fzc2VydCghZ2VtX2JvX2J1c3koZmQsIHNjcmF0Y2gpKTsKPiArCWlndF9hc3NlcnRfbmVxKHB0 clswXSwgZW5naW5lKTsKPiArCj4gKwltdW5tYXAocHRyLCA0MDk2KTsKPiArCWdlbV9jbG9zZShm ZCwgc2NyYXRjaCk7Cj4gK30KPiArCj4gICBzdGF0aWMgdm9pZCBzbW9rZXRlc3QoaW50IGZkLCB1 bnNpZ25lZCByaW5nLCB1bnNpZ25lZCB0aW1lb3V0KQo+ICAgewo+ICAgCWNvbnN0IGludCBuY3B1 cyA9IHN5c2NvbmYoX1NDX05QUk9DRVNTT1JTX09OTE4pOwo+IEBAIC0xMDcyLDkgKzExNTAsMTUg QEAgaWd0X21haW4KPiAgIAo+ICAgCQkJaWd0X3N1YnRlc3RfZigiZmlmby0lcyIsIGUtPm5hbWUp IHsKPiAgIAkJCQlpZ3RfcmVxdWlyZShnZW1fcmluZ19oYXNfcGh5c2ljYWxfZW5naW5lKGZkLCBl LT5leGVjX2lkIHwgZS0+ZmxhZ3MpKTsKPiAtCQkJCWlndF9yZXF1aXJlKGdlbV9jYW5fc3RvcmVf ZHdvcmQoZmQsIGUtPmV4ZWNfaWQpIHwgZS0+ZmxhZ3MpOwo+ICsJCQkJaWd0X3JlcXVpcmUoZ2Vt X2Nhbl9zdG9yZV9kd29yZChmZCwgZS0+ZXhlY19pZCB8IGUtPmZsYWdzKSk7Cj4gICAJCQkJZmlm byhmZCwgZS0+ZXhlY19pZCB8IGUtPmZsYWdzKTsKPiAgIAkJCX0KPiArCj4gKwkJCWlndF9zdWJ0 ZXN0X2YoImluZGVwZW5kZW50LSVzIiwgZS0+bmFtZSkgewo+ICsJCQkJaWd0X3JlcXVpcmUoZ2Vt X3JpbmdfaGFzX3BoeXNpY2FsX2VuZ2luZShmZCwgZS0+ZXhlY19pZCB8IGUtPmZsYWdzKSk7Cj4g KwkJCQlpZ3RfcmVxdWlyZShnZW1fY2FuX3N0b3JlX2R3b3JkKGZkLCBlLT5leGVjX2lkIHwgZS0+ ZmxhZ3MpKTsKPiArCQkJCWluZGVwZW5kZW50KGZkLCBlLT5leGVjX2lkIHwgZS0+ZmxhZ3MpOwo+ ICsJCQl9Cj4gICAJCX0KPiAgIAl9Cj4gICAKPiBAQCAtMTA5NCw3ICsxMTc4LDcgQEAgaWd0X21h aW4KPiAgIAkJCWlndF9zdWJ0ZXN0X2dyb3VwIHsKPiAgIAkJCQlpZ3RfZml4dHVyZSB7Cj4gICAJ CQkJCWlndF9yZXF1aXJlKGdlbV9yaW5nX2hhc19waHlzaWNhbF9lbmdpbmUoZmQsIGUtPmV4ZWNf aWQgfCBlLT5mbGFncykpOwo+IC0JCQkJCWlndF9yZXF1aXJlKGdlbV9jYW5fc3RvcmVfZHdvcmQo ZmQsIGUtPmV4ZWNfaWQpIHwgZS0+ZmxhZ3MpOwo+ICsJCQkJCWlndF9yZXF1aXJlKGdlbV9jYW5f c3RvcmVfZHdvcmQoZmQsIGUtPmV4ZWNfaWQgfCBlLT5mbGFncykpOwo+ICAgCQkJCX0KPiAgIAo+ ICAgCQkJCWlndF9zdWJ0ZXN0X2YoImluLW9yZGVyLSVzIiwgZS0+bmFtZSkKPiAKClJldmlld2Vk LWJ5OiBUdnJ0a28gVXJzdWxpbiA8dHZydGtvLnVyc3VsaW5AaW50ZWwuY29tPgoKUmVnYXJkcywK ClR2cnRrbwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJ bnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0 cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: References: <20180423203359.357-1-chris@chris-wilson.co.uk> <20180423231625.12052-1-chris@chris-wilson.co.uk> From: Tvrtko Ursulin Message-ID: Date: Tue, 24 Apr 2018 10:29:38 +0100 MIME-Version: 1.0 In-Reply-To: <20180423231625.12052-1-chris@chris-wilson.co.uk> Content-Language: en-GB Subject: Re: [igt-dev] [Intel-gfx] [PATCH igt] test/gem_exec_schedule: Check each engine is an independent timeline List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8"; Format="flowed" Errors-To: igt-dev-bounces@lists.freedesktop.org Sender: "igt-dev" To: Chris Wilson , intel-gfx@lists.freedesktop.org Cc: igt-dev@lists.freedesktop.org List-ID: Ck9uIDI0LzA0LzIwMTggMDA6MTYsIENocmlzIFdpbHNvbiB3cm90ZToKPiBJbiB0aGUgZXhpc3Rp bmcgQUJJLCBlYWNoIGVuZ2luZSBvcGVyYXRlcyBpdHMgb3duIHRpbWVsaW5lCj4gKGZlbmNlLmNv bnRleHQpIGFuZCBzbyBzaG91bGQgZXhlY3V0ZSBpbmRlcGVuZGVudGx5IG9mIGFueSBvdGhlci4g SWYgd2UKPiBpbnN0YWxsIGEgYmxvY2tlciBvbiBhbGwgb3RoZXIgZW5naW5lcywgdGhhdCBzaG91 bGQgbm90IGFmZmVjdCBleGVjdXRpb24KPiBvbiB0aGUgbG9jYWwgZW5naW5lLgo+IAo+IHYyOiBN b3ZlIHRoZSByZXF1aXJlbWVudHMgY2hlY2tzIGZyb20gdGhlIGZpeHR1cmUgdG8gc3VidGVzdCBz byB0aGF0Cj4gdGhlIHRlc3QgbGlzdCBpcyBzdGFibGUgKEFudG9uaW8pCj4gdjM6IFByb3RlY3Qg U05CIGZyb20gdGhlIGV2aWwgTUlfU1RPUkVfRFdPUkQuCj4gCj4gU2lnbmVkLW9mZi1ieTogQ2hy aXMgV2lsc29uIDxjaHJpc0BjaHJpcy13aWxzb24uY28udWs+Cj4gQ2M6IFR2cnRrbyBVcnN1bGlu IDx0dnJ0a28udXJzdWxpbkBpbnRlbC5jb20+Cj4gQ2M6IEFudG9uaW8gQXJnZW56aWFubyA8YW50 b25pby5hcmdlbnppYW5vQGludGVsLmNvbT4KPiAtLS0KPiAgIHRlc3RzL2dlbV9leGVjX3NjaGVk dWxlLmMgfCA5NiArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0KPiAgIDEg ZmlsZSBjaGFuZ2VkLCA5MCBpbnNlcnRpb25zKCspLCA2IGRlbGV0aW9ucygtKQo+IAo+IGRpZmYg LS1naXQgYS90ZXN0cy9nZW1fZXhlY19zY2hlZHVsZS5jIGIvdGVzdHMvZ2VtX2V4ZWNfc2NoZWR1 bGUuYwo+IGluZGV4IDVkMGYyMTViMi4uMWY0MzE0N2Y3IDEwMDY0NAo+IC0tLSBhL3Rlc3RzL2dl bV9leGVjX3NjaGVkdWxlLmMKPiArKysgYi90ZXN0cy9nZW1fZXhlY19zY2hlZHVsZS5jCj4gQEAg LTQ5LDkgKzQ5LDkgQEAKPiAgIAo+ICAgSUdUX1RFU1RfREVTQ1JJUFRJT04oIkNoZWNrIHRoYXQg d2UgY2FuIGNvbnRyb2wgdGhlIG9yZGVyIG9mIGV4ZWN1dGlvbiIpOwo+ICAgCj4gLXN0YXRpYyB2 b2lkIHN0b3JlX2R3b3JkKGludCBmZCwgdWludDMyX3QgY3R4LCB1bnNpZ25lZCByaW5nLAo+IC0J CQl1aW50MzJfdCB0YXJnZXQsIHVpbnQzMl90IG9mZnNldCwgdWludDMyX3QgdmFsdWUsCj4gLQkJ CXVpbnQzMl90IGNvcmssIHVuc2lnbmVkIHdyaXRlX2RvbWFpbikKPiArc3RhdGljIHVpbnQzMl90 IF9fc3RvcmVfZHdvcmQoaW50IGZkLCB1aW50MzJfdCBjdHgsIHVuc2lnbmVkIHJpbmcsCj4gKwkJ CSAgICAgIHVpbnQzMl90IHRhcmdldCwgdWludDMyX3Qgb2Zmc2V0LCB1aW50MzJfdCB2YWx1ZSwK PiArCQkJICAgICAgdWludDMyX3QgY29yaywgdW5zaWduZWQgd3JpdGVfZG9tYWluKQo+ICAgewo+ ICAgCWNvbnN0IGludCBnZW4gPSBpbnRlbF9nZW4oaW50ZWxfZ2V0X2RybV9kZXZpZChmZCkpOwo+ ICAgCXN0cnVjdCBkcm1faTkxNV9nZW1fZXhlY19vYmplY3QyIG9ialszXTsKPiBAQCAtMTAwLDcg KzEwMCwxNyBAQCBzdGF0aWMgdm9pZCBzdG9yZV9kd29yZChpbnQgZmQsIHVpbnQzMl90IGN0eCwg dW5zaWduZWQgcmluZywKPiAgIAliYXRjaFsrK2ldID0gTUlfQkFUQ0hfQlVGRkVSX0VORDsKPiAg IAlnZW1fd3JpdGUoZmQsIG9ialsyXS5oYW5kbGUsIDAsIGJhdGNoLCBzaXplb2YoYmF0Y2gpKTsK PiAgIAlnZW1fZXhlY2J1ZihmZCwgJmV4ZWNidWYpOwo+IC0JZ2VtX2Nsb3NlKGZkLCBvYmpbMl0u aGFuZGxlKTsKPiArCj4gKwlyZXR1cm4gb2JqWzJdLmhhbmRsZTsKPiArfQo+ICsKPiArc3RhdGlj IHZvaWQgc3RvcmVfZHdvcmQoaW50IGZkLCB1aW50MzJfdCBjdHgsIHVuc2lnbmVkIHJpbmcsCj4g KwkJCXVpbnQzMl90IHRhcmdldCwgdWludDMyX3Qgb2Zmc2V0LCB1aW50MzJfdCB2YWx1ZSwKPiAr CQkJdWludDMyX3QgY29yaywgdW5zaWduZWQgd3JpdGVfZG9tYWluKQo+ICt7Cj4gKwlnZW1fY2xv c2UoZmQsIF9fc3RvcmVfZHdvcmQoZmQsIGN0eCwgcmluZywKPiArCQkJCSAgICB0YXJnZXQsIG9m ZnNldCwgdmFsdWUsCj4gKwkJCQkgICAgY29yaywgd3JpdGVfZG9tYWluKSk7Cj4gICB9Cj4gICAK PiAgIHN0YXRpYyB1aW50MzJfdCBjcmVhdGVfaGlnaGVzdF9wcmlvcml0eShpbnQgZmQpCj4gQEAg LTE2MSw2ICsxNzEsNzQgQEAgc3RhdGljIHZvaWQgZmlmbyhpbnQgZmQsIHVuc2lnbmVkIHJpbmcp Cj4gICAJbXVubWFwKHB0ciwgNDA5Nik7Cj4gICB9Cj4gICAKPiArc3RhdGljIHZvaWQgaW5kZXBl bmRlbnQoaW50IGZkLCB1bnNpZ25lZCBpbnQgZW5naW5lKQo+ICt7Cj4gKwlJR1RfQ09SS19IQU5E TEUoY29yayk7Cj4gKwl1aW50MzJfdCBzY3JhdGNoLCBwbHVnLCBiYXRjaDsKPiArCWlndF9zcGlu X3QgKnNwaW4gPSBOVUxMOwo+ICsJdW5zaWduZWQgaW50IG90aGVyOwo+ICsJdWludDMyX3QgKnB0 cjsKPiArCj4gKwlpZ3RfcmVxdWlyZShlbmdpbmUgIT0gMCk7Cj4gKwo+ICsJc2NyYXRjaCA9IGdl bV9jcmVhdGUoZmQsIDQwOTYpOwo+ICsJcHRyID0gZ2VtX21tYXBfX2d0dChmZCwgc2NyYXRjaCwg NDA5NiwgUFJPVF9SRUFEKTsKPiArCWlndF9hc3NlcnRfZXEocHRyWzBdLCAwKTsKPiArCj4gKwlw bHVnID0gaWd0X2NvcmtfcGx1ZygmY29yaywgZmQpOwo+ICsKPiArCS8qIENoZWNrIHRoYXQgd2Ug Y2FuIHN1Ym1pdCB0byBlbmdpbmUgd2hpbGUgYWxsIG90aGVycyBhcmUgYmxvY2tlZCAqLwo+ICsJ Zm9yX2VhY2hfcGh5c2ljYWxfZW5naW5lKGZkLCBvdGhlcikgewo+ICsJCWlmIChvdGhlciA9PSBl bmdpbmUpCj4gKwkJCWNvbnRpbnVlOwo+ICsKPiArCQlpZiAoIWdlbV9jYW5fc3RvcmVfZHdvcmQo ZmQsIG90aGVyKSkKPiArCQkJY29udGludWU7Cj4gKwo+ICsJCWlmIChzcGluID09IE5VTEwpIHsK PiArCQkJc3BpbiA9IF9faWd0X3NwaW5fYmF0Y2hfbmV3KGZkLCAwLCBvdGhlciwgMCk7Cj4gKwkJ fSBlbHNlIHsKPiArCQkJc3RydWN0IGRybV9pOTE1X2dlbV9leGVjX29iamVjdDIgb2JqID0gewo+ ICsJCQkJLmhhbmRsZSA9IHNwaW4tPmhhbmRsZSwKPiArCQkJfTsKPiArCQkJc3RydWN0IGRybV9p OTE1X2dlbV9leGVjYnVmZmVyMiBlYiA9IHsKPiArCQkJCS5idWZmZXJfY291bnQgPSAxLAo+ICsJ CQkJLmJ1ZmZlcnNfcHRyID0gdG9fdXNlcl9wb2ludGVyKCZvYmopLAo+ICsJCQkJLmZsYWdzID0g b3RoZXIsCj4gKwkJCX07Cj4gKwkJCWdlbV9leGVjYnVmKGZkLCAmZWIpOwo+ICsJCX0KPiArCj4g KwkJc3RvcmVfZHdvcmQoZmQsIDAsIG90aGVyLCBzY3JhdGNoLCAwLCBvdGhlciwgcGx1ZywgMCk7 Cj4gKwl9Cj4gKwlpZ3RfcmVxdWlyZShzcGluKTsKPiArCj4gKwkvKiBTYW1lIHByaW9yaXR5LCBi dXQgZGlmZmVyZW50IHRpbWVsaW5lIChhcyBkaWZmZXJlbnQgZW5naW5lKSAqLwo+ICsJYmF0Y2gg PSBfX3N0b3JlX2R3b3JkKGZkLCAwLCBlbmdpbmUsIHNjcmF0Y2gsIDAsIGVuZ2luZSwgcGx1Zywg MCk7Cj4gKwo+ICsJdW5wbHVnX3Nob3dfcXVldWUoZmQsICZjb3JrLCBlbmdpbmUpOwo+ICsJZ2Vt X2Nsb3NlKGZkLCBwbHVnKTsKPiArCj4gKwlnZW1fc3luYyhmZCwgYmF0Y2gpOwo+ICsJaWd0X2Fz c2VydCghZ2VtX2JvX2J1c3koZmQsIGJhdGNoKSk7Cj4gKwlpZ3RfYXNzZXJ0KGdlbV9ib19idXN5 KGZkLCBzcGluLT5oYW5kbGUpKTsKPiArCWdlbV9jbG9zZShmZCwgYmF0Y2gpOwo+ICsKPiArCS8q IE9ubHkgdGhlIGxvY2FsIGVuZ2luZSBzaG91bGQgYmUgZnJlZSB0byBjb21wbGV0ZS4gKi8KPiAr CWlndF9hc3NlcnQoZ2VtX2JvX2J1c3koZmQsIHNjcmF0Y2gpKTsKPiArCWlndF9hc3NlcnRfZXEo cHRyWzBdLCBlbmdpbmUpOwo+ICsKPiArCWlndF9zcGluX2JhdGNoX2ZyZWUoZmQsIHNwaW4pOwo+ ICsJZ2VtX3F1aWVzY2VudF9ncHUoZmQpOwo+ICsKPiArCS8qIEFuZCB3ZSBleHBlY3QgdGhlIG90 aGVycyB0byBoYXZlIG92ZXJ3cml0dGVuIHVzLCBvcmRlciB1bnNwZWNpZmllZCAqLwo+ICsJaWd0 X2Fzc2VydCghZ2VtX2JvX2J1c3koZmQsIHNjcmF0Y2gpKTsKPiArCWlndF9hc3NlcnRfbmVxKHB0 clswXSwgZW5naW5lKTsKPiArCj4gKwltdW5tYXAocHRyLCA0MDk2KTsKPiArCWdlbV9jbG9zZShm ZCwgc2NyYXRjaCk7Cj4gK30KPiArCj4gICBzdGF0aWMgdm9pZCBzbW9rZXRlc3QoaW50IGZkLCB1 bnNpZ25lZCByaW5nLCB1bnNpZ25lZCB0aW1lb3V0KQo+ICAgewo+ICAgCWNvbnN0IGludCBuY3B1 cyA9IHN5c2NvbmYoX1NDX05QUk9DRVNTT1JTX09OTE4pOwo+IEBAIC0xMDcyLDkgKzExNTAsMTUg QEAgaWd0X21haW4KPiAgIAo+ICAgCQkJaWd0X3N1YnRlc3RfZigiZmlmby0lcyIsIGUtPm5hbWUp IHsKPiAgIAkJCQlpZ3RfcmVxdWlyZShnZW1fcmluZ19oYXNfcGh5c2ljYWxfZW5naW5lKGZkLCBl LT5leGVjX2lkIHwgZS0+ZmxhZ3MpKTsKPiAtCQkJCWlndF9yZXF1aXJlKGdlbV9jYW5fc3RvcmVf ZHdvcmQoZmQsIGUtPmV4ZWNfaWQpIHwgZS0+ZmxhZ3MpOwo+ICsJCQkJaWd0X3JlcXVpcmUoZ2Vt X2Nhbl9zdG9yZV9kd29yZChmZCwgZS0+ZXhlY19pZCB8IGUtPmZsYWdzKSk7Cj4gICAJCQkJZmlm byhmZCwgZS0+ZXhlY19pZCB8IGUtPmZsYWdzKTsKPiAgIAkJCX0KPiArCj4gKwkJCWlndF9zdWJ0 ZXN0X2YoImluZGVwZW5kZW50LSVzIiwgZS0+bmFtZSkgewo+ICsJCQkJaWd0X3JlcXVpcmUoZ2Vt X3JpbmdfaGFzX3BoeXNpY2FsX2VuZ2luZShmZCwgZS0+ZXhlY19pZCB8IGUtPmZsYWdzKSk7Cj4g KwkJCQlpZ3RfcmVxdWlyZShnZW1fY2FuX3N0b3JlX2R3b3JkKGZkLCBlLT5leGVjX2lkIHwgZS0+ ZmxhZ3MpKTsKPiArCQkJCWluZGVwZW5kZW50KGZkLCBlLT5leGVjX2lkIHwgZS0+ZmxhZ3MpOwo+ ICsJCQl9Cj4gICAJCX0KPiAgIAl9Cj4gICAKPiBAQCAtMTA5NCw3ICsxMTc4LDcgQEAgaWd0X21h aW4KPiAgIAkJCWlndF9zdWJ0ZXN0X2dyb3VwIHsKPiAgIAkJCQlpZ3RfZml4dHVyZSB7Cj4gICAJ CQkJCWlndF9yZXF1aXJlKGdlbV9yaW5nX2hhc19waHlzaWNhbF9lbmdpbmUoZmQsIGUtPmV4ZWNf aWQgfCBlLT5mbGFncykpOwo+IC0JCQkJCWlndF9yZXF1aXJlKGdlbV9jYW5fc3RvcmVfZHdvcmQo ZmQsIGUtPmV4ZWNfaWQpIHwgZS0+ZmxhZ3MpOwo+ICsJCQkJCWlndF9yZXF1aXJlKGdlbV9jYW5f c3RvcmVfZHdvcmQoZmQsIGUtPmV4ZWNfaWQgfCBlLT5mbGFncykpOwo+ICAgCQkJCX0KPiAgIAo+ ICAgCQkJCWlndF9zdWJ0ZXN0X2YoImluLW9yZGVyLSVzIiwgZS0+bmFtZSkKPiAKClJldmlld2Vk LWJ5OiBUdnJ0a28gVXJzdWxpbiA8dHZydGtvLnVyc3VsaW5AaW50ZWwuY29tPgoKUmVnYXJkcywK ClR2cnRrbwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpp Z3QtZGV2IG1haWxpbmcgbGlzdAppZ3QtZGV2QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczov L2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2lndC1kZXYK