From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chris Wilson Subject: Re: [PATCH i-g-t v3] tests/gem_shrink: Exercise OOM and other routes to shrinking in reasonable time Date: Tue, 08 Jan 2019 10:57:37 +0000 Message-ID: <154694504706.27300.2133067606002611779@skylake-alporthouse-com> References: <20190107173640.9620-1-tvrtko.ursulin@linux.intel.com> <20190107182244.10538-1-tvrtko.ursulin@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20190107182244.10538-1-tvrtko.ursulin@linux.intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Tvrtko Ursulin , igt-dev@lists.freedesktop.org Cc: Intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org UXVvdGluZyBUdnJ0a28gVXJzdWxpbiAoMjAxOS0wMS0wNyAxODoyMjo0NCkKPiBGcm9tOiBUdnJ0 a28gVXJzdWxpbiA8dHZydGtvLnVyc3VsaW5AaW50ZWwuY29tPgo+IAo+IEEgc2V0IG9mIHN1YnRl c3RzIHdoaWNoIGV4ZXJjaXNlcyBkaWZmZXJlbnQgcGF0aHMgdG8gb3VyIHNocmlua2VyIGNvZGUK PiAoaW5jbHVkaW5nIHRoZSBPT00ga2lsbGVyKSBpbiBwcmVkaWN0YWJsZSBhbmQgcmVhc29uYWJs ZSB0aW1lIGJ1ZGdldC4KPiAKPiB2MjoKPiAgKiBGaXggYmxhY2tsaXN0IHJlZ2V4cC4gKFBldHJp IExhdHZhbGEpCj4gCj4gdjM6Cj4gICogU2tpcCB1c2VycHRyIHRlc3QgaWYgbm90IHVzZXJwdHIg c3VwcG9ydC4KPiAKPiBTaWduZWQtb2ZmLWJ5OiBUdnJ0a28gVXJzdWxpbiA8dHZydGtvLnVyc3Vs aW5AaW50ZWwuY29tPgo+IC0tLQo+ICBsaWIvaWd0X2NvcmUuYyAgICAgICAgICAgICAgICAgICAg ICAgIHwgIDE5ICsrCj4gIGxpYi9pZ3RfY29yZS5oICAgICAgICAgICAgICAgICAgICAgICAgfCAg IDEgKwo+ICB0ZXN0cy9pOTE1L2dlbV9zaHJpbmsuYyAgICAgICAgICAgICAgIHwgNDAxICsrKysr KysrKysrKysrKysrKysrKysrKysrCj4gIHRlc3RzL2ludGVsLWNpL2JsYWNrbGlzdC50eHQgICAg ICAgICAgfCAgIDIgKy0KPiAgdGVzdHMvaW50ZWwtY2kvZmFzdC1mZWVkYmFjay50ZXN0bGlzdCB8 ICAgMyArCj4gIDUgZmlsZXMgY2hhbmdlZCwgNDI1IGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24o LSkKPiAKPiBkaWZmIC0tZ2l0IGEvbGliL2lndF9jb3JlLmMgYi9saWIvaWd0X2NvcmUuYwo+IGlu ZGV4IDUwZDYwMDhmNmM4Mi4uMzUxZGEwYjRlMDIwIDEwMDY0NAo+IC0tLSBhL2xpYi9pZ3RfY29y ZS5jCj4gKysrIGIvbGliL2lndF9jb3JlLmMKPiBAQCAtMTY4NSw2ICsxNjg1LDI1IEBAIHZvaWQg aWd0X3N0b3BfaGVscGVyKHN0cnVjdCBpZ3RfaGVscGVyX3Byb2Nlc3MgKnByb2MpCj4gICAgICAg ICBhc3NlcnQoaGVscGVyX3dhc19hbGl2ZShwcm9jLCBzdGF0dXMpKTsKPiAgfQo+ICAKPiArLyoq Cj4gKyAqIGlndF90cnlfc3RvcF9oZWxwZXI6Cj4gKyAqIEBwcm9jOiAjaWd0X2hlbHBlcl9wcm9j ZXNzIHN0cnVjdHVyZQo+ICsgKgo+ICsgKiBUZXJtaW5hdGVzIGEgaGVscGVyIHByb2Nlc3MgaWYg aXQgaXMgc3RpbGwgcnVubmluZyBhbmQgcmV0dXJucyB0cnVlLCBvciBmYWxzZQo+ICsgKiBpZiB0 aGUgcHJvY2VzcyB3YXNuJ3QgcnVubmluZy4KPiArICovCj4gK2Jvb2wgaWd0X3RyeV9zdG9wX2hl bHBlcihzdHJ1Y3QgaWd0X2hlbHBlcl9wcm9jZXNzICpwcm9jKQo+ICt7Cj4gKyAgICAgICBpbnQg c3RhdHVzOwo+ICsKPiArICAgICAgIC8qIGZhaWx1cmUgaGVyZSBtZWFucyB0aGUgcGlkIGlzIGFs cmVhZHkgZGVhZCBhbmQgc28gd2FpdGluZyBpcyBzYWZlICovCj4gKyAgICAgICBraWxsKHByb2Mt PnBpZCwgcHJvYy0+dXNlX1NJR0tJTEwgPyBTSUdLSUxMIDogU0lHVEVSTSk7Cj4gKwo+ICsgICAg ICAgc3RhdHVzID0gaWd0X3dhaXRfaGVscGVyKHByb2MpOwo+ICsKPiArICAgICAgIHJldHVybiBo ZWxwZXJfd2FzX2FsaXZlKHByb2MsIHN0YXR1cyk7Cj4gK30KPiArCj4gIHN0YXRpYyB2b2lkIGNo aWxkcmVuX2V4aXRfaGFuZGxlcihpbnQgc2lnKQo+ICB7Cj4gICAgICAgICBpbnQgc3RhdHVzOwo+ IGRpZmYgLS1naXQgYS9saWIvaWd0X2NvcmUuaCBiL2xpYi9pZ3RfY29yZS5oCj4gaW5kZXggNmY4 YzM4NTJhNjg2Li5lZDVjZWViZjEyMDUgMTAwNjQ0Cj4gLS0tIGEvbGliL2lndF9jb3JlLmgKPiAr KysgYi9saWIvaWd0X2NvcmUuaAo+IEBAIC03OTUsNiArNzk1LDcgQEAgYm9vbCBfX2lndF9mb3Jr X2hlbHBlcihzdHJ1Y3QgaWd0X2hlbHBlcl9wcm9jZXNzICpwcm9jKTsKPiAgICAgICAgIGZvciAo OyBfX2lndF9mb3JrX2hlbHBlcihwcm9jKTsgZXhpdCgwKSkKPiAgaW50IGlndF93YWl0X2hlbHBl cihzdHJ1Y3QgaWd0X2hlbHBlcl9wcm9jZXNzICpwcm9jKTsKPiAgdm9pZCBpZ3Rfc3RvcF9oZWxw ZXIoc3RydWN0IGlndF9oZWxwZXJfcHJvY2VzcyAqcHJvYyk7Cj4gK2Jvb2wgaWd0X3RyeV9zdG9w X2hlbHBlcihzdHJ1Y3QgaWd0X2hlbHBlcl9wcm9jZXNzICpwcm9jKTsKPiAgCj4gIC8qIGV4aXQg aGFuZGxlciBjb2RlICovCj4gIAo+IGRpZmYgLS1naXQgYS90ZXN0cy9pOTE1L2dlbV9zaHJpbmsu YyBiL3Rlc3RzL2k5MTUvZ2VtX3Nocmluay5jCj4gaW5kZXggYzhlMDU4MTRlZTcwLi4zZDQ4Y2Jl YmMyZjkgMTAwNjQ0Cj4gLS0tIGEvdGVzdHMvaTkxNS9nZW1fc2hyaW5rLmMKPiArKysgYi90ZXN0 cy9pOTE1L2dlbV9zaHJpbmsuYwo+IEBAIC0yNiw2ICsyNiwxMCBAQAo+ICAgKgo+ICAgKiBFeGVy Y2lzZSB0aGUgc2hyaW5rZXIgYnkgb3ZlcmFsbG9jYXRpbmcgR0VNIG9iamVjdHMKPiAgICovCj4g KyNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KPiArI2luY2x1ZGUgPHN5cy9zdGF0Lmg+Cj4gKyNpbmNs dWRlIDxzeXMvd2FpdC5oPgo+ICsjaW5jbHVkZSA8ZmNudGwuaD4KPiAgCj4gICNpbmNsdWRlICJp Z3QuaCIKPiAgI2luY2x1ZGUgImlndF9ndC5oIgo+IEBAIC0zNjYsNiArMzcwLDM3OCBAQCBzdGF0 aWMgdm9pZCByZWNsYWltKHVuc2lnbmVkIGVuZ2luZSwgaW50IHRpbWVvdXQpCj4gICAgICAgICBj bG9zZShmZCk7Cj4gIH0KPiAgCj4gK3N0YXRpYyB1bnNpZ25lZCBsb25nIGdldF9tZW1pbmZvKGNv bnN0IGNoYXIgKmluZm8sIGNvbnN0IGNoYXIgKnRhZykKPiArewo+ICsgICAgICAgY29uc3QgY2hh ciAqc3RyOwo+ICsgICAgICAgdW5zaWduZWQgbG9uZyB2YWw7Cj4gKwo+ICsgICAgICAgc3RyID0g c3Ryc3RyKGluZm8sIHRhZyk7Cj4gKyAgICAgICBpZiAoc3RyICYmIHNzY2FuZihzdHIgKyBzdHJs ZW4odGFnKSwgIiAlbHUiLCAmdmFsKSA9PSAxKQo+ICsgICAgICAgICAgICAgICByZXR1cm4gdmFs ID4+IDEwOwo+ICsKPiArICAgICAgIGlndF93YXJuKCJVbnJlY29nbmlzZWQgL3Byb2MvbWVtaW5m byBmaWVsZDogJyVzJ1xuIiwgdGFnKTsKPiArICAgICAgIHJldHVybiAwOwo+ICt9Cj4gKwo+ICtz dGF0aWMgdW5zaWduZWQgbG9uZyBnZXRfYXZhaWxfcmFtX21iKHZvaWQpCj4gK3sKPiArICAgICAg IGludCBmZDsKPiArICAgICAgIGludCByZXQ7Cj4gKyAgICAgICBjaGFyIGJ1Zls0MDk2XTsKPiAr ICAgICAgIHVuc2lnbmVkIGxvbmcgcmFtOwo+ICsKPiArICAgICAgIGZkID0gb3BlbigiL3Byb2Mv bWVtaW5mbyIsIE9fUkRPTkxZKTsKPiArICAgICAgIGlndF9hc3NlcnRfZmQoZmQpOwo+ICsKPiAr ICAgICAgIHJldCA9IHJlYWQoZmQsIGJ1Ziwgc2l6ZW9mKGJ1ZikpOwo+ICsgICAgICAgaWd0X2Fz c2VydChyZXQgPj0gMCk7Cj4gKwo+ICsgICAgICAgY2xvc2UoZmQpOwo+ICsKPiArICAgICAgIHJh bSA9IGdldF9tZW1pbmZvKGJ1ZiwgIk1lbUF2YWlsYWJsZToiKTsKPiArICAgICAgIHJhbSArPSBn ZXRfbWVtaW5mbyhidWYsICJCdWZmZXJzOiIpOwo+ICsgICAgICAgcmFtICs9IGdldF9tZW1pbmZv KGJ1ZiwgIkNhY2hlZDoiKTsKPiArICAgICAgIHJhbSArPSBnZXRfbWVtaW5mbyhidWYsICJTd2Fw Q2FjaGVkOiIpOwo+ICsKPiArICAgICAgIHJldHVybiByYW07Cj4gK30KPiArCj4gK3N0cnVjdCB0 ZXN0IHsKPiArI2RlZmluZSBURVNUX0JPICAgICAgICAgICAgICAgICgxKQo+ICsjZGVmaW5lIFRF U1RfVVNFUlBUUiAgICgyKQo+ICsgICAgICAgdW5zaWduZWQgaW50IGZsYWdzOwo+ICsgICAgICAg aW50IGZkOwo+ICt9Owo+ICsKPiArc3RhdGljIHVpbnQzMl90IF9fZ2V0X3BhZ2VzKGludCBmZCwg dW5zaWduZWQgbG9uZyBhbGxvYykKPiArewo+ICsgICAgICAgdWludDMyX3QgaGFuZGxlID0gZ2Vt X2NyZWF0ZShmZCwgYWxsb2MpOwo+ICsKPiArICAgICAgIGdlbV9zZXRfZG9tYWluKGZkLCBoYW5k bGUsIEk5MTVfR0VNX0RPTUFJTl9HVFQsIDApOwoKT25seSBuZWVkcyBET01BSU5fQ1BVIGZvciB1 cyB0byBjYWxsIGdldF9wYWdlcygpIGFuZCB0aGVuIGF2b2lkcwpleGNlc3NpdmUgY2xmbHVzaGlu ZyBvbiAhbGxjLiAobWVtcHJlc3N1cmUgcGF0aCwgc28gSSdtIG5vdCBzdXJlIGlmIHlvdQp3YW50 IHRvIGFyZ3VlIGFib3V0IGV4ZXJjaXNpbmcgdGhlIGNsZmx1c2ggcGF0aHMgYWdhaW5zdCBtZW1w cmVzc3VyZS4KSSdkIGhvcGUgZ2VtX3NocmluayBhbHJlYWR5IGNvdmVycyB0aGF0IGVsc2V3aGVy ZS4uLikKCj4gKyAgICAgICBnZW1fbWFkdmlzZShmZCwgaGFuZGxlLCBJOTE1X01BRFZfRE9OVE5F RUQpOwo+ICsKPiArICAgICAgIHJldHVybiBoYW5kbGU7Cj4gK30KPiArLyoKPiArICogVXNlIGEg c3BlY2lmaWMgd2F5IG9mIHVzaW5nIHVwIG1lbW9yeSB1bnRpbCB3ZSBhcmUgYmVsb3cgYSBjZXJ0 YWluIHRocmVzaG9sZC4KPiArICovCj4gK3N0YXRpYyB2b2lkICptZW1wcmVzc3VyZSh2b2lkICph cmcpCj4gK3sKPiArICAgICAgIGNvbnN0IHVuc2lnbmVkIGludCBmcmVlX3RocmVzaG9sZF9tYiA9 IDI1NjsKPiArICAgICAgIHN0cnVjdCB0ZXN0X29iaiAqbGlzdCA9IE5VTEw7Cj4gKyAgICAgICBz dHJ1Y3QgdGVzdCAqdGVzdCA9IGFyZzsKPiArICAgICAgIGNvbnN0IHVuc2lnbmVkIGludCBzel9t YiA9IDI7Cj4gKyAgICAgICBjb25zdCB1bnNpZ25lZCBpbnQgc3ogPSBzel9tYiA8PCAyMDsKPiAr ICAgICAgIHVuc2lnbmVkIGludCBuID0gMCwgbWF4ID0gMDsKPiArICAgICAgIHVuc2lnbmVkIGlu dCBibG9ja3M7Cj4gKwo+ICsgICAgICAgZm9yICg7Oykgewo+ICsgICAgICAgICAgICAgICB1bnNp Z25lZCBsb25nIHJhbV9tYiA9IGdldF9hdmFpbF9yYW1fbWIoKTsKCi4uLgoKPiArICAgICAgICAg ICAgICAgLyoKPiArICAgICAgICAgICAgICAgICogQWxsb2NhdGUgbWVtb3J5IGJsb2NrcyBhbmQg cmVjb3JkIHRoZSBjdXJyZW50IHdvcmtpbmcgc2V0Cj4gKyAgICAgICAgICAgICAgICAqIHNpemUu Cj4gKyAgICAgICAgICAgICAgICAqLwo+ICsgICAgICAgICAgICAgICBpZiAodGVzdC0+ZmxhZ3Mg JiBURVNUX0JPKSB7Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgbGlzdFtuXS5oYW5kbGUgPSBf X2dldF9wYWdlcyh0ZXN0LT5mZCwgc3opOwoKVW5kZXIgZGlzY3Vzc2lvbiBpcyB0aGF0IGluIHVz aW5nIGdlbV9jcmVhdGUoKSBvdXIgYm8gYXJlIGFjY291bnRlZCBieQpDYWNoZWQ6IGluIC9wcm9j L21lbWluZm8uIFRoYXQgaXMgd2UgbmV2ZXIgX2FwcGVhcl8gdG8gZGVjcmVhc2UKYXZhaWxfcmFt X21iIHdoZW4gZm9yIFRFU1RfQk8uIE9uZSBoYWNrIGZvciBkcm0tdGlwIChzaW5jZSB3ZSBub3cg bWFyawpzaG1lbWZzIG9iamVjdHMgYXMgdW5ldmljdGFibGUpIHdvdWxkIGJlIHRvIHVzZQoJcmFt IC09IGdldF9tZW1pbmZvKGJ1ZiwgIlVuZXZpY3RhYmxlOiIpOwotQ2hyaXMKX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlz dApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0 b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg== From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: MIME-Version: 1.0 From: Chris Wilson In-Reply-To: <20190107182244.10538-1-tvrtko.ursulin@linux.intel.com> References: <20190107173640.9620-1-tvrtko.ursulin@linux.intel.com> <20190107182244.10538-1-tvrtko.ursulin@linux.intel.com> Message-ID: <154694504706.27300.2133067606002611779@skylake-alporthouse-com> Date: Tue, 08 Jan 2019 10:57:37 +0000 Subject: Re: [igt-dev] [Intel-gfx] [PATCH i-g-t v3] tests/gem_shrink: Exercise OOM and other routes to shrinking in reasonable time List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: igt-dev-bounces@lists.freedesktop.org Sender: "igt-dev" To: Tvrtko Ursulin , igt-dev@lists.freedesktop.org Cc: Intel-gfx@lists.freedesktop.org List-ID: UXVvdGluZyBUdnJ0a28gVXJzdWxpbiAoMjAxOS0wMS0wNyAxODoyMjo0NCkKPiBGcm9tOiBUdnJ0 a28gVXJzdWxpbiA8dHZydGtvLnVyc3VsaW5AaW50ZWwuY29tPgo+IAo+IEEgc2V0IG9mIHN1YnRl c3RzIHdoaWNoIGV4ZXJjaXNlcyBkaWZmZXJlbnQgcGF0aHMgdG8gb3VyIHNocmlua2VyIGNvZGUK PiAoaW5jbHVkaW5nIHRoZSBPT00ga2lsbGVyKSBpbiBwcmVkaWN0YWJsZSBhbmQgcmVhc29uYWJs ZSB0aW1lIGJ1ZGdldC4KPiAKPiB2MjoKPiAgKiBGaXggYmxhY2tsaXN0IHJlZ2V4cC4gKFBldHJp IExhdHZhbGEpCj4gCj4gdjM6Cj4gICogU2tpcCB1c2VycHRyIHRlc3QgaWYgbm90IHVzZXJwdHIg c3VwcG9ydC4KPiAKPiBTaWduZWQtb2ZmLWJ5OiBUdnJ0a28gVXJzdWxpbiA8dHZydGtvLnVyc3Vs aW5AaW50ZWwuY29tPgo+IC0tLQo+ICBsaWIvaWd0X2NvcmUuYyAgICAgICAgICAgICAgICAgICAg ICAgIHwgIDE5ICsrCj4gIGxpYi9pZ3RfY29yZS5oICAgICAgICAgICAgICAgICAgICAgICAgfCAg IDEgKwo+ICB0ZXN0cy9pOTE1L2dlbV9zaHJpbmsuYyAgICAgICAgICAgICAgIHwgNDAxICsrKysr KysrKysrKysrKysrKysrKysrKysrCj4gIHRlc3RzL2ludGVsLWNpL2JsYWNrbGlzdC50eHQgICAg ICAgICAgfCAgIDIgKy0KPiAgdGVzdHMvaW50ZWwtY2kvZmFzdC1mZWVkYmFjay50ZXN0bGlzdCB8 ICAgMyArCj4gIDUgZmlsZXMgY2hhbmdlZCwgNDI1IGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24o LSkKPiAKPiBkaWZmIC0tZ2l0IGEvbGliL2lndF9jb3JlLmMgYi9saWIvaWd0X2NvcmUuYwo+IGlu ZGV4IDUwZDYwMDhmNmM4Mi4uMzUxZGEwYjRlMDIwIDEwMDY0NAo+IC0tLSBhL2xpYi9pZ3RfY29y ZS5jCj4gKysrIGIvbGliL2lndF9jb3JlLmMKPiBAQCAtMTY4NSw2ICsxNjg1LDI1IEBAIHZvaWQg aWd0X3N0b3BfaGVscGVyKHN0cnVjdCBpZ3RfaGVscGVyX3Byb2Nlc3MgKnByb2MpCj4gICAgICAg ICBhc3NlcnQoaGVscGVyX3dhc19hbGl2ZShwcm9jLCBzdGF0dXMpKTsKPiAgfQo+ICAKPiArLyoq Cj4gKyAqIGlndF90cnlfc3RvcF9oZWxwZXI6Cj4gKyAqIEBwcm9jOiAjaWd0X2hlbHBlcl9wcm9j ZXNzIHN0cnVjdHVyZQo+ICsgKgo+ICsgKiBUZXJtaW5hdGVzIGEgaGVscGVyIHByb2Nlc3MgaWYg aXQgaXMgc3RpbGwgcnVubmluZyBhbmQgcmV0dXJucyB0cnVlLCBvciBmYWxzZQo+ICsgKiBpZiB0 aGUgcHJvY2VzcyB3YXNuJ3QgcnVubmluZy4KPiArICovCj4gK2Jvb2wgaWd0X3RyeV9zdG9wX2hl bHBlcihzdHJ1Y3QgaWd0X2hlbHBlcl9wcm9jZXNzICpwcm9jKQo+ICt7Cj4gKyAgICAgICBpbnQg c3RhdHVzOwo+ICsKPiArICAgICAgIC8qIGZhaWx1cmUgaGVyZSBtZWFucyB0aGUgcGlkIGlzIGFs cmVhZHkgZGVhZCBhbmQgc28gd2FpdGluZyBpcyBzYWZlICovCj4gKyAgICAgICBraWxsKHByb2Mt PnBpZCwgcHJvYy0+dXNlX1NJR0tJTEwgPyBTSUdLSUxMIDogU0lHVEVSTSk7Cj4gKwo+ICsgICAg ICAgc3RhdHVzID0gaWd0X3dhaXRfaGVscGVyKHByb2MpOwo+ICsKPiArICAgICAgIHJldHVybiBo ZWxwZXJfd2FzX2FsaXZlKHByb2MsIHN0YXR1cyk7Cj4gK30KPiArCj4gIHN0YXRpYyB2b2lkIGNo aWxkcmVuX2V4aXRfaGFuZGxlcihpbnQgc2lnKQo+ICB7Cj4gICAgICAgICBpbnQgc3RhdHVzOwo+ IGRpZmYgLS1naXQgYS9saWIvaWd0X2NvcmUuaCBiL2xpYi9pZ3RfY29yZS5oCj4gaW5kZXggNmY4 YzM4NTJhNjg2Li5lZDVjZWViZjEyMDUgMTAwNjQ0Cj4gLS0tIGEvbGliL2lndF9jb3JlLmgKPiAr KysgYi9saWIvaWd0X2NvcmUuaAo+IEBAIC03OTUsNiArNzk1LDcgQEAgYm9vbCBfX2lndF9mb3Jr X2hlbHBlcihzdHJ1Y3QgaWd0X2hlbHBlcl9wcm9jZXNzICpwcm9jKTsKPiAgICAgICAgIGZvciAo OyBfX2lndF9mb3JrX2hlbHBlcihwcm9jKTsgZXhpdCgwKSkKPiAgaW50IGlndF93YWl0X2hlbHBl cihzdHJ1Y3QgaWd0X2hlbHBlcl9wcm9jZXNzICpwcm9jKTsKPiAgdm9pZCBpZ3Rfc3RvcF9oZWxw ZXIoc3RydWN0IGlndF9oZWxwZXJfcHJvY2VzcyAqcHJvYyk7Cj4gK2Jvb2wgaWd0X3RyeV9zdG9w X2hlbHBlcihzdHJ1Y3QgaWd0X2hlbHBlcl9wcm9jZXNzICpwcm9jKTsKPiAgCj4gIC8qIGV4aXQg aGFuZGxlciBjb2RlICovCj4gIAo+IGRpZmYgLS1naXQgYS90ZXN0cy9pOTE1L2dlbV9zaHJpbmsu YyBiL3Rlc3RzL2k5MTUvZ2VtX3Nocmluay5jCj4gaW5kZXggYzhlMDU4MTRlZTcwLi4zZDQ4Y2Jl YmMyZjkgMTAwNjQ0Cj4gLS0tIGEvdGVzdHMvaTkxNS9nZW1fc2hyaW5rLmMKPiArKysgYi90ZXN0 cy9pOTE1L2dlbV9zaHJpbmsuYwo+IEBAIC0yNiw2ICsyNiwxMCBAQAo+ICAgKgo+ICAgKiBFeGVy Y2lzZSB0aGUgc2hyaW5rZXIgYnkgb3ZlcmFsbG9jYXRpbmcgR0VNIG9iamVjdHMKPiAgICovCj4g KyNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KPiArI2luY2x1ZGUgPHN5cy9zdGF0Lmg+Cj4gKyNpbmNs dWRlIDxzeXMvd2FpdC5oPgo+ICsjaW5jbHVkZSA8ZmNudGwuaD4KPiAgCj4gICNpbmNsdWRlICJp Z3QuaCIKPiAgI2luY2x1ZGUgImlndF9ndC5oIgo+IEBAIC0zNjYsNiArMzcwLDM3OCBAQCBzdGF0 aWMgdm9pZCByZWNsYWltKHVuc2lnbmVkIGVuZ2luZSwgaW50IHRpbWVvdXQpCj4gICAgICAgICBj bG9zZShmZCk7Cj4gIH0KPiAgCj4gK3N0YXRpYyB1bnNpZ25lZCBsb25nIGdldF9tZW1pbmZvKGNv bnN0IGNoYXIgKmluZm8sIGNvbnN0IGNoYXIgKnRhZykKPiArewo+ICsgICAgICAgY29uc3QgY2hh ciAqc3RyOwo+ICsgICAgICAgdW5zaWduZWQgbG9uZyB2YWw7Cj4gKwo+ICsgICAgICAgc3RyID0g c3Ryc3RyKGluZm8sIHRhZyk7Cj4gKyAgICAgICBpZiAoc3RyICYmIHNzY2FuZihzdHIgKyBzdHJs ZW4odGFnKSwgIiAlbHUiLCAmdmFsKSA9PSAxKQo+ICsgICAgICAgICAgICAgICByZXR1cm4gdmFs ID4+IDEwOwo+ICsKPiArICAgICAgIGlndF93YXJuKCJVbnJlY29nbmlzZWQgL3Byb2MvbWVtaW5m byBmaWVsZDogJyVzJ1xuIiwgdGFnKTsKPiArICAgICAgIHJldHVybiAwOwo+ICt9Cj4gKwo+ICtz dGF0aWMgdW5zaWduZWQgbG9uZyBnZXRfYXZhaWxfcmFtX21iKHZvaWQpCj4gK3sKPiArICAgICAg IGludCBmZDsKPiArICAgICAgIGludCByZXQ7Cj4gKyAgICAgICBjaGFyIGJ1Zls0MDk2XTsKPiAr ICAgICAgIHVuc2lnbmVkIGxvbmcgcmFtOwo+ICsKPiArICAgICAgIGZkID0gb3BlbigiL3Byb2Mv bWVtaW5mbyIsIE9fUkRPTkxZKTsKPiArICAgICAgIGlndF9hc3NlcnRfZmQoZmQpOwo+ICsKPiAr ICAgICAgIHJldCA9IHJlYWQoZmQsIGJ1Ziwgc2l6ZW9mKGJ1ZikpOwo+ICsgICAgICAgaWd0X2Fz c2VydChyZXQgPj0gMCk7Cj4gKwo+ICsgICAgICAgY2xvc2UoZmQpOwo+ICsKPiArICAgICAgIHJh bSA9IGdldF9tZW1pbmZvKGJ1ZiwgIk1lbUF2YWlsYWJsZToiKTsKPiArICAgICAgIHJhbSArPSBn ZXRfbWVtaW5mbyhidWYsICJCdWZmZXJzOiIpOwo+ICsgICAgICAgcmFtICs9IGdldF9tZW1pbmZv KGJ1ZiwgIkNhY2hlZDoiKTsKPiArICAgICAgIHJhbSArPSBnZXRfbWVtaW5mbyhidWYsICJTd2Fw Q2FjaGVkOiIpOwo+ICsKPiArICAgICAgIHJldHVybiByYW07Cj4gK30KPiArCj4gK3N0cnVjdCB0 ZXN0IHsKPiArI2RlZmluZSBURVNUX0JPICAgICAgICAgICAgICAgICgxKQo+ICsjZGVmaW5lIFRF U1RfVVNFUlBUUiAgICgyKQo+ICsgICAgICAgdW5zaWduZWQgaW50IGZsYWdzOwo+ICsgICAgICAg aW50IGZkOwo+ICt9Owo+ICsKPiArc3RhdGljIHVpbnQzMl90IF9fZ2V0X3BhZ2VzKGludCBmZCwg dW5zaWduZWQgbG9uZyBhbGxvYykKPiArewo+ICsgICAgICAgdWludDMyX3QgaGFuZGxlID0gZ2Vt X2NyZWF0ZShmZCwgYWxsb2MpOwo+ICsKPiArICAgICAgIGdlbV9zZXRfZG9tYWluKGZkLCBoYW5k bGUsIEk5MTVfR0VNX0RPTUFJTl9HVFQsIDApOwoKT25seSBuZWVkcyBET01BSU5fQ1BVIGZvciB1 cyB0byBjYWxsIGdldF9wYWdlcygpIGFuZCB0aGVuIGF2b2lkcwpleGNlc3NpdmUgY2xmbHVzaGlu ZyBvbiAhbGxjLiAobWVtcHJlc3N1cmUgcGF0aCwgc28gSSdtIG5vdCBzdXJlIGlmIHlvdQp3YW50 IHRvIGFyZ3VlIGFib3V0IGV4ZXJjaXNpbmcgdGhlIGNsZmx1c2ggcGF0aHMgYWdhaW5zdCBtZW1w cmVzc3VyZS4KSSdkIGhvcGUgZ2VtX3NocmluayBhbHJlYWR5IGNvdmVycyB0aGF0IGVsc2V3aGVy ZS4uLikKCj4gKyAgICAgICBnZW1fbWFkdmlzZShmZCwgaGFuZGxlLCBJOTE1X01BRFZfRE9OVE5F RUQpOwo+ICsKPiArICAgICAgIHJldHVybiBoYW5kbGU7Cj4gK30KPiArLyoKPiArICogVXNlIGEg c3BlY2lmaWMgd2F5IG9mIHVzaW5nIHVwIG1lbW9yeSB1bnRpbCB3ZSBhcmUgYmVsb3cgYSBjZXJ0 YWluIHRocmVzaG9sZC4KPiArICovCj4gK3N0YXRpYyB2b2lkICptZW1wcmVzc3VyZSh2b2lkICph cmcpCj4gK3sKPiArICAgICAgIGNvbnN0IHVuc2lnbmVkIGludCBmcmVlX3RocmVzaG9sZF9tYiA9 IDI1NjsKPiArICAgICAgIHN0cnVjdCB0ZXN0X29iaiAqbGlzdCA9IE5VTEw7Cj4gKyAgICAgICBz dHJ1Y3QgdGVzdCAqdGVzdCA9IGFyZzsKPiArICAgICAgIGNvbnN0IHVuc2lnbmVkIGludCBzel9t YiA9IDI7Cj4gKyAgICAgICBjb25zdCB1bnNpZ25lZCBpbnQgc3ogPSBzel9tYiA8PCAyMDsKPiAr ICAgICAgIHVuc2lnbmVkIGludCBuID0gMCwgbWF4ID0gMDsKPiArICAgICAgIHVuc2lnbmVkIGlu dCBibG9ja3M7Cj4gKwo+ICsgICAgICAgZm9yICg7Oykgewo+ICsgICAgICAgICAgICAgICB1bnNp Z25lZCBsb25nIHJhbV9tYiA9IGdldF9hdmFpbF9yYW1fbWIoKTsKCi4uLgoKPiArICAgICAgICAg ICAgICAgLyoKPiArICAgICAgICAgICAgICAgICogQWxsb2NhdGUgbWVtb3J5IGJsb2NrcyBhbmQg cmVjb3JkIHRoZSBjdXJyZW50IHdvcmtpbmcgc2V0Cj4gKyAgICAgICAgICAgICAgICAqIHNpemUu Cj4gKyAgICAgICAgICAgICAgICAqLwo+ICsgICAgICAgICAgICAgICBpZiAodGVzdC0+ZmxhZ3Mg JiBURVNUX0JPKSB7Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgbGlzdFtuXS5oYW5kbGUgPSBf X2dldF9wYWdlcyh0ZXN0LT5mZCwgc3opOwoKVW5kZXIgZGlzY3Vzc2lvbiBpcyB0aGF0IGluIHVz aW5nIGdlbV9jcmVhdGUoKSBvdXIgYm8gYXJlIGFjY291bnRlZCBieQpDYWNoZWQ6IGluIC9wcm9j L21lbWluZm8uIFRoYXQgaXMgd2UgbmV2ZXIgX2FwcGVhcl8gdG8gZGVjcmVhc2UKYXZhaWxfcmFt X21iIHdoZW4gZm9yIFRFU1RfQk8uIE9uZSBoYWNrIGZvciBkcm0tdGlwIChzaW5jZSB3ZSBub3cg bWFyawpzaG1lbWZzIG9iamVjdHMgYXMgdW5ldmljdGFibGUpIHdvdWxkIGJlIHRvIHVzZQoJcmFt IC09IGdldF9tZW1pbmZvKGJ1ZiwgIlVuZXZpY3RhYmxlOiIpOwotQ2hyaXMKX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KaWd0LWRldiBtYWlsaW5nIGxpc3QK aWd0LWRldkBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5v cmcvbWFpbG1hbi9saXN0aW5mby9pZ3QtZGV2Cg==