From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chris Wilson Subject: Re: [PATCH v2] drm/i915/pmu: Measure sampler intervals Date: Wed, 30 May 2018 15:55:46 +0100 Message-ID: <152769214694.8336.13614650011860246713@mail.alporthouse.com> References: <20180525171111.6812-1-chris@chris-wilson.co.uk> <20180530115539.27556-1-chris@chris-wilson.co.uk> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from fireflyinternet.com (mail.fireflyinternet.com [109.228.58.192]) by gabe.freedesktop.org (Postfix) with ESMTPS id 534CD6E3F8 for ; Wed, 30 May 2018 14:55:53 +0000 (UTC) In-Reply-To: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Tvrtko Ursulin , intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org UXVvdGluZyBUdnJ0a28gVXJzdWxpbiAoMjAxOC0wNS0zMCAxNTozNzoxOCkKPiAKPiBPbiAzMC8w NS8yMDE4IDEyOjU1LCBDaHJpcyBXaWxzb24gd3JvdGU6Cj4gPiBocnRpbWVyIGlzIG5vdCByZWxp YWJsZSBlbm91Z2ggdG8gYXNzdW1lIGZpeGVkIGludGVydmFscywgYW5kIHNvIGV2ZW4KPiA+IGNv YXJzZSBhY2N1cmFjeSAoaW4gdGhlIGZhY2Ugb2Yga2FzYW4gYW5kIHNpbWlsYXIgaGVhdnkgZGVi dWdnaW5nKSB3ZQo+ID4gbmVlZCB0byBtZWFzdXJlIHRoZSBhY3R1YWwgaW50ZXJ2YWwgYmV0d2Vl biBzYW1wbGUuCj4gPiAKPiA+IFdoaWxlIHVzaW5nIGEgc2luZ2xlIHRpbWVzdGFtcCB0byBjb21w dXRlIHRoZSBpbnRlcnZhbCBkb2VzIG5vdCBhbGxvdwo+ID4gdmVyeSBmaW5lIGFjY3VyYWN5IChj b25zaWRlciB0aGUgaW1wYWN0IG9mIGEgc2xvdyBmb3JjZXdha2UgYmV0d2Vlbgo+ID4gZGlmZmVy ZW50IHNhbXBsZXMgYWZ0ZXIgdGhlIHRpbWVzdGFtcCBpcyByZWFkKSBpcyBtdWNoIGJldHRlciB0 aGFuCj4gPiBhc3N1bWluZyB0aGUgaW50ZXJ2YWwuCj4gPiAKPiA+IHYyOiBNYWtlIHVzZSBvZiB0 aGUgc2FtcGxlIHBlcmlvZCBmb3IgZXN0aW1hdGluZyB0aGUgR1BVIGNsb2NrIGN5Y2xlcywKPiA+ IGxlYXZpbmcgdGhlIGZyZXF1ZW5jeSBjYWxjdWxhdGlvbiAodGhlIGF2ZXJhZ2luZykgdG8gdGhl IGNhbGxlci4KPiA+IEludHJvZHVjZSBuZXcgc2FtcGxlcnMgZm9yIHJlcG9ydGluZyBjeWNsZXMg aW5zdGVhZCBvZiBIei4KPiA+IAo+ID4gVGVzdGNhc2U6IGlndC9wZXJmX3BtdSAjaXZiCj4gPiBT aWduZWQtb2ZmLWJ5OiBDaHJpcyBXaWxzb24gPGNocmlzQGNocmlzLXdpbHNvbi5jby51az4KPiA+ IENjOiBUdnJ0a28gVXJzdWxpbiA8dHZydGtvLnVyc3VsaW5AaW50ZWwuY29tPgo+ID4gLS0tCj4g PiAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcG11LmMgfCA0NCArKysrKysrKysrKysrKysr KysrKysrKysrKy0tLS0tLS0KPiA+ICAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9wbXUuaCB8 ICA2ICsrKysrCj4gPiAgIGluY2x1ZGUvdWFwaS9kcm0vaTkxNV9kcm0uaCAgICAgfCAgMiArKwo+ ID4gICAzIGZpbGVzIGNoYW5nZWQsIDQzIGluc2VydGlvbnMoKyksIDkgZGVsZXRpb25zKC0pCj4g PiAKPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3BtdS5jIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9wbXUuYwo+ID4gaW5kZXggZGM4Nzc5N2RiNTAwLi4xMjAz M2U0N2UzYjQgMTAwNjQ0Cj4gPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3BtdS5j Cj4gPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3BtdS5jCj4gPiBAQCAtODYsNiAr ODYsOCBAQCBzdGF0aWMgYm9vbCBwbXVfbmVlZHNfdGltZXIoc3RydWN0IGRybV9pOTE1X3ByaXZh dGUgKmk5MTUsIGJvb2wgZ3B1X2FjdGl2ZSkKPiA+ICAgICAgICAqLwo+ID4gICAgICAgZW5hYmxl ICY9IGNvbmZpZ19lbmFibGVkX21hc2soSTkxNV9QTVVfQUNUVUFMX0ZSRVFVRU5DWSkgfAo+ID4g ICAgICAgICAgICAgICAgIGNvbmZpZ19lbmFibGVkX21hc2soSTkxNV9QTVVfUkVRVUVTVEVEX0ZS RVFVRU5DWSkgfAo+ID4gKyAgICAgICAgICAgICAgIGNvbmZpZ19lbmFibGVkX21hc2soSTkxNV9Q TVVfQUNUVUFMX0NMT0NLKSB8Cj4gPiArICAgICAgICAgICAgICAgY29uZmlnX2VuYWJsZWRfbWFz ayhJOTE1X1BNVV9SRVFVRVNURURfQ0xPQ0spIHwKPiA+ICAgICAgICAgICAgICAgICBFTkdJTkVf U0FNUExFX01BU0s7Cj4gPiAgIAo+ID4gICAgICAgLyoKPiA+IEBAIC0xMjcsNiArMTI5LDcgQEAg c3RhdGljIHZvaWQgX19pOTE1X3BtdV9tYXliZV9zdGFydF90aW1lcihzdHJ1Y3QgZHJtX2k5MTVf cHJpdmF0ZSAqaTkxNSkKPiA+ICAgewo+ID4gICAgICAgaWYgKCFpOTE1LT5wbXUudGltZXJfZW5h YmxlZCAmJiBwbXVfbmVlZHNfdGltZXIoaTkxNSwgdHJ1ZSkpIHsKPiA+ICAgICAgICAgICAgICAg aTkxNS0+cG11LnRpbWVyX2VuYWJsZWQgPSB0cnVlOwo+ID4gKyAgICAgICAgICAgICBpOTE1LT5w bXUudGltZXN0YW1wID0ga3RpbWVfZ2V0KCk7Cj4gPiAgICAgICAgICAgICAgIGhydGltZXJfc3Rh cnRfcmFuZ2VfbnMoJmk5MTUtPnBtdS50aW1lciwKPiA+ICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBuc190b19rdGltZShQRVJJT0QpLCAwLAo+ID4gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIEhSVElNRVJfTU9ERV9SRUxfUElOTkVEKTsKPiA+IEBAIC0x NjAsNyArMTYzLDcgQEAgdXBkYXRlX3NhbXBsZShzdHJ1Y3QgaTkxNV9wbXVfc2FtcGxlICpzYW1w bGUsIHUzMiB1bml0LCB1MzIgdmFsKQo+ID4gICAgICAgc2FtcGxlLT5jdXIgKz0gbXVsX3UzMl91 MzIodmFsLCB1bml0KTsKPiA+ICAgfQo+ID4gICAKPiA+IC1zdGF0aWMgdm9pZCBlbmdpbmVzX3Nh bXBsZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCj4gPiArc3RhdGljIHZvaWQg ZW5naW5lc19zYW1wbGUoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LCB1NjQgcGVy aW9kKQo+ID4gICB7Cj4gPiAgICAgICBzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmU7Cj4g PiAgICAgICBlbnVtIGludGVsX2VuZ2luZV9pZCBpZDsKPiA+IEBAIC0xODMsNyArMTg2LDcgQEAg c3RhdGljIHZvaWQgZW5naW5lc19zYW1wbGUoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9w cml2KQo+ID4gICAgICAgICAgICAgICB2YWwgPSAhaTkxNV9zZXFub19wYXNzZWQoY3VycmVudF9z ZXFubywgbGFzdF9zZXFubyk7Cj4gPiAgIAo+ID4gICAgICAgICAgICAgICB1cGRhdGVfc2FtcGxl KCZlbmdpbmUtPnBtdS5zYW1wbGVbSTkxNV9TQU1QTEVfQlVTWV0sCj4gPiAtICAgICAgICAgICAg ICAgICAgICAgICAgICAgUEVSSU9ELCB2YWwpOwo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAg ICAgIHBlcmlvZCwgdmFsKTsKPiA+ICAgCj4gPiAgICAgICAgICAgICAgIGlmICh2YWwgJiYgKGVu Z2luZS0+cG11LmVuYWJsZSAmCj4gPiAgICAgICAgICAgICAgICAgICAoQklUKEk5MTVfU0FNUExF X1dBSVQpIHwgQklUKEk5MTVfU0FNUExFX1NFTUEpKSkpIHsKPiA+IEBAIC0xOTUsMTAgKzE5OCwx MCBAQCBzdGF0aWMgdm9pZCBlbmdpbmVzX3NhbXBsZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAq ZGV2X3ByaXYpCj4gPiAgICAgICAgICAgICAgIH0KPiA+ICAgCj4gPiAgICAgICAgICAgICAgIHVw ZGF0ZV9zYW1wbGUoJmVuZ2luZS0+cG11LnNhbXBsZVtJOTE1X1NBTVBMRV9XQUlUXSwKPiA+IC0g ICAgICAgICAgICAgICAgICAgICAgICAgICBQRVJJT0QsICEhKHZhbCAmIFJJTkdfV0FJVCkpOwo+ ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgIHBlcmlvZCwgISEodmFsICYgUklOR19XQUlU KSk7Cj4gPiAgIAo+ID4gICAgICAgICAgICAgICB1cGRhdGVfc2FtcGxlKCZlbmdpbmUtPnBtdS5z YW1wbGVbSTkxNV9TQU1QTEVfU0VNQV0sCj4gPiAtICAgICAgICAgICAgICAgICAgICAgICAgICAg UEVSSU9ELCAhISh2YWwgJiBSSU5HX1dBSVRfU0VNQVBIT1JFKSk7Cj4gPiArICAgICAgICAgICAg ICAgICAgICAgICAgICAgcGVyaW9kLCAhISh2YWwgJiBSSU5HX1dBSVRfU0VNQVBIT1JFKSk7Cj4g PiAgICAgICB9Cj4gPiAgIAo+ID4gICAgICAgaWYgKGZ3KQo+ID4gQEAgLTIwNywxMCArMjEwLDEx IEBAIHN0YXRpYyB2b2lkIGVuZ2luZXNfc2FtcGxlKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpk ZXZfcHJpdikKPiA+ICAgICAgIGludGVsX3J1bnRpbWVfcG1fcHV0KGRldl9wcml2KTsKPiA+ICAg fQo+ID4gICAKPiA+IC1zdGF0aWMgdm9pZCBmcmVxdWVuY3lfc2FtcGxlKHN0cnVjdCBkcm1faTkx NV9wcml2YXRlICpkZXZfcHJpdikKPiA+ICtzdGF0aWMgdm9pZCBmcmVxdWVuY3lfc2FtcGxlKHN0 cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwgdTY0IHBlcmlvZCkKPiA+ICAgewo+ID4g ICAgICAgaWYgKGRldl9wcml2LT5wbXUuZW5hYmxlICYKPiA+IC0gICAgICAgICBjb25maWdfZW5h YmxlZF9tYXNrKEk5MTVfUE1VX0FDVFVBTF9GUkVRVUVOQ1kpKSB7Cj4gPiArICAgICAgICAgKGNv bmZpZ19lbmFibGVkX21hc2soSTkxNV9QTVVfQUNUVUFMX0NMT0NLKSB8Cj4gPiArICAgICAgICAg IGNvbmZpZ19lbmFibGVkX21hc2soSTkxNV9QTVVfQUNUVUFMX0ZSRVFVRU5DWSkpKSB7Cj4gPiAg ICAgICAgICAgICAgIHUzMiB2YWw7Cj4gPiAgIAo+ID4gICAgICAgICAgICAgICB2YWwgPSBkZXZf cHJpdi0+Z3RfcG0ucnBzLmN1cl9mcmVxOwo+ID4gQEAgLTIyMywxMyArMjI3LDIwIEBAIHN0YXRp YyB2b2lkIGZyZXF1ZW5jeV9zYW1wbGUoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2 KQo+ID4gICAKPiA+ICAgICAgICAgICAgICAgdXBkYXRlX3NhbXBsZSgmZGV2X3ByaXYtPnBtdS5z YW1wbGVbX19JOTE1X1NBTVBMRV9GUkVRX0FDVF0sCj4gPiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgMSwgaW50ZWxfZ3B1X2ZyZXEoZGV2X3ByaXYsIHZhbCkpOwo+ID4gKyAgICAgICAgICAg ICB1cGRhdGVfc2FtcGxlKCZkZXZfcHJpdi0+cG11LnNhbXBsZVtfX0k5MTVfU0FNUExFX0NMT0NL X0FDVF0sCj4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgcGVyaW9kLCBpbnRlbF9ncHVf ZnJlcShkZXZfcHJpdiwgdmFsKSk7Cj4gCj4gQ2FjaGUgaW50ZWxfZ3B1X2ZyZXEgaW4gYSBsb2Nh bC4KPiAKPiA+ICAgICAgIH0KPiA+ICAgCj4gPiAgICAgICBpZiAoZGV2X3ByaXYtPnBtdS5lbmFi bGUgJgo+ID4gLSAgICAgICAgIGNvbmZpZ19lbmFibGVkX21hc2soSTkxNV9QTVVfUkVRVUVTVEVE X0ZSRVFVRU5DWSkpIHsKPiA+ICsgICAgICAgICAoY29uZmlnX2VuYWJsZWRfbWFzayhJOTE1X1BN VV9SRVFVRVNURURfQ0xPQ0spIHwKPiA+ICsgICAgICAgICAgY29uZmlnX2VuYWJsZWRfbWFzayhJ OTE1X1BNVV9SRVFVRVNURURfRlJFUVVFTkNZKSkpIHsKPiA+ICAgICAgICAgICAgICAgdXBkYXRl X3NhbXBsZSgmZGV2X3ByaXYtPnBtdS5zYW1wbGVbX19JOTE1X1NBTVBMRV9GUkVRX1JFUV0sIDEs Cj4gPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50ZWxfZ3B1X2ZyZXEoZGV2X3ByaXYs Cj4gPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGV2X3ByaXYt Pmd0X3BtLnJwcy5jdXJfZnJlcSkpOwo+ID4gKyAgICAgICAgICAgICB1cGRhdGVfc2FtcGxlKCZk ZXZfcHJpdi0+cG11LnNhbXBsZVtfX0k5MTVfU0FNUExFX0NMT0NLX1JFUV0sCj4gPiArICAgICAg ICAgICAgICAgICAgICAgICAgICAgcGVyaW9kLAo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAg ICAgIGludGVsX2dwdV9mcmVxKGRldl9wcml2LAo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGRldl9wcml2LT5ndF9wbS5ycHMuY3VyX2ZyZXEpKTsKPiAKPiBT YW1lIGhlcmUuCj4gCj4gPiAgICAgICB9Cj4gPiAgIH0KPiA+ICAgCj4gPiBAQCAtMjM3LDEyICsy NDgsMTcgQEAgc3RhdGljIGVudW0gaHJ0aW1lcl9yZXN0YXJ0IGk5MTVfc2FtcGxlKHN0cnVjdCBo cnRpbWVyICpocnRpbWVyKQo+ID4gICB7Cj4gPiAgICAgICBzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0 ZSAqaTkxNSA9Cj4gPiAgICAgICAgICAgICAgIGNvbnRhaW5lcl9vZihocnRpbWVyLCBzdHJ1Y3Qg ZHJtX2k5MTVfcHJpdmF0ZSwgcG11LnRpbWVyKTsKPiA+ICsgICAgIGt0aW1lX3Qgbm93LCBwZXJp b2Q7Cj4gPiAgIAo+ID4gICAgICAgaWYgKCFSRUFEX09OQ0UoaTkxNS0+cG11LnRpbWVyX2VuYWJs ZWQpKQo+ID4gICAgICAgICAgICAgICByZXR1cm4gSFJUSU1FUl9OT1JFU1RBUlQ7Cj4gPiAgIAo+ ID4gLSAgICAgZW5naW5lc19zYW1wbGUoaTkxNSk7Cj4gPiAtICAgICBmcmVxdWVuY3lfc2FtcGxl KGk5MTUpOwo+ID4gKyAgICAgbm93ID0ga3RpbWVfZ2V0KCk7Cj4gPiArICAgICBwZXJpb2QgPSBr dGltZV9zdWIobm93LCBpOTE1LT5wbXUudGltZXN0YW1wKTsKPiA+ICsgICAgIGk5MTUtPnBtdS50 aW1lc3RhbXAgPSBub3c7Cj4gPiArCj4gPiArICAgICBlbmdpbmVzX3NhbXBsZShpOTE1LCBwZXJp b2QpOwo+ID4gKyAgICAgZnJlcXVlbmN5X3NhbXBsZShpOTE1LCBwZXJpb2QpOwo+ID4gICAKPiA+ ICAgICAgIGhydGltZXJfZm9yd2FyZF9ub3coaHJ0aW1lciwgbnNfdG9fa3RpbWUoUEVSSU9EKSk7 Cj4gPiAgICAgICByZXR1cm4gSFJUSU1FUl9SRVNUQVJUOwo+ID4gQEAgLTMxMywxMSArMzI5LDEz IEBAIGNvbmZpZ19zdGF0dXMoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUsIHU2NCBjb25m aWcpCj4gPiAgIHsKPiA+ICAgICAgIHN3aXRjaCAoY29uZmlnKSB7Cj4gPiAgICAgICBjYXNlIEk5 MTVfUE1VX0FDVFVBTF9GUkVRVUVOQ1k6Cj4gPiArICAgICBjYXNlIEk5MTVfUE1VX0FDVFVBTF9D TE9DSzoKPiA+ICAgICAgICAgICAgICAgaWYgKElTX1ZBTExFWVZJRVcoaTkxNSkgfHwgSVNfQ0hF UlJZVklFVyhpOTE1KSkKPiA+ICAgICAgICAgICAgICAgICAgICAgICAvKiBSZXF1aXJlcyBhIG11 dGV4IGZvciBzYW1wbGluZyEgKi8KPiA+ICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gLUVO T0RFVjsKPiA+ICAgICAgICAgICAgICAgLyogRmFsbC10aHJvdWdoLiAqLwo+ID4gICAgICAgY2Fz ZSBJOTE1X1BNVV9SRVFVRVNURURfRlJFUVVFTkNZOgo+ID4gKyAgICAgY2FzZSBJOTE1X1BNVV9S RVFVRVNURURfQ0xPQ0s6Cj4gPiAgICAgICAgICAgICAgIGlmIChJTlRFTF9HRU4oaTkxNSkgPCA2 KQo+ID4gICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAtRU5PREVWOwo+ID4gICAgICAgICAg ICAgICBicmVhazsKPiA+IEBAIC01MjYsNiArNTQ0LDEyIEBAIHN0YXRpYyB1NjQgX19pOTE1X3Bt dV9ldmVudF9yZWFkKHN0cnVjdCBwZXJmX2V2ZW50ICpldmVudCkKPiA+ICAgICAgICAgICAgICAg ICAgICAgICAgICBkaXZfdTY0KGk5MTUtPnBtdS5zYW1wbGVbX19JOTE1X1NBTVBMRV9GUkVRX1JF UV0uY3VyLAo+ID4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRlJFUVVFTkNZKTsK PiA+ICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKPiA+ICsgICAgICAgICAgICAgY2FzZSBJ OTE1X1BNVV9BQ1RVQUxfQ0xPQ0s6Cj4gPiArICAgICAgICAgICAgICAgICAgICAgdmFsID0gaTkx NS0+cG11LnNhbXBsZVtfX0k5MTVfU0FNUExFX0NMT0NLX0FDVF0uY3VyOwo+ID4gKyAgICAgICAg ICAgICAgICAgICAgIGJyZWFrOwo+ID4gKyAgICAgICAgICAgICBjYXNlIEk5MTVfUE1VX1JFUVVF U1RFRF9DTE9DSzoKPiA+ICsgICAgICAgICAgICAgICAgICAgICB2YWwgPSBpOTE1LT5wbXUuc2Ft cGxlW19fSTkxNV9TQU1QTEVfQ0xPQ0tfUkVRXS5jdXI7Cj4gPiArICAgICAgICAgICAgICAgICAg ICAgYnJlYWs7Cj4gPiAgICAgICAgICAgICAgIGNhc2UgSTkxNV9QTVVfSU5URVJSVVBUUzoKPiA+ ICAgICAgICAgICAgICAgICAgICAgICB2YWwgPSBjb3VudF9pbnRlcnJ1cHRzKGk5MTUpOwo+ID4g ICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwo+ID4gQEAgLTgwMyw2ICs4MjcsOCBAQCBjcmVh dGVfZXZlbnRfYXR0cmlidXRlcyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSkKPiA+ICAg ICAgICAgICAgICAgX19ldmVudChJOTE1X1BNVV9SRVFVRVNURURfRlJFUVVFTkNZLCAicmVxdWVz dGVkLWZyZXF1ZW5jeSIsICJNSHoiKSwKPiA+ICAgICAgICAgICAgICAgX19ldmVudChJOTE1X1BN VV9JTlRFUlJVUFRTLCAiaW50ZXJydXB0cyIsIE5VTEwpLAo+ID4gICAgICAgICAgICAgICBfX2V2 ZW50KEk5MTVfUE1VX1JDNl9SRVNJREVOQ1ksICJyYzYtcmVzaWRlbmN5IiwgIm5zIiksCj4gPiAr ICAgICAgICAgICAgIF9fZXZlbnQoSTkxNV9QTVVfQUNUVUFMX0NMT0NLLCAiYWN0dWFsLWNsb2Nr IiwgIk1jeWNsZXMiKSwKPiA+ICsgICAgICAgICAgICAgX19ldmVudChJOTE1X1BNVV9SRVFVRVNU RURfQ0xPQ0ssICJyZXF1ZXN0ZWQtY2xvY2siLCAiTWN5Y2xlcyIpLAo+ID4gICAgICAgfTsKPiA+ ICAgICAgIHN0YXRpYyBjb25zdCBzdHJ1Y3Qgewo+ID4gICAgICAgICAgICAgICBlbnVtIGRybV9p OTE1X3BtdV9lbmdpbmVfc2FtcGxlIHNhbXBsZTsKPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pOTE1X3BtdS5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9wbXUuaAo+ ID4gaW5kZXggMmJhNzM1Mjk5ZjdjLi45YzQyNTJkODViNWUgMTAwNjQ0Cj4gPiAtLS0gYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3BtdS5oCj4gPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pOTE1X3BtdS5oCj4gPiBAQCAtMTcsNiArMTcsOCBAQCBzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0 ZTsKPiA+ICAgZW51bSB7Cj4gPiAgICAgICBfX0k5MTVfU0FNUExFX0ZSRVFfQUNUID0gMCwKPiA+ ICAgICAgIF9fSTkxNV9TQU1QTEVfRlJFUV9SRVEsCj4gPiArICAgICBfX0k5MTVfU0FNUExFX0NM T0NLX0FDVCwKPiA+ICsgICAgIF9fSTkxNV9TQU1QTEVfQ0xPQ0tfUkVRLAo+ID4gICAgICAgX19J OTE1X1NBTVBMRV9SQzYsCj4gPiAgICAgICBfX0k5MTVfU0FNUExFX1JDNl9FU1RJTUFURUQsCj4g PiAgICAgICBfX0k5MTVfTlVNX1BNVV9TQU1QTEVSUwo+ID4gQEAgLTUyLDYgKzU0LDEwIEBAIHN0 cnVjdCBpOTE1X3BtdSB7Cj4gPiAgICAgICAgKiBAdGltZXI6IFRpbWVyIGZvciBpbnRlcm5hbCBp OTE1IFBNVSBzYW1wbGluZy4KPiA+ICAgICAgICAqLwo+ID4gICAgICAgc3RydWN0IGhydGltZXIg dGltZXI7Cj4gPiArICAgICAvKioKPiA+ICsgICAgICAqIEB0aW1lc3RhbXA6IFRpbWVzdGFtcCBv ZiBsYXN0IGludGVybmFsIGk5MTUgUE1VIHNhbXBsaW5nLgo+ID4gKyAgICAgICovCj4gPiArICAg ICBrdGltZV90IHRpbWVzdGFtcDsKPiA+ICAgICAgIC8qKgo+ID4gICAgICAgICogQGVuYWJsZTog Qml0bWFzayBvZiBhbGwgY3VycmVudGx5IGVuYWJsZWQgZXZlbnRzLgo+ID4gICAgICAgICoKPiA+ IGRpZmYgLS1naXQgYS9pbmNsdWRlL3VhcGkvZHJtL2k5MTVfZHJtLmggYi9pbmNsdWRlL3VhcGkv ZHJtL2k5MTVfZHJtLmgKPiA+IGluZGV4IDdmNTYzNGNlOGU4OC4uNjFhYjcxOTg2Mjc0IDEwMDY0 NAo+ID4gLS0tIGEvaW5jbHVkZS91YXBpL2RybS9pOTE1X2RybS5oCj4gPiArKysgYi9pbmNsdWRl L3VhcGkvZHJtL2k5MTVfZHJtLmgKPiA+IEBAIC0xMzksNiArMTM5LDggQEAgZW51bSBkcm1faTkx NV9wbXVfZW5naW5lX3NhbXBsZSB7Cj4gPiAgICNkZWZpbmUgSTkxNV9QTVVfUkVRVUVTVEVEX0ZS RVFVRU5DWSAgICAgICAgX19JOTE1X1BNVV9PVEhFUigxKQo+ID4gICAjZGVmaW5lIEk5MTVfUE1V X0lOVEVSUlVQVFMgICAgICAgICBfX0k5MTVfUE1VX09USEVSKDIpCj4gPiAgICNkZWZpbmUgSTkx NV9QTVVfUkM2X1JFU0lERU5DWSAgICAgICAgICAgICAgX19JOTE1X1BNVV9PVEhFUigzKQo+ID4g KyNkZWZpbmUgSTkxNV9QTVVfQUNUVUFMX0NMT0NLICAgICAgICAgICAgICAgIF9fSTkxNV9QTVVf T1RIRVIoNCkKPiA+ICsjZGVmaW5lIEk5MTVfUE1VX1JFUVVFU1RFRF9DTE9DSyAgICAgX19JOTE1 X1BNVV9PVEhFUig1KQo+ID4gICAKPiA+ICAgI2RlZmluZSBJOTE1X1BNVV9MQVNUIEk5MTVfUE1V X1JDNl9SRVNJREVOQ1kKPiAKPiBCdW1wIHRoaXMgb25lLgo+IAo+IEkgd2FudCB0byBrbm93IGlm IHdlIGNvdWxkIGdldCBhd2F5IHdpdGhvdXQgaW50cm9kdWNpbmcgYSBuZXcgcGFpciBvZiAKPiBj b3VudGVyLgoKSSB3b3VsZG4ndCBtaW5kIGhhdmluZyBteSBjeWNsZSBjb3VudGVycyBiYWNrIGlu IHRoZSBhcGkgOykKVGhleSBqdXN0IHNlZW0gdG8gYmUgZWFzaWVyIGZvciBtZSB0byB3b3JrIHdp dGggaW4gdXNlcnNwYWNlLgoKT3IgZG8geW91IG1lYW4gaWYgd2UgY2FuIGp1c3QgcmVkZWZpbmUg dGhlIGV4aXN0aW5nIHNhbXBsZXI/Cgo+IEZvciBpbnN0YW5jZSB3b3VsZCBydW5uaW5nIGF2ZXJh Z2Ugb2YgYSBwZXJpb2QgZG8gZm9yIGZyZXF1ZW5jeSAKPiByZWFkb3V0PyBJdCBkZXBlbmRzIG9u IHdoYXQga2luZCBvZiBlcnJvciB3ZSBhcmUgZmFjaW5nLiBPciBhIG1vdmluZyAKPiBhdmVyYWdl IGZvciBzb21lIHBlcmlvZD8gSSB3b3VsZCBleHBsb3JlIHRoYXQgYnV0IGRvbid0IGhhdmUgYW4g Cj4gSXZ5YnJpZGdlIHNvIGNvdWxkIHlvdSBoYXZlIGEgbG9vaz8KClRoZSBjcnVjaWFsIHBhcnQg aXMgdGhhdCB3ZSBkb24ndCBkZWZpbmUgdGhlIHBlcmlvZCwgdGhlIHVzZXIgZG9lcy4KCkhlaCwg b25jZSBhZ2FpbiB3ZSBoYXZlIHR3byBkaWZmZXJlbnQgaWRlYXMgYWJvdXQgd2hhdCB3ZSB3YW50 IHRvCm1lYXN1cmUgOikgSSdsZCB0YWtlIGN5Y2xlcywgd2l0aCB5b3VyIHN1Z2dlc3Rpb24gd2Ug bWF5IGFzIHdlbGwgZG8KaW5zdGFudGFuZW91cyBmcmVxdWVuY3kgYW5kIHNhbXBsZSBmcm9tIHdp dGhpbiBwZXJmX2V2ZW50X3JlYWQgKG5vCmF2ZXJhZ2luZywgb3IganVzdCBhIHNob3J0IGV3bWEp PwotQ2hyaXMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K SW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0 dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==