From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tvrtko Ursulin Subject: Re: [PATCH v4 3/3] drm/i915: Predictive governor to control eu/slice/subslice Date: Thu, 14 Mar 2019 10:58:20 +0000 Message-ID: References: <1552552615-6703-1-git-send-email-ankit.p.navik@intel.com> <1552552615-6703-4-git-send-email-ankit.p.navik@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by gabe.freedesktop.org (Postfix) with ESMTPS id DC54F6E167 for ; Thu, 14 Mar 2019 10:58:24 +0000 (UTC) In-Reply-To: <1552552615-6703-4-git-send-email-ankit.p.navik@intel.com> Content-Language: en-US List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Ankit Navik , intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org Ck9uIDE0LzAzLzIwMTkgMDg6MzYsIEFua2l0IE5hdmlrIHdyb3RlOgo+IEZyb206IFByYXZlZW4g RGl3YWthciA8cHJhdmVlbi5kaXdha2FyQGludGVsLmNvbT4KPiAKPiBIaWdoIHJlc29sdXRpb24g dGltZXIgaXMgdXNlZCBmb3IgcHJlZGljdGl2ZSBnb3Zlcm5vciB0byBjb250cm9sCj4gZXUvc2xp Y2Uvc3Vic2xpY2UgYmFzZWQgb24gd29ya2xvYWRzLgo+IAo+IERlYnVnZnMgaXMgcHJvdmlkZWQg dG8gZW5hYmxlL2Rpc2FibGUvdXBkYXRlIHRpbWVyIGNvbmZpZ3VyYXRpb24KPiAKPiBWMjoKPiAg ICogRml4IGNvZGUgc3R5bGUuCj4gICAqIE1vdmUgcHJlZGljdGl2ZV9sb2FkX3RpbWVyIGludG8g YSBkcm1faTkxNV9wcml2YXRlCj4gICAgIHN0cnVjdHVyZS4KPiAgICogTWFrZSBnZW5lcmljIGZ1 bmN0aW9uIHRvIHNldCBvcHRpbXVtIGNvbmZpZy4gKFR2cnRrbyBVcnN1bGluKQo+IAo+IFYzOgo+ ICAgKiBSZWJhc2UuCj4gICAqIEZpeCByYWNlIGNvbmRpdGlvbiBmb3IgcHJlZGljdGl2ZSBsb2Fk IHNldC4KPiAgICogQWRkIHNsYWNrIHRvIHN0YXJ0IGhydGltZXIgZm9yIG1vcmUgcG93ZXIgZWZm aWNpZW50LiAoVHZydGtvIFVyc3VsaW4pCj4gCj4gVjQ6Cj4gICAqIEZpeCBkYXRhIHR5cGUgYW5k IGluaXRpYWxpemF0aW9uIG9mIG11dGV4IHRvIHByb3RlY3QgcHJlZGljdGl2ZSBsb2FkIHN0YXRl Lgo+ICAgKiBNb3ZlIHByZWRpY3RpdmUgdGltZXIgaW5pdCB0byBpOTE1X2dlbV9pbml0X2Vhcmx5 LiAoVHZydGtvIFVyc3VsaW4pCj4gICAqIE1vdmUgZGVidWdmcyB0byBrZXJuZWwgcGFyYW1ldGVy Lgo+IAo+IENjOiBBcmF2aW5kYW4gTXV0aHVrdW1hciA8YXJhdmluZGFuLm11dGh1a3VtYXJAaW50 ZWwuY29tPgo+IENjOiBZb2dlc2ggTWFyYXRoZSA8eW9nZXNoLm1hcmF0aGVAaW50ZWwuY29tPgo+ IFNpZ25lZC1vZmYtYnk6IFByYXZlZW4gRGl3YWthciA8cHJhdmVlbi5kaXdha2FyQGludGVsLmNv bT4KPiBTaWduZWQtb2ZmLWJ5OiBLZWRhciBKIEthcmFuamUgPGtlZGFyLmoua2FyYW5qZUBpbnRl bC5jb20+Cj4gU2lnbmVkLW9mZi1ieTogQW5raXQgTmF2aWsgPGFua2l0LnAubmF2aWtAaW50ZWwu Y29tPgo+IC0tLQo+ICAgZHJpdmVycy9ncHUvZHJtL2k5MTUvTWFrZWZpbGUgICAgICAgfCAgIDEg Kwo+ICAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kZWJ1Z2ZzLmMgfCAgIDEgKwo+ICAgZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaCAgICAgfCAgIDQgKysKPiAgIGRyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfZ2VtLmMgICAgIHwgICAzICsKPiAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfcGFyYW1zLmMgIHwgICA0ICsrCj4gICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3Bh cmFtcy5oICB8ICAgMSArCj4gICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kZXUuYyAgICB8 IDEwOSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKPiAgIGRyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX2Rydi5oICAgIHwgICAzICsKPiAgIDggZmlsZXMgY2hhbmdlZCwgMTI2 IGluc2VydGlvbnMoKykKPiAgIGNyZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9kZXUuYwo+IAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9NYWtl ZmlsZSBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L01ha2VmaWxlCj4gaW5kZXggMTc4N2UxMi4uYjll YWFlZCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9NYWtlZmlsZQo+ICsrKyBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L01ha2VmaWxlCj4gQEAgLTExOSw2ICsxMTksNyBAQCBpOTE1 LXkgKz0gaW50ZWxfYXVkaW8ubyBcCj4gICAJICBpbnRlbF9jb2xvci5vIFwKPiAgIAkgIGludGVs X2NvbWJvX3BoeS5vIFwKPiAgIAkgIGludGVsX2Nvbm5lY3Rvci5vIFwKPiArCSAgaW50ZWxfZGV1 Lm8gXAo+ICAgCSAgaW50ZWxfZGlzcGxheS5vIFwKPiAgIAkgIGludGVsX2RwaW9fcGh5Lm8gXAo+ ICAgCSAgaW50ZWxfZHBsbF9tZ3IubyBcCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2k5MTVfZGVidWdmcy5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kZWJ1Z2ZzLmMK PiBpbmRleCBjYThmYTQ0Li4xYjhmNjMxIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2k5MTVfZGVidWdmcy5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kZWJ1 Z2ZzLmMKPiBAQCAtNDYxMiw2ICs0NjEyLDcgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBkcm1faW5m b19saXN0IGk5MTVfZGVidWdmc19saXN0W10gPSB7Cj4gICAJeyJpOTE1X2RycnNfc3RhdHVzIiwg aTkxNV9kcnJzX3N0YXR1cywgMH0sCj4gICAJeyJpOTE1X3Jwc19ib29zdF9pbmZvIiwgaTkxNV9y cHNfYm9vc3RfaW5mbywgMH0sCj4gICB9Owo+ICsKPiAgICNkZWZpbmUgSTkxNV9ERUJVR0ZTX0VO VFJJRVMgQVJSQVlfU0laRShpOTE1X2RlYnVnZnNfbGlzdCkKPiAgIAo+ICAgc3RhdGljIGNvbnN0 IHN0cnVjdCBpOTE1X2RlYnVnZnNfZmlsZXMgewo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X2Rydi5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAo+IGlu ZGV4IDk3Y2IzNmIuLmRmZTgwZDkgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv aTkxNV9kcnYuaAo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKPiBAQCAt MTU5Niw2ICsxNTk2LDkgQEAgc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgewo+ICAgCS8qIG9wdGlt YWwgc2xpY2Uvc3Vic2xpY2UvRVUgY29uZmlncmF0aW9uIHN0YXRlICovCj4gICAJc3RydWN0IGk5 MTVfc3NldV9vcHRpbXVtX2NvbmZpZyAqb3B0X2NvbmZpZzsKPiAgIAo+ICsJLyogcHJvdGVjdHMg cHJlZGljdGl2ZSBsb2FkIHN0YXRlICovCj4gKwlzdHJ1Y3QgbXV0ZXggcHJlZF9tdXRleDsKPiAr CXN0cnVjdCBocnRpbWVyIHByZWRfdGltZXI7Cj4gICAJaW50IHByZWRpY3RpdmVfbG9hZF9lbmFi bGU7Cj4gICAKPiAgIAl1bnNpZ25lZCBpbnQgZnNiX2ZyZXEsIG1lbV9mcmVxLCBpc19kZHIzOwo+ IEBAIC0yNjQ2LDYgKzI2NDksNyBAQCBleHRlcm4gdW5zaWduZWQgbG9uZyBpOTE1X2NoaXBzZXRf dmFsKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdik7Cj4gICBleHRlcm4gdW5zaWdu ZWQgbG9uZyBpOTE1X21jaF92YWwoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KTsK PiAgIGV4dGVybiB1bnNpZ25lZCBsb25nIGk5MTVfZ2Z4X3ZhbChzdHJ1Y3QgZHJtX2k5MTVfcHJp dmF0ZSAqZGV2X3ByaXYpOwo+ICAgZXh0ZXJuIHZvaWQgaTkxNV91cGRhdGVfZ2Z4X3ZhbChzdHJ1 Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpOwo+ICtleHRlcm4gZW51bSBocnRpbWVyX3Jl c3RhcnQgcHJlZGljdGl2ZV9sb2FkX2NiKHN0cnVjdCBocnRpbWVyICpocnRpbWVyKTsKPiAgIGlu dCB2bHZfZm9yY2VfZ2Z4X2Nsb2NrKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwg Ym9vbCBvbik7Cj4gICAKPiAgIGludCBpbnRlbF9lbmdpbmVzX2luaXRfbW1pbyhzdHJ1Y3QgZHJt X2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpOwo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X2dlbS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYwo+IGluZGV4 IDVjMWI5ZDQuLjE4YzUxOTUgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9nZW0uYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMKPiBAQCAtNTI2 Nyw2ICs1MjY3LDkgQEAgaW50IGk5MTVfZ2VtX2luaXRfZWFybHkoc3RydWN0IGRybV9pOTE1X3By aXZhdGUgKmRldl9wcml2KQo+ICAgCj4gICAJc3Bpbl9sb2NrX2luaXQoJmRldl9wcml2LT5mYl90 cmFja2luZy5sb2NrKTsKPiAgIAo+ICsJLyogRHluYW1pYyBFVSB0aW1lciBpbml0aWFsaXphdGlv biBmb3IgcHJlZGljdGl2ZSBsb2FkICovCj4gKwlpbnRlbF9kZXVfaW5pdChkZXZfcHJpdik7Cj4g Kwo+ICAgCWVyciA9IGk5MTVfZ2VtZnNfaW5pdChkZXZfcHJpdik7Cj4gICAJaWYgKGVycikKPiAg IAkJRFJNX05PVEUoIlVuYWJsZSB0byBjcmVhdGUgYSBwcml2YXRlIHRtcGZzIG1vdW50LCBodWdl cGFnZSBzdXBwb3J0IHdpbGwgYmUgZGlzYWJsZWQoJWQpLlxuIiwgZXJyKTsKPiBkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9wYXJhbXMuYyBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2k5MTVfcGFyYW1zLmMKPiBpbmRleCBiNWJlMGFiLi43ODU3ZTkyIDEwMDY0NAo+IC0tLSBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcGFyYW1zLmMKPiArKysgYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X3BhcmFtcy5jCj4gQEAgLTk3LDYgKzk3LDEwIEBAIGk5MTVfcGFyYW1fbmFt ZWRfdW5zYWZlKGRpc2FibGVfcG93ZXJfd2VsbCwgaW50LCAwNDAwLAo+ICAgCj4gICBpOTE1X3Bh cmFtX25hbWVkX3Vuc2FmZShlbmFibGVfaXBzLCBpbnQsIDA2MDAsICJFbmFibGUgSVBTIChkZWZh dWx0OiB0cnVlKSIpOwo+ICAgCj4gK2k5MTVfcGFyYW1fbmFtZWRfdW5zYWZlKGRldV90aW1lcl9l bmFibGUsIGludCwgMDYwMCwKPiArCSJFbmFibGUgZHluYW1pYyBFVSBjb250cm9sIGZvciBwb3dl ciBzYXZpbmdzICIKPiArCSIoMD1kaXNhYmxlIGRldSBwcmVkaWN0aXZlIHRpbWVyIFtkZWZhdWx0 XSwgMTUwPW9wdGltYWwgZGV1IHByZWRpY3RpdmUgdGltZXIpIik7Cj4gKwo+ICAgaTkxNV9wYXJh bV9uYW1lZChmYXN0Ym9vdCwgaW50LCAwNjAwLAo+ICAgCSJUcnkgdG8gc2tpcCB1bm5lY2Vzc2Fy eSBtb2RlIHNldHMgYXQgYm9vdCB0aW1lICIKPiAgIAkiKDA9ZGlzYWJsZWQsIDE9ZW5hYmxlZCkg Igo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3BhcmFtcy5oIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9wYXJhbXMuaAo+IGluZGV4IDNmMTRlOTguLmM1MWY1NmIg MTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9wYXJhbXMuaAo+ICsrKyBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcGFyYW1zLmgKPiBAQCAtNTQsNiArNTQsNyBAQCBz dHJ1Y3QgZHJtX3ByaW50ZXI7Cj4gICAJcGFyYW0oaW50LCBkaXNhYmxlX3Bvd2VyX3dlbGwsIC0x KSBcCj4gICAJcGFyYW0oaW50LCBlbmFibGVfaXBzLCAxKSBcCj4gICAJcGFyYW0oaW50LCBpbnZl cnRfYnJpZ2h0bmVzcywgMCkgXAo+ICsJcGFyYW0oaW50LCBkZXVfdGltZXJfZW5hYmxlLCAwKSBc CgpNYXliZSBqdXN0IGRldV9lbmFibGUsIGFsdGhvdWdoIEkgYW0gbm90IHN1cmUgYWNyb255bSBp cyBnb29kIGhlcmUuIAppOTE1LnByZWRpY3RpdmVfc3NldSA9IDEvMD8KCj4gICAJcGFyYW0oaW50 LCBlbmFibGVfZ3VjLCAwKSBcCj4gICAJcGFyYW0oaW50LCBndWNfbG9nX2xldmVsLCAtMSkgXAo+ ICAgCXBhcmFtKGNoYXIgKiwgZ3VjX2Zpcm13YXJlX3BhdGgsIE5VTEwpIFwKPiBkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGV1LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9kZXUuYwo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0Cj4gaW5kZXggMDAwMDAwMC4uMzQ2 NTRkNQo+IC0tLSAvZGV2L251bGwKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9k ZXUuYwo+IEBAIC0wLDAgKzEsMTA5IEBACj4gKy8qCj4gKyAqIENvcHlyaWdodCDCqSAyMDE5IElu dGVsIENvcnBvcmF0aW9uCj4gKyAqCj4gKyAqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQs IGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhCj4gKyAqIGNvcHkgb2Yg dGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgIlNv ZnR3YXJlIiksCj4gKyAqIHRvIGRlYWwgaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rp b24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24KPiArICogdGhlIHJpZ2h0cyB0byB1c2Us IGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsCj4g KyAqIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVy c29ucyB0byB3aG9tIHRoZQo+ICsgKiBTb2Z0d2FyZSBpcyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1 YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgo+ICsgKgo+ICsgKiBUaGUgYWJvdmUg Y29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSAoaW5jbHVkaW5nIHRo ZSBuZXh0Cj4gKyAqIHBhcmFncmFwaCkgc2hhbGwgYmUgaW5jbHVkZWQgaW4gYWxsIGNvcGllcyBv ciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUKPiArICogU29mdHdhcmUuCj4gKyAqCj4gKyAq IFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFO WSBLSU5ELCBFWFBSRVNTIE9SCj4gKyAqIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlU RUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLAo+ICsgKiBGSVRORVNTIEZP UiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiAgSU4gTk8gRVZFTlQg U0hBTEwKPiArICogVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZP UiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIKPiArICogTElBQklMSVRZLCBXSEVUSEVSIElO IEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcKPiArICog RlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVT RSBPUiBPVEhFUgo+ICsgKiBERUFMSU5HUyBJTiBUSEUgU09GVFdBUkUuCj4gKyAqCj4gKyAqIEF1 dGhvcnM6Cj4gKyAqICAgIEFua2l0IE5hdmlrIDxhbmtpdC5wLm5hdmlrQGludGVsLmNvbT4KPiAr ICovCj4gKwo+ICsvKioKPiArICogRE9DOiBEeW5hbWljIEVVIENvbnRyb2wgKERFVUMpCgpJIGFt IG5vdCBzdXJlIGFib3V0IHRoZSBhY3JvbnltIGJ1dCBpZ25vcmluZyB0aGF0IGl0IGlzIG5vdCBj b25zaXN0ZW50bHkgCnVzZWQgYmV0d2VlbiB0aGUgZmlsZSBuYW1lLCBtb2R1bGUgcGFyYW1ldGVy IG5hbWUsIGZ1bmN0aW9uIHByZWZpeCBuYW1lIAphbmQgaGVyZS4gV2VsbCBhbGwgaXMgY29uc2lz dGVudCBhcGFydCBmcm9tIHRoaXMuCgo+ICsgKgo+ICsgKiBERVVDIHRyaWVzIHRvIHJlLWNvbmZp Z3VyZSBFVSBhbGxvY2F0aW9uIGR1cmluZyBydW50aW1lIGJ5IHByZWRpY3RpdmUgbG9hZAo+ICsg KiBjYWxjdWxhdGlvbiBvZiBjb21tYW5kIHF1ZXVlIHRvIGdhaW4gcG93ZXIgc2F2aW5nLgo+ICsg KiBJdCBpcyB0cmFuc3BhcmVudCB0byB1c2VyIHNwYWNlIGFuZCBjb21wbGV0ZWx5IGhhbmRsZWQg aW4gdGhlIGtlcm5lbC4KPiArICovCj4gKwo+ICsjaW5jbHVkZSAiaW50ZWxfZHJ2LmgiCj4gKyNp bmNsdWRlICJpOTE1X2Rydi5oIgo+ICsKPiArLyoKPiArICogQW55dGhpbmcgYWJvdmUgdGhyZXNo b2xkIGlzIGNvbnNpZGVyZWQgYXMgSElHSCBsb2FkLCBsZXNzIGlzIGNvbnNpZGVyZWQKPiArICog YXMgTE9XIGxvYWQgYW5kIGVxdWFsIGlzIGNvbnNpZGVyZWQgYXMgTUVESVVNIGxvYWQuCj4gKyAq Cj4gKyAqIFRoZSB0aHJlc2hvbGQgdmFsdWUgb2YgdGhyZWUgYWN0aXZlIHJlcXVlc3RzIHBlbmRp bmcuCj4gKyAqLwo+ICsjZGVmaW5lIFBFTkRJTkdfVEhSRVNIT0xEX01FRElVTSAzCj4gKwo+ICsj ZGVmaW5lIFNMQUNLX1RJTUVSX05TRUMgMTAwMDAwMCAvKiBUaW1lciByYW5nZSBpbiBuYW5vIHNl Y29uZCAqLwo+ICsKPiArZW51bSBocnRpbWVyX3Jlc3RhcnQgcHJlZGljdGl2ZV9sb2FkX2NiKHN0 cnVjdCBocnRpbWVyICpocnRpbWVyKQoKc3RhdGljCgo+ICt7Cj4gKwlzdHJ1Y3QgZHJtX2k5MTVf cHJpdmF0ZSAqZGV2X3ByaXYgPQo+ICsJCQljb250YWluZXJfb2YoaHJ0aW1lciwgdHlwZW9mKCpk ZXZfcHJpdiksIHByZWRfdGltZXIpOwo+ICsJc3RydWN0IGk5MTVfZ2VtX2NvbnRleHQgKmN0eDsK PiArCWVudW0gZ2VtX2xvYWRfdHlwZSBsb2FkX3R5cGU7Cj4gKwl1bnNpZ25lZCBpbnQgcmVxX3Bl bmRpbmc7Cj4gKwo+ICsJbGlzdF9mb3JfZWFjaF9lbnRyeShjdHgsICZkZXZfcHJpdi0+Y29udGV4 dHMubGlzdCwgbGluaykgewo+ICsKPiArCQlyZXFfcGVuZGluZyA9IGF0b21pY19yZWFkKCZjdHgt PnJlcV9jbnQpOwo+ICsKPiArCQkvKgo+ICsJCSAqIFRyYW5zaXRpb25pbmcgdG8gbG93IHN0YXRl IHdoZW5ldmVyIHBlbmRpbmcgcmVxdWVzdCBpcyB6ZXJvCj4gKwkJICogd291bGQgY2F1c2UgdmFj aWxsYXRpb24gYmV0d2VlbiBsb3cgYW5kIGhpZ2ggc3RhdGUuCj4gKwkJICovCj4gKwkJaWYgKHJl cV9wZW5kaW5nID09IDApCj4gKwkJCWNvbnRpbnVlOwo+ICsKPiArCQlpZiAocmVxX3BlbmRpbmcg PiBQRU5ESU5HX1RIUkVTSE9MRF9NRURJVU0pCj4gKwkJCWxvYWRfdHlwZSA9IExPQURfVFlQRV9I SUdIOwo+ICsJCWVsc2UgaWYgKHJlcV9wZW5kaW5nID09IFBFTkRJTkdfVEhSRVNIT0xEX01FRElV TSkKPiArCQkJbG9hZF90eXBlID0gTE9BRF9UWVBFX01FRElVTTsKPiArCQllbHNlCj4gKwkJCWxv YWRfdHlwZSA9IExPQURfVFlQRV9MT1c7Cj4gKwo+ICsJCWk5MTVfZ2VtX2NvbnRleHRfc2V0X2xv YWRfdHlwZShjdHgsIGxvYWRfdHlwZSk7Cj4gKwl9Cj4gKwo+ICsJaHJ0aW1lcl9mb3J3YXJkX25v dyhocnRpbWVyLAo+ICsJCQltc190b19rdGltZShkZXZfcHJpdi0+cHJlZGljdGl2ZV9sb2FkX2Vu YWJsZSkpOwo+ICsKPiArCXJldHVybiBIUlRJTUVSX1JFU1RBUlQ7Cj4gK30KClRoaW5raW5nIG91 dCBsb3VkIC0gSSB3b25kZXIgaWYgeW91IGNvdWxkIGRyaXZlIHRoZSBsb2dpYyBmcm9tIGNvbnRl eHQgCmFjdGl2aXR5IGluc3RlYWQgb2YgdGhlIHRpbWVyLiBJdCB3b3VsZCBhdm9pZCBoYXZpbmcg dG8gd2FsayBhbGwgdGhlIAppZGxlIGNvbnRleHRzLCBidXQgd291bGQgcmVxdWlyZSBhZGRpbmcg dGltZSBjaGVja3MgdG8gcnEgdGltZWxpbmUgCm1hbmFnZW1lbnQuCgo+ICsKPiArLyoqCj4gKyAq IGludGVsX2RldV9pbml0IC0gSW5pdGlhbGl6ZSBkeW5hbWljIEVVCj4gKyAqIEBkZXZfcHJpdjog aTkxNSBkZXZpY2UgaW5zdGFuY2UKPiArICoKPiArICogVGhpcyBmdWN0aW9uIGlzIGNhbGxlZCBh dCBkcml2ZXIgbG9hZAo+ICsgKi8KPiArdm9pZCBpbnRlbF9kZXVfaW5pdChzdHJ1Y3QgZHJtX2k5 MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCj4gK3sKPiArCWRldl9wcml2LT5wcmVkaWN0aXZlX2xvYWRf ZW5hYmxlID0gaTkxNV9tb2RwYXJhbXMuZGV1X3RpbWVyX2VuYWJsZTsKPiArCWhydGltZXJfaW5p dCgmZGV2X3ByaXYtPnByZWRfdGltZXIsIENMT0NLX01PTk9UT05JQywgSFJUSU1FUl9NT0RFX1JF TCk7Cj4gKwlkZXZfcHJpdi0+cHJlZF90aW1lci5mdW5jdGlvbiA9IHByZWRpY3RpdmVfbG9hZF9j YjsKPiArCW11dGV4X2luaXQoJmRldl9wcml2LT5wcmVkX211dGV4KTsKPiArCj4gKwltdXRleF9s b2NrKCZkZXZfcHJpdi0+cHJlZF9tdXRleCk7Cj4gKwo+ICsJaWYgKGRldl9wcml2LT5wcmVkaWN0 aXZlX2xvYWRfZW5hYmxlKSB7Cj4gKwkJaWYgKCFocnRpbWVyX2FjdGl2ZSgmZGV2X3ByaXYtPnBy ZWRfdGltZXIpKQo+ICsJCQlocnRpbWVyX3N0YXJ0X3JhbmdlX25zKCZkZXZfcHJpdi0+cHJlZF90 aW1lciwKPiArCQkJbXNfdG9fa3RpbWUoZGV2X3ByaXYtPnByZWRpY3RpdmVfbG9hZF9lbmFibGUp LAo+ICsJCQlTTEFDS19USU1FUl9OU0VDLAo+ICsJCQlIUlRJTUVSX01PREVfUkVMX1BJTk5FRCk7 Cj4gKwl9IGVsc2Ugewo+ICsJCWhydGltZXJfY2FuY2VsKCZkZXZfcHJpdi0+cHJlZF90aW1lcik7 CgpJJ2QgbW92ZSBzdG9wcGluZyBhbmQgc3RhcnRpbmcgb2YgdGhlIHRpbWVyIGludG8gR1QgaWRs ZS9hY3RpdmUgaG9va3MuIApObyBwb2ludCBpbiBrZWVwaW5nIGl0IHJ1bm5pbmcgd2hpbGUgdGhl IEdQVSBpcyBhc2xlZXAuCgpIYXZlbid0IEkgc3VnZ2VzdGVkIHRoaXMgYmVmb3JlPyBMb29rIGZv ciBpOTE1X3BtdV9ndF8odW4pcGFya2VkIGFuZCBwdXQgCnlvdXIgaG9va3MgbmV4dCB0byB0aGVt LgoKPiArCX0KPiArCj4gKwltdXRleF91bmxvY2soJmRldl9wcml2LT5wcmVkX211dGV4KTsKCk11 dGV4IGRvZXNuJ3Qgc2VlbSB0byBiZSB1c2VmdWwgbm93IHRoYXQgeW91IG1hZGUgdGhpcyBtb2Rw YXJhbS4KClJlZ2FyZHMsCgpUdnJ0a28KCj4gK30KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaAo+ IGluZGV4IGI0ZTI5YjguLjhlNmMxZGEgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfZHJ2LmgKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaAo+ IEBAIC0xOTkwLDYgKzE5OTAsOSBAQCB2b2lkIGludGVsX2ZiY19jbGVhbnVwX2NmYihzdHJ1Y3Qg ZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpOwo+ICAgdm9pZCBpbnRlbF9mYmNfaGFuZGxlX2Zp Zm9fdW5kZXJydW5faXJxKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdik7Cj4gICBp bnQgaW50ZWxfZmJjX3Jlc2V0X3VuZGVycnVuKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZf cHJpdik7Cj4gICAKPiArLyogaW50ZWxfZGV1LmMgKi8KPiArdm9pZCBpbnRlbF9kZXVfaW5pdChz dHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpOwo+ICsKPiAgIC8qIGludGVsX2hkbWku YyAqLwo+ICAgdm9pZCBpbnRlbF9oZG1pX2luaXQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRl dl9wcml2LCBpOTE1X3JlZ190IGhkbWlfcmVnLAo+ICAgCQkgICAgIGVudW0gcG9ydCBwb3J0KTsK PiAKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwt Z2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8v bGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4