From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: References: <20191017143018.6957-1-chris@chris-wilson.co.uk> From: Tvrtko Ursulin Message-ID: Date: Fri, 18 Oct 2019 13:23:53 +0100 MIME-Version: 1.0 In-Reply-To: <20191017143018.6957-1-chris@chris-wilson.co.uk> Content-Language: en-US Subject: Re: [igt-dev] [PATCH i-g-t] i915: Exercise preemption timeout controls in sysfs 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, petri.latvala@intel.com, tvrtko.ursulin@intel.com List-ID: Ck9uIDE3LzEwLzIwMTkgMTU6MzAsIENocmlzIFdpbHNvbiB3cm90ZToKPiBEeW5hbWljIHN1YnRl c3RzIQoKT3VjaCEgOikKCj4gU2lnbmVkLW9mZi1ieTogQ2hyaXMgV2lsc29uIDxjaHJpc0BjaHJp cy13aWxzb24uY28udWs+Cj4gLS0tCj4gICBsaWIvaTkxNS9nZW1fY29udGV4dC5jICAgICAgICAg ICAgICAgIHwgIDQwICsrKysrCj4gICBsaWIvaTkxNS9nZW1fY29udGV4dC5oICAgICAgICAgICAg ICAgIHwgICAyICsKPiAgIHRlc3RzL01ha2VmaWxlLnNvdXJjZXMgICAgICAgICAgICAgICAgfCAg IDEgKwo+ICAgdGVzdHMvaTkxNS9zeXNmc19wcmVlbXB0aW9uX3RpbWVvdXQuYyB8IDIwMyArKysr KysrKysrKysrKysrKysrKysrKysrKwo+ICAgdGVzdHMvbWVzb24uYnVpbGQgICAgICAgICAgICAg ICAgICAgICB8ICAgMSArCj4gICA1IGZpbGVzIGNoYW5nZWQsIDI0NyBpbnNlcnRpb25zKCspCj4g ICBjcmVhdGUgbW9kZSAxMDA2NDQgdGVzdHMvaTkxNS9zeXNmc19wcmVlbXB0aW9uX3RpbWVvdXQu Ywo+IAo+IGRpZmYgLS1naXQgYS9saWIvaTkxNS9nZW1fY29udGV4dC5jIGIvbGliL2k5MTUvZ2Vt X2NvbnRleHQuYwo+IGluZGV4IDFmYWU1MTkxZi4uYTYyN2E1YzdiIDEwMDY0NAo+IC0tLSBhL2xp Yi9pOTE1L2dlbV9jb250ZXh0LmMKPiArKysgYi9saWIvaTkxNS9nZW1fY29udGV4dC5jCj4gQEAg LTQwMywzICs0MDMsNDMgQEAgYm9vbCBnZW1fY29udGV4dF9oYXNfZW5naW5lKGludCBmZCwgdWlu dDMyX3QgY3R4LCB1aW50NjRfdCBlbmdpbmUpCj4gICAKPiAgIAlyZXR1cm4gX19nZW1fZXhlY2J1 ZihmZCwgJmV4ZWNidWYpID09IC1FTk9FTlQ7Cj4gICB9Cj4gKwo+ICtzdGF0aWMgaW50IGNyZWF0 ZV9leHRfaW9jdGwoaW50IGk5MTUsCj4gKwkJCSAgICBzdHJ1Y3QgZHJtX2k5MTVfZ2VtX2NvbnRl eHRfY3JlYXRlX2V4dCAqYXJnKQo+ICt7Cj4gKwlpbnQgZXJyOwo+ICsKPiArCWVyciA9IDA7Cj4g KwlpZiAoaWd0X2lvY3RsKGk5MTUsIERSTV9JT0NUTF9JOTE1X0dFTV9DT05URVhUX0NSRUFURV9F WFQsIGFyZykpIHsKPiArCQllcnIgPSAtZXJybm87Cj4gKwkJaWd0X2Fzc3VtZShlcnIpOwo+ICsJ fQo+ICsKPiArCWVycm5vID0gMDsKPiArCXJldHVybiBlcnI7Cj4gK30KPiArCj4gK3VpbnQzMl90 IGdlbV9jb250ZXh0X2NyZWF0ZV9mb3JfZW5naW5lKGludCBpOTE1LCB1bnNpZ25lZCBpbnQgY2xh c3MsIHVuc2lnbmVkIGludCBpbnN0KQo+ICt7Cj4gKwlJOTE1X0RFRklORV9DT05URVhUX1BBUkFN X0VOR0lORVMoZW5naW5lcywgMSkgPSB7Cj4gKwkJLmVuZ2luZXMgPSB7IHsgLmVuZ2luZV9jbGFz cyA9IGNsYXNzLCAuZW5naW5lX2luc3RhbmNlID0gaW5zdCB9IH0KPiArCX07Cj4gKwlzdHJ1Y3Qg ZHJtX2k5MTVfZ2VtX2NvbnRleHRfY3JlYXRlX2V4dF9zZXRwYXJhbSBwX2VuZ2luZXMgPSB7Cj4g KwkJLmJhc2UgPSB7Cj4gKwkJCS5uYW1lID0gSTkxNV9DT05URVhUX0NSRUFURV9FWFRfU0VUUEFS QU0sCj4gKwkJCS5uZXh0X2V4dGVuc2lvbiA9IDAsIC8qIGVuZCBvZiBjaGFpbiAqLwo+ICsJCX0s Cj4gKwkJLnBhcmFtID0gewo+ICsJCQkucGFyYW0gPSBJOTE1X0NPTlRFWFRfUEFSQU1fRU5HSU5F UywKPiArCQkJLnZhbHVlID0gdG9fdXNlcl9wb2ludGVyKCZlbmdpbmVzKSwKPiArCQkJLnNpemUg PSBzaXplb2YoZW5naW5lcyksCj4gKwkJfSwKPiArCX07Cj4gKwlzdHJ1Y3QgZHJtX2k5MTVfZ2Vt X2NvbnRleHRfY3JlYXRlX2V4dCBjcmVhdGUgPSB7Cj4gKwkJLmZsYWdzID0gSTkxNV9DT05URVhU X0NSRUFURV9GTEFHU19VU0VfRVhURU5TSU9OUywKPiArCQkuZXh0ZW5zaW9ucyA9IHRvX3VzZXJf cG9pbnRlcigmcF9lbmdpbmVzKSwKPiArCX07Cj4gKwo+ICsJaWd0X2Fzc2VydF9lcShjcmVhdGVf ZXh0X2lvY3RsKGk5MTUsICZjcmVhdGUpLCAwKTsKPiArCXJldHVybiBjcmVhdGUuY3R4X2lkOwo+ ICt9Cj4gZGlmZiAtLWdpdCBhL2xpYi9pOTE1L2dlbV9jb250ZXh0LmggYi9saWIvaTkxNS9nZW1f Y29udGV4dC5oCj4gaW5kZXggYzBkNGM5NjE1Li45ZTBhMDgzZjAgMTAwNjQ0Cj4gLS0tIGEvbGli L2k5MTUvZ2VtX2NvbnRleHQuaAo+ICsrKyBiL2xpYi9pOTE1L2dlbV9jb250ZXh0LmgKPiBAQCAt MzQsNiArMzQsOCBAQCBpbnQgX19nZW1fY29udGV4dF9jcmVhdGUoaW50IGZkLCB1aW50MzJfdCAq Y3R4X2lkKTsKPiAgIHZvaWQgZ2VtX2NvbnRleHRfZGVzdHJveShpbnQgZmQsIHVpbnQzMl90IGN0 eF9pZCk7Cj4gICBpbnQgX19nZW1fY29udGV4dF9kZXN0cm95KGludCBmZCwgdWludDMyX3QgY3R4 X2lkKTsKPiAgIAo+ICt1aW50MzJfdCBnZW1fY29udGV4dF9jcmVhdGVfZm9yX2VuZ2luZShpbnQg ZmQsIHVuc2lnbmVkIGludCBjbGFzcywgdW5zaWduZWQgaW50IGluc3QpOwo+ICsKPiAgIGludCBf X2dlbV9jb250ZXh0X2Nsb25lKGludCBpOTE1LAo+ICAgCQkJdWludDMyX3Qgc3JjLCB1bnNpZ25l ZCBpbnQgc2hhcmUsCj4gICAJCQl1bnNpZ25lZCBpbnQgZmxhZ3MsCj4gZGlmZiAtLWdpdCBhL3Rl c3RzL01ha2VmaWxlLnNvdXJjZXMgYi90ZXN0cy9NYWtlZmlsZS5zb3VyY2VzCj4gaW5kZXggMDkz ZWI1N2YzLi5kZmY3ZGFjMDYgMTAwNjQ0Cj4gLS0tIGEvdGVzdHMvTWFrZWZpbGUuc291cmNlcwo+ ICsrKyBiL3Rlc3RzL01ha2VmaWxlLnNvdXJjZXMKPiBAQCAtOTgsNiArOTgsNyBAQCBURVNUU19w cm9ncyA9IFwKPiAgIAl0b29sc190ZXN0IFwKPiAgIAl2Z2VtX2Jhc2ljIFwKPiAgIAl2Z2VtX3Ns b3cgXAo+ICsJaTkxNS9zeXNmc19wcmVlbXB0aW9uX3RpbWVvdXQgXAo+ICAgCSQoTlVMTCkKPiAg IAo+ICAgVEVTVFNfcHJvZ3MgKz0gZ2VtX2JhZF9yZWxvYwo+IGRpZmYgLS1naXQgYS90ZXN0cy9p OTE1L3N5c2ZzX3ByZWVtcHRpb25fdGltZW91dC5jIGIvdGVzdHMvaTkxNS9zeXNmc19wcmVlbXB0 aW9uX3RpbWVvdXQuYwo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0Cj4gaW5kZXggMDAwMDAwMDAwLi5h Nzk4MzQ1YjEKPiAtLS0gL2Rldi9udWxsCj4gKysrIGIvdGVzdHMvaTkxNS9zeXNmc19wcmVlbXB0 aW9uX3RpbWVvdXQuYwo+IEBAIC0wLDAgKzEsMjAzIEBACj4gKy8qCj4gKyAqIENvcHlyaWdodCDC qSAyMDE5IEludGVsIENvcnBvcmF0aW9uCj4gKyAqCj4gKyAqIFBlcm1pc3Npb24gaXMgaGVyZWJ5 IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhCj4gKyAq IGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVz ICh0aGUgIlNvZnR3YXJlIiksCj4gKyAqIHRvIGRlYWwgaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQg cmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24KPiArICogdGhlIHJpZ2h0 cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1Ymxp Y2Vuc2UsCj4gKyAqIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBw ZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZQo+ICsgKiBTb2Z0d2FyZSBpcyBmdXJuaXNoZWQgdG8g ZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgo+ICsgKgo+ICsgKiBU aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSAoaW5j bHVkaW5nIHRoZSBuZXh0Cj4gKyAqIHBhcmFncmFwaCkgc2hhbGwgYmUgaW5jbHVkZWQgaW4gYWxs IGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUKPiArICogU29mdHdhcmUuCj4g KyAqCj4gKyAqIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJB TlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SCj4gKyAqIElNUExJRUQsIElOQ0xVRElORyBCVVQg Tk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLAo+ICsgKiBG SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiAgSU4g Tk8gRVZFTlQgU0hBTEwKPiArICogVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUg TElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIKPiArICogTElBQklMSVRZLCBX SEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJ TkcKPiArICogRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUg T1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUwo+ICsgKiBJTiBUSEUgU09GVFdBUkUuCj4gKyAq Lwo+ICsKPiArI2luY2x1ZGUgPGRpcmVudC5oPgo+ICsjaW5jbHVkZSA8ZXJybm8uaD4KPiArI2lu Y2x1ZGUgPGZjbnRsLmg+Cj4gKyNpbmNsdWRlIDxpbnR0eXBlcy5oPgo+ICsjaW5jbHVkZSA8c3lz L3N0YXQuaD4KPiArI2luY2x1ZGUgPHN5cy90eXBlcy5oPgo+ICsjaW5jbHVkZSA8dW5pc3RkLmg+ Cj4gKwo+ICsjaW5jbHVkZSAiZHJtdGVzdC5oIiAvKiBnZW1fcXVpZXNjZW50X2dwdSgpISAqLwo+ ICsjaW5jbHVkZSAiaWd0X2R1bW15bG9hZC5oIgo+ICsjaW5jbHVkZSAiaWd0X3N5c2ZzLmgiCj4g KyNpbmNsdWRlICJpb2N0bF93cmFwcGVycy5oIiAvKiBpZ3RfcmVxdWlyZV9nZW0oKSEgKi8KPiAr I2luY2x1ZGUgInN3X3N5bmMuaCIKPiArCj4gKyNpbmNsdWRlICJpZ3RfZGVidWdmcy5oIgo+ICsK PiArc3RhdGljIGJvb2wgX19lbmFibGVfaGFuZ2NoZWNrKGludCBkaXIsIGJvb2wgc3RhdGUpCj4g K3sKPiArCXJldHVybiBpZ3Rfc3lzZnNfc2V0KGRpciwgImVuYWJsZV9oYW5nY2hlY2siLCBzdGF0 ZSA/ICIxIiA6ICIwIik7Cj4gK30KPiArCj4gK3N0YXRpYyBib29sIGVuYWJsZV9oYW5nY2hlY2so aW50IGk5MTUsIGJvb2wgc3RhdGUpCj4gK3sKPiArCWJvb2wgc3VjY2VzczsKPiArCWludCBkaXI7 Cj4gKwo+ICsJZGlyID0gaWd0X3N5c2ZzX29wZW5fcGFyYW1ldGVycyhpOTE1KTsKPiArCWlmIChk aXIgPCAwKSAvKiBubyBwYXJhbWV0ZXJzLCBtdXN0IGJlIGRlZmF1bHQhICovCj4gKwkJcmV0dXJu IGZhbHNlOwo+ICsKPiArCXN1Y2Nlc3MgPSBfX2VuYWJsZV9oYW5nY2hlY2soZGlyLCBzdGF0ZSk7 Cj4gKwljbG9zZShkaXIpOwo+ICsKPiArCXJldHVybiBzdWNjZXNzOwo+ICt9Cj4gKwo+ICtzdGF0 aWMgdm9pZCB0ZXN0X2lkZW1wb3RlbnQoaW50IGk5MTUsIGludCBlbmdpbmUpCj4gK3sKPiArCXVu c2lnbmVkIGludCBzYXZlZCwgZGVsYXk7Cj4gKwo+ICsJaWd0X2Fzc2VydChpZ3Rfc3lzZnNfc2Nh bmYoZW5naW5lLCAicHJlZW1wdF90aW1lb3V0X21zIiwgIiV1IiwgJnNhdmVkKSA9PSAxKTsKPiAr CWlndF9kZWJ1ZygiSW5pdGlhbCBwcmVlbXB0X3RpbWVvdXRfbXM6JXVcbiIsIHNhdmVkKTsKPiAr Cj4gKwlpZ3Rfc3lzZnNfcHJpbnRmKGVuZ2luZSwgInByZWVtcHRfdGltZW91dF9tcyIsICIldSIs IDEpOwo+ICsJaWd0X3N5c2ZzX3NjYW5mKGVuZ2luZSwgInByZWVtcHRfdGltZW91dF9tcyIsICIl dSIsICZkZWxheSk7Cj4gKwlpZ3RfYXNzZXJ0X2VxKGRlbGF5LCAxKTsKPiArCj4gKwlpZ3Rfc3lz ZnNfcHJpbnRmKGVuZ2luZSwgInByZWVtcHRfdGltZW91dF9tcyIsICIldSIsIHNhdmVkKTsKPiAr CWlndF9zeXNmc19zY2FuZihlbmdpbmUsICJwcmVlbXB0X3RpbWVvdXRfbXMiLCAiJXUiLCAmZGVs YXkpOwo+ICsJaWd0X2Fzc2VydF9lcShkZWxheSwgc2F2ZWQpOwo+ICt9Cj4gKwo+ICtzdGF0aWMg dm9pZCB0ZXN0X2ludmFsaWQoaW50IGk5MTUsIGludCBlbmdpbmUpCj4gK3sKPiArCXVuc2lnbmVk IGludCBzYXZlZCwgZGVsYXk7Cj4gKwo+ICsJaWd0X2Fzc2VydChpZ3Rfc3lzZnNfc2NhbmYoZW5n aW5lLCAicHJlZW1wdF90aW1lb3V0X21zIiwgIiV1IiwgJnNhdmVkKSA9PSAxKTsKPiArCWlndF9k ZWJ1ZygiSW5pdGlhbCBwcmVlbXB0X3RpbWVvdXRfbXM6JXVcbiIsIHNhdmVkKTsKPiArCj4gKwlp Z3Rfc3lzZnNfcHJpbnRmKGVuZ2luZSwgInByZWVtcHRfdGltZW91dF9tcyIsIFBSSXU2NCwgLTEp Owo+ICsJaWd0X3N5c2ZzX3NjYW5mKGVuZ2luZSwgInByZWVtcHRfdGltZW91dF9tcyIsICIldSIs ICZkZWxheSk7Cj4gKwlpZ3RfYXNzZXJ0X2VxKGRlbGF5LCBzYXZlZCk7Cj4gK30KPiArCj4gK3N0 YXRpYyB1aW50NjRfdCBfX3Rlc3RfdGltZW91dChpbnQgaTkxNSwgaW50IGVuZ2luZSwgdW5zaWdu ZWQgaW50IHRpbWVvdXQpCj4gK3sKPiArCXVuc2lnbmVkIGludCBjbGFzcywgaW5zdDsKPiArCXN0 cnVjdCB0aW1lc3BlYyB0cyA9IHt9Owo+ICsJaWd0X3NwaW5fdCAqc3BpblsyXTsKPiArCXVpbnQ2 NF90IGVsYXBzZWQ7Cj4gKwl1aW50MzJfdCBjdHg7Cj4gKwo+ICsJaWd0X2Fzc2VydChpZ3Rfc3lz ZnNfc2NhbmYoZW5naW5lLCAiY2xhc3MiLCAiJXUiLCAmY2xhc3MpID09IDEpOwo+ICsJaWd0X2Fz c2VydChpZ3Rfc3lzZnNfc2NhbmYoZW5naW5lLCAiaW5zdGFuY2UiLCAiJXUiLCAmaW5zdCkgPT0g MSk7Cj4gKwo+ICsJaWd0X3N5c2ZzX3ByaW50ZihlbmdpbmUsICJwcmVlbXB0X3RpbWVvdXRfbXMi LCAiJXUiLCB0aW1lb3V0KTsKPiArCj4gKwljdHggPSBnZW1fY29udGV4dF9jcmVhdGVfZm9yX2Vu Z2luZShpOTE1LCBjbGFzcywgaW5zdCk7Cj4gKwlnZW1fY29udGV4dF9zZXRfcHJpb3JpdHkoaTkx NSwgY3R4LCAtMTAyMyk7Cj4gKwlzcGluWzBdID0gaWd0X3NwaW5fbmV3KGk5MTUsIGN0eCwKPiAr CQkJICAgICAgIC5mbGFncyA9IChJR1RfU1BJTl9OT19QUkVFTVBUSU9OIHwKPiArCQkJCQkgSUdU X1NQSU5fUE9MTF9SVU4gfAo+ICsJCQkJCSBJR1RfU1BJTl9GRU5DRV9PVVQpKTsKPiArCWlndF9z cGluX2J1c3l3YWl0X3VudGlsX3N0YXJ0ZWQoc3BpblswXSk7Cj4gKwlnZW1fY29udGV4dF9kZXN0 cm95KGk5MTUsIGN0eCk7Cj4gKwo+ICsJY3R4ID0gZ2VtX2NvbnRleHRfY3JlYXRlX2Zvcl9lbmdp bmUoaTkxNSwgY2xhc3MsIGluc3QpOwo+ICsJZ2VtX2NvbnRleHRfc2V0X3ByaW9yaXR5KGk5MTUs IGN0eCwgMTAyMyk7Cj4gKwlpZ3RfbnNlY19lbGFwc2VkKCZ0cyk7Cj4gKwlzcGluWzFdID0gaWd0 X3NwaW5fbmV3KGk5MTUsIGN0eCwgLmZsYWdzID0gSUdUX1NQSU5fUE9MTF9SVU4pOwo+ICsJaWd0 X3NwaW5fYnVzeXdhaXRfdW50aWxfc3RhcnRlZChzcGluWzFdKTsKPiArCWVsYXBzZWQgPSBpZ3Rf bnNlY19lbGFwc2VkKCZ0cyk7Cj4gKwlnZW1fY29udGV4dF9kZXN0cm95KGk5MTUsIGN0eCk7Cj4g Kwo+ICsJaWd0X2Fzc2VydF9lcShzeW5jX2ZlbmNlX3N0YXR1cyhzcGluWzBdLT5vdXRfZmVuY2Up LCAtRUlPKTsKPiArCj4gKwlpZ3Rfc3Bpbl9mcmVlKGk5MTUsIHNwaW5bMV0pOwo+ICsJaWd0X3Nw aW5fZnJlZShpOTE1LCBzcGluWzBdKTsKPiArCWdlbV9xdWllc2NlbnRfZ3B1KGk5MTUpOwo+ICsK PiArCXJldHVybiBlbGFwc2VkOwo+ICt9Cj4gKwo+ICtzdGF0aWMgdm9pZCB0ZXN0X3RpbWVvdXQo aW50IGk5MTUsIGludCBlbmdpbmUpCj4gK3sKPiArCWludCBkZWxheXNbXSA9IHsgMSwgNTAsIDEw MCwgNTAwIH07Cj4gKwl1bnNpZ25lZCBpbnQgc2F2ZWQsIGRlbGF5Owo+ICsKPiArCWlndF9hc3Nl cnQoaWd0X3N5c2ZzX3NjYW5mKGVuZ2luZSwgInByZWVtcHRfdGltZW91dF9tcyIsICIldSIsICZz YXZlZCkgPT0gMSk7Cj4gKwlpZ3RfZGVidWcoIkluaXRpYWwgcHJlZW1wdF90aW1lb3V0X21zOiV1 XG4iLCBzYXZlZCk7Cj4gKwo+ICsJZ2VtX3F1aWVzY2VudF9ncHUoaTkxNSk7Cj4gKwlpZ3RfcmVx dWlyZShlbmFibGVfaGFuZ2NoZWNrKGk5MTUsIGZhbHNlKSk7Cj4gKwo+ICsJZm9yIChpbnQgaSA9 IDA7IGkgPCBBUlJBWV9TSVpFKGRlbGF5cyk7IGkrKykgewo+ICsJCXVpbnQ2NF90IGVsYXBzZWQ7 Cj4gKwo+ICsJCWVsYXBzZWQgPSBfX3Rlc3RfdGltZW91dChpOTE1LCBlbmdpbmUsIGRlbGF5c1tp XSk7Cj4gKwkJaWd0X2luZm8oInByZWVtcHRfdGltZW91dF9tczolZCwgZWxhcHNlZD0lLjNmbXNc biIsCj4gKwkJCSBkZWxheXNbaV0sIGVsYXBzZWQgKiAxZS02KTsKCk5vIGNoZWNraW5nIHRoYXQg bWVhc3VyZWQgdGltZSByZWxhdGVzIHRvIGNvbmZpZ3VyZWQgdGltZW91dD8KCj4gKwl9Cj4gKwo+ ICsJaWd0X2Fzc2VydChlbmFibGVfaGFuZ2NoZWNrKGk5MTUsIHRydWUpKTsKPiArCWdlbV9xdWll c2NlbnRfZ3B1KGk5MTUpOwo+ICsKPiArCWlndF9zeXNmc19wcmludGYoZW5naW5lLCAicHJlZW1w dF90aW1lb3V0X21zIiwgIiV1Iiwgc2F2ZWQpOwo+ICsJaWd0X3N5c2ZzX3NjYW5mKGVuZ2luZSwg InByZWVtcHRfdGltZW91dF9tcyIsICIldSIsICZkZWxheSk7Cj4gKwlpZ3RfYXNzZXJ0X2VxKGRl bGF5LCBzYXZlZCk7Cj4gK30KPiArCj4gK2lndF9tYWluCj4gK3sKPiArCWludCBpOTE1LCBzeXMg PSAtMTsKPiArCXN0cnVjdCBkaXJlbnQgKmRlOwo+ICsJaW50IGVuZ2luZXM7Cj4gKwlESVIgKmRp cjsKPiArCj4gKwlpZ3RfZml4dHVyZSB7Cj4gKwkJaTkxNSA9IGRybV9vcGVuX2RyaXZlcihEUklW RVJfSU5URUwpOwo+ICsJCWlndF9yZXF1aXJlX2dlbShpOTE1KTsKPiArCj4gKwkJc3lzID0gaWd0 X3N5c2ZzX29wZW4oaTkxNSk7Cj4gKwkJaWd0X3JlcXVpcmUoc3lzICE9IC0xKTsKCmlndF9hc3Nl cnRfZmQ/Cgo+ICsJfQo+ICsKPiArCWVuZ2luZXMgPSBvcGVuYXQoc3lzLCAiZW5naW5lIiwgT19S RE9OTFkpOwo+ICsJZGlyID0gZmRvcGVuZGlyKGVuZ2luZXMpOwo+ICsJd2hpbGUgKGRpciAmJiAo ZGUgPSByZWFkZGlyKGRpcikpKSB7Cj4gKwkJaW50IGVuZ2luZSA9IG9wZW5hdChlbmdpbmVzLCBk ZS0+ZF9uYW1lLCBPX1JET05MWSk7Cj4gKwkJc3RydWN0IHN0YXQgc3Q7Cj4gKwkJY2hhciAqbmFt ZTsKPiArCj4gKwkJbmFtZSA9IGlndF9zeXNmc19nZXQoZW5naW5lLCAibmFtZSIpOwo+ICsJCWlm ICghbmFtZSkKPiArCQkJY29udGludWU7Cj4gKwo+ICsJCWlndF9zdWJ0ZXN0X2dyb3VwIHsKPiAr CQkJaWd0X2ZpeHR1cmUgewo+ICsJCQkJaWd0X3JlcXVpcmUoZnN0YXRhdChlbmdpbmUsCj4gKwkJ CQkJCSAgICAicHJlZW1wdF90aW1lb3V0X21zIiwKPiArCQkJCQkJICAgICZzdCwgMCkgPT0gMCk7 Cj4gKwkJCX0KPiArCj4gKwkJCWlndF9zdWJ0ZXN0X2YoIiVzLWlkZW1wb3RlbnQiLCBuYW1lKQo+ ICsJCQkJdGVzdF9pZGVtcG90ZW50KGk5MTUsIGVuZ2luZSk7Cj4gKwkJCWlndF9zdWJ0ZXN0X2Yo IiVzLWludmFsaWQiLCBuYW1lKQo+ICsJCQkJdGVzdF9pbnZhbGlkKGk5MTUsIGVuZ2luZSk7Cj4g KwkJCWlndF9zdWJ0ZXN0X2YoIiVzLXRpbWVvdXQiLCBuYW1lKQo+ICsJCQkJdGVzdF90aW1lb3V0 KGk5MTUsIGVuZ2luZSk7Cj4gKwkJfQo+ICsKPiArCQlmcmVlKG5hbWUpOwo+ICsJCWNsb3NlKGVu Z2luZSk7Cj4gKwl9CgpZb3UgcHJvYmFibHkgc2hvdWxkIHVzZSBfX2Zvcl9lYWNoX3N0YXRpY19l bmdpbmUgYW5kIHRoZW4gb3BlbiBzeXNmcyAKbm9kZXMgYmFzZWQgb24gdGhhdC4gR2V0cyBhcm91 bmQgdGhlIGR5bmFtaWMgc3VidGVzdHMgbm8tbm8gYXQgbGVhc3QuCgo+ICsKPiArCWlndF9maXh0 dXJlIHsKPiArCQljbG9zZShzeXMpOwo+ICsJCWNsb3NlKGk5MTUpOwo+ICsJfQo+ICt9Cj4gZGlm ZiAtLWdpdCBhL3Rlc3RzL21lc29uLmJ1aWxkIGIvdGVzdHMvbWVzb24uYnVpbGQKPiBpbmRleCAz ZjNlZWUyNzcuLmE2OTkzNzdlMyAxMDA2NDQKPiAtLS0gYS90ZXN0cy9tZXNvbi5idWlsZAo+ICsr KyBiL3Rlc3RzL21lc29uLmJ1aWxkCj4gQEAgLTIzOCw2ICsyMzgsNyBAQCBpOTE1X3Byb2dzID0g Wwo+ICAgCSdpOTE1X3F1ZXJ5JywKPiAgIAknaTkxNV9zZWxmdGVzdCcsCj4gICAJJ2k5MTVfc3Vz cGVuZCcsCj4gKwknc3lzZnNfcHJlZW1wdGlvbl90aW1lb3V0JywKPiAgIF0KPiAgIAo+ICAgdGVz dF9kZXBzID0gWyBpZ3RfZGVwcyBdCj4gCgpSZWdhcmRzLAoKVHZydGtvCl9fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmlndC1kZXYgbWFpbGluZyBsaXN0Cmln dC1kZXZAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3Jn L21haWxtYW4vbGlzdGluZm8vaWd0LWRldg==