From mboxrd@z Thu Jan 1 00:00:00 1970 From: Mika Kuoppala Subject: Re: [PATCH 2/2] drm/i915: Filter out spurious execlists context-switch interrupts Date: Fri, 20 Oct 2017 16:59:44 +0300 Message-ID: <87inf9hqcv.fsf@gaia.fi.intel.com> References: <20171020095950.25714-1-chris@chris-wilson.co.uk> <20171020095950.25714-2-chris@chris-wilson.co.uk> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by gabe.freedesktop.org (Postfix) with ESMTPS id 435E86EC43 for ; Fri, 20 Oct 2017 13:59:57 +0000 (UTC) In-Reply-To: <20171020095950.25714-2-chris@chris-wilson.co.uk> 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 List-Id: intel-gfx@lists.freedesktop.org Q2hyaXMgV2lsc29uIDxjaHJpc0BjaHJpcy13aWxzb24uY28udWs+IHdyaXRlczoKCj4gQmFjayBp biBjb21taXQgYTRiMmIwMTUyM2E4ICgiZHJtL2k5MTU6IERvbid0IG1hcmsgYW4gZXhlY2xpc3Rz Cj4gY29udGV4dC1zd2l0Y2ggd2hlbiBpZGxlIikgd2Ugbm90aWNlZCB0aGUgcHJlc2VuY2Ugb2Yg bGF0ZQo+IGNvbnRleHQtc3dpdGNoIGludGVycnVwdHMuIFdlIHdlcmUgYWJsZSB0byBmaWx0ZXIg dGhvc2Ugb3V0IGJ5IGxvb2tpbmcKPiBhdCB3aGV0aGVyIHRoZSBFTFNQIHJlbWFpbmVkIGFjdGl2 ZSwgYnV0IGluIGNvbW1pdCBiZWVjZWM5MDE3OTAKPiAoImRybS9pOTE1L2V4ZWNsaXN0czogUHJl ZW1wdGlvbiEiKSB0aGF0IGJlY2FtZSBwcm9ibGVtYXRpYyBhcyB3ZSBub3cKPiBhbnRpY2lwYXRl IHJlY2VpdmluZyBhIGNvbnRleHQtc3dpdGNoIGV2ZW50IGZvciBwcmVlbXB0aW9uIHdoaWxlIEVM U1AKPiBtYXkgYmUgZW1wdHkuIFRvIHJlc3RvcmUgdGhlIHNwdXJpb3VzIGludGVycnVwdCBzdXBw cmVzc2lvbiwgYWRkIGEKPiBjb3VudGVyIGZvciB0aGUgZXhwZWN0ZWQgbnVtYmVyIG9mIHBlbmRp bmcgY29udGV4dC1zd2l0Y2hlcyBhbmQgc2tpcCBpZgo+IHdlIGRvIG5vdCBuZWVkIHRvIGhhbmRs ZSB0aGlzIGludGVycnVwdCB0byBtYWtlIGZvcndhcmQgcHJvZ3Jlc3MuCj4KPiBGaXhlczogYmVl Y2VjOTAxNzkwICgiZHJtL2k5MTUvZXhlY2xpc3RzOiBQcmVlbXB0aW9uISIpCj4gU2lnbmVkLW9m Zi1ieTogQ2hyaXMgV2lsc29uIDxjaHJpc0BjaHJpcy13aWxzb24uY28udWs+Cj4gQ2M6IE1pY2hh bCBXaW5pYXJza2kgPG1pY2hhbC53aW5pYXJza2lAaW50ZWwuY29tPgo+IENjOiBUdnJ0a28gVXJz dWxpbiA8dHZydGtvLnVyc3VsaW5AaW50ZWwuY29tPgo+IENjOiBBcmthZGl1c3ogSGlsZXIgPGFy a2FkaXVzei5oaWxlckBpbnRlbC5jb20+Cj4gQ2M6IE1pa2EgS3VvcHBhbGEgPG1pa2Eua3VvcHBh bGFAaW50ZWwuY29tPgo+IENjOiBKb29uYXMgTGFodGluZW4gPGpvb25hcy5sYWh0aW5lbkBsaW51 eC5pbnRlbC5jb20+Cj4gLS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ3VjX3N1Ym1p c3Npb24uYyB8IDExICsrKysrKy0tLS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfaXJx LmMgICAgICAgICAgICB8ICA2ICsrKystLQo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9l bmdpbmVfY3MuYyAgICAgfCAgNSArKystLQo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9s cmMuYyAgICAgICAgICAgfCAyMSArKysrKysrKysrKysrKysrKy0tLS0KPiAgZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfcmluZ2J1ZmZlci5oICAgIHwgIDcgKysrKysrKwo+ICA1IGZpbGVzIGNo YW5nZWQsIDM3IGluc2VydGlvbnMoKyksIDEzIGRlbGV0aW9ucygtKQo+Cj4gZGlmZiAtLWdpdCBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ3VjX3N1Ym1pc3Npb24uYyBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfZ3VjX3N1Ym1pc3Npb24uYwo+IGluZGV4IGEyZTgxMTRiNzM5ZC4uYzIy ZDBhMDc0NjdjIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ3VjX3N1 Ym1pc3Npb24uYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ3VjX3N1Ym1pc3Np b24uYwo+IEBAIC01NTAsMTEgKzU1MCw5IEBAIHN0YXRpYyB2b2lkIHBvcnRfYXNzaWduKHN0cnVj dCBleGVjbGlzdF9wb3J0ICpwb3J0LAo+ICAJCQlzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3Qg KnJxKQo+ICB7Cj4gIAlHRU1fQlVHX09OKHJxID09IHBvcnRfcmVxdWVzdChwb3J0KSk7Cj4gKwlH RU1fQlVHX09OKHBvcnRfaXNzZXQocG9ydCkpOwo+ICAKPiAtCWlmIChwb3J0X2lzc2V0KHBvcnQp KQo+IC0JCWk5MTVfZ2VtX3JlcXVlc3RfcHV0KHBvcnRfcmVxdWVzdChwb3J0KSk7Cj4gLQo+IC0J cG9ydF9zZXQocG9ydCwgcG9ydF9wYWNrKGk5MTVfZ2VtX3JlcXVlc3RfZ2V0KHJxKSwgcG9ydF9j b3VudChwb3J0KSkpOwo+ICsJcG9ydF9zZXQocG9ydCwgaTkxNV9nZW1fcmVxdWVzdF9nZXQocnEp KTsKCk5vIGxpdGUgcmVzdG9yZSB3aXRoIGd1YyBzbyB3ZSBjYW4gbWFrZSB0aGlzIG1vcmUgc3Ry aWN0IGFuZCBsZWFuPwoKPiAgCW5lc3RlZF9lbmFibGVfc2lnbmFsaW5nKHJxKTsKPiAgfQo+ICAK PiBAQCAtNTg2LDggKzU4NCwxMCBAQCBzdGF0aWMgdm9pZCBpOTE1X2d1Y19kZXF1ZXVlKHN0cnVj dCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSkKPiAgCQkJCQlnb3RvIGRvbmU7Cj4gIAkJCQl9Cj4g IAo+IC0JCQkJaWYgKHN1Ym1pdCkKPiArCQkJCWlmIChzdWJtaXQpIHsKPiAgCQkJCQlwb3J0X2Fz c2lnbihwb3J0LCBsYXN0KTsKPiArCQkJCQlleGVjbGlzdHMtPmFjdGl2ZSsrOwo+ICsJCQkJfQo+ ICAJCQkJcG9ydCsrOwo+ICAJCQl9Cj4gIAo+IEBAIC02MTAsNiArNjEwLDcgQEAgc3RhdGljIHZv aWQgaTkxNV9ndWNfZGVxdWV1ZShzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUpCj4gIAll eGVjbGlzdHMtPmZpcnN0ID0gcmI7Cj4gIAlpZiAoc3VibWl0KSB7Cj4gIAkJcG9ydF9hc3NpZ24o cG9ydCwgbGFzdCk7Cj4gKwkJZXhlY2xpc3RzLT5hY3RpdmUrKzsKPiAgCQlpOTE1X2d1Y19zdWJt aXQoZW5naW5lKTsKPiAgCX0KPiAgCXNwaW5fdW5sb2NrX2lycSgmZW5naW5lLT50aW1lbGluZS0+ bG9jayk7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfaXJxLmMgYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2lycS5jCj4gaW5kZXggYjEyOTZhNTVjMWU0Li5mODIw NTg0MTg2OGIgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9pcnEuYwo+ ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfaXJxLmMKPiBAQCAtMTM4OCw4ICsxMzg4 LDEwIEBAIGdlbjhfY3NfaXJxX2hhbmRsZXIoc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5l LCB1MzIgaWlyLCBpbnQgdGVzdF9zaGlmdCkKPiAgCWJvb2wgdGFza2xldCA9IGZhbHNlOwo+ICAK PiAgCWlmIChpaXIgJiAoR1RfQ09OVEVYVF9TV0lUQ0hfSU5URVJSVVBUIDw8IHRlc3Rfc2hpZnQp KSB7Cj4gLQkJX19zZXRfYml0KEVOR0lORV9JUlFfRVhFQ0xJU1QsICZlbmdpbmUtPmlycV9wb3N0 ZWQpOwo+IC0JCXRhc2tsZXQgPSB0cnVlOwo+ICsJCWlmIChSRUFEX09OQ0UoZW5naW5lLT5leGVj bGlzdHMuYWN0aXZlKSkgewo+ICsJCQlfX3NldF9iaXQoRU5HSU5FX0lSUV9FWEVDTElTVCwgJmVu Z2luZS0+aXJxX3Bvc3RlZCk7Cj4gKwkJCXRhc2tsZXQgPSB0cnVlOwo+ICsJCX0KPiAgCX0KPiAg Cj4gIAlpZiAoaWlyICYgKEdUX1JFTkRFUl9VU0VSX0lOVEVSUlVQVCA8PCB0ZXN0X3NoaWZ0KSkg ewo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9lbmdpbmVfY3MuYyBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2VuZ2luZV9jcy5jCj4gaW5kZXggYTQ3YTljNmJl YTUyLi44YWVjYmMzMjE3ODYgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfZW5naW5lX2NzLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9lbmdpbmVf Y3MuYwo+IEBAIC0xNTQ4LDggKzE1NDgsOCBAQCBib29sIGludGVsX2VuZ2luZV9pc19pZGxlKHN0 cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSkKPiAgCWlmICh0ZXN0X2JpdChFTkdJTkVfSVJR X0VYRUNMSVNULCAmZW5naW5lLT5pcnFfcG9zdGVkKSkKPiAgCQlyZXR1cm4gZmFsc2U7Cj4gIAo+ IC0JLyogQm90aCBwb3J0cyBkcmFpbmVkLCBubyBtb3JlIEVMU1Agc3VibWlzc2lvbj8gKi8KPiAt CWlmIChwb3J0X3JlcXVlc3QoJmVuZ2luZS0+ZXhlY2xpc3RzLnBvcnRbMF0pKQo+ICsJLyogV2Fp dGluZyB0byBkcmFpbiBFTFNQPyAqLwo+ICsJaWYgKFJFQURfT05DRShlbmdpbmUtPmV4ZWNsaXN0 cy5hY3RpdmUpKQo+ICAJCXJldHVybiBmYWxzZTsKPgoKSXQgd291bGQgbm90IG1ha2Ugc2Vuc2Ug bm93IHRvIGtlZXAgdGhlIHBvcnRbMF0gY2hlY2sgYnV0CndlIGNvdWxkIGdldCBtb3JlIGZpbmUg Z3JhaW5lZCBkZWJ1Z2dpbmcgaW5mbyBpZiB3ZSBrZWVwCml0PwoKLU1pa2EKCj4gIAkvKiBFTFNQ IGlzIGVtcHR5LCBidXQgdGhlcmUgYXJlIHJlYWR5IHJlcXVlc3RzPyAqLwo+IEBAIC0xNzQ5LDYg KzE3NDksNyBAQCB2b2lkIGludGVsX2VuZ2luZV9kdW1wKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3Mg KmVuZ2luZSwgc3RydWN0IGRybV9wcmludGVyICptKQo+ICAJCQkJCSAgIGlkeCk7Cj4gIAkJCX0K PiAgCQl9Cj4gKwkJZHJtX3ByaW50ZihtLCAiXHRcdEVMU1AgYWN0aXZlICVkXG4iLCBleGVjbGlz dHMtPmFjdGl2ZSk7Cj4gIAkJcmN1X3JlYWRfdW5sb2NrKCk7Cj4gIAl9IGVsc2UgaWYgKElOVEVM X0dFTihkZXZfcHJpdikgPiA2KSB7Cj4gIAkJZHJtX3ByaW50ZihtLCAiXHRQUF9ESVJfQkFTRTog MHglMDh4XG4iLAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9scmMu YyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5jCj4gaW5kZXggN2Y0NWRkN2RjM2U1 Li44YTQ3YjgyMTFjNzQgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf bHJjLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9scmMuYwo+IEBAIC00ODIs MTUgKzQ4MiwyMyBAQCBzdGF0aWMgYm9vbCBjYW5fbWVyZ2VfY3R4KGNvbnN0IHN0cnVjdCBpOTE1 X2dlbV9jb250ZXh0ICpwcmV2LAo+ICAJcmV0dXJuIHRydWU7Cj4gIH0KPiAgCj4gLXN0YXRpYyB2 b2lkIHBvcnRfYXNzaWduKHN0cnVjdCBleGVjbGlzdF9wb3J0ICpwb3J0LAo+ICtzdGF0aWMgYm9v bCBwb3J0X2Fzc2lnbihzdHJ1Y3QgZXhlY2xpc3RfcG9ydCAqcG9ydCwKPiAgCQkJc3RydWN0IGRy bV9pOTE1X2dlbV9yZXF1ZXN0ICpycSkKPiAgewo+ICsJYm9vbCB3YXNfaWRsZTsKPiArCj4gIAlH RU1fQlVHX09OKHJxID09IHBvcnRfcmVxdWVzdChwb3J0KSk7Cj4gIAo+IC0JaWYgKHBvcnRfaXNz ZXQocG9ydCkpCj4gKwlpZiAocG9ydF9pc3NldChwb3J0KSkgewo+ICAJCWk5MTVfZ2VtX3JlcXVl c3RfcHV0KHBvcnRfcmVxdWVzdChwb3J0KSk7Cj4gKwkJd2FzX2lkbGUgPSBmYWxzZTsKPiArCX0g ZWxzZSB7Cj4gKwkJd2FzX2lkbGUgPSB0cnVlOwo+ICsJfQo+ICAKPiAgCXBvcnRfc2V0KHBvcnQs IHBvcnRfcGFjayhpOTE1X2dlbV9yZXF1ZXN0X2dldChycSksIHBvcnRfY291bnQocG9ydCkpKTsK PiArCj4gKwlyZXR1cm4gd2FzX2lkbGU7Cj4gIH0KPiAgCj4gIHN0YXRpYyB2b2lkIGluamVjdF9w cmVlbXB0X2NvbnRleHQoc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lKQo+IEBAIC02NTcs NyArNjY1LDcgQEAgc3RhdGljIHZvaWQgZXhlY2xpc3RzX2RlcXVldWUoc3RydWN0IGludGVsX2Vu Z2luZV9jcyAqZW5naW5lKQo+ICAJCQkJR0VNX0JVR19PTihsYXN0LT5jdHggPT0gcnEtPmN0eCk7 Cj4gIAo+ICAJCQkJaWYgKHN1Ym1pdCkKPiAtCQkJCQlwb3J0X2Fzc2lnbihwb3J0LCBsYXN0KTsK PiArCQkJCQlleGVjbGlzdHMtPmFjdGl2ZSArPSBwb3J0X2Fzc2lnbihwb3J0LCBsYXN0KTsKPiAg CQkJCXBvcnQrKzsKPiAgCj4gIAkJCQlHRU1fQlVHX09OKHBvcnRfaXNzZXQocG9ydCkpOwo+IEBA IC02NzksNyArNjg3LDcgQEAgc3RhdGljIHZvaWQgZXhlY2xpc3RzX2RlcXVldWUoc3RydWN0IGlu dGVsX2VuZ2luZV9jcyAqZW5naW5lKQo+ICBkb25lOgo+ICAJZXhlY2xpc3RzLT5maXJzdCA9IHJi Owo+ICAJaWYgKHN1Ym1pdCkKPiAtCQlwb3J0X2Fzc2lnbihwb3J0LCBsYXN0KTsKPiArCQlleGVj bGlzdHMtPmFjdGl2ZSArPSBwb3J0X2Fzc2lnbihwb3J0LCBsYXN0KTsKPiAgdW5sb2NrOgo+ICAJ c3Bpbl91bmxvY2tfaXJxKCZlbmdpbmUtPnRpbWVsaW5lLT5sb2NrKTsKPiAgCj4gQEAgLTY5Niwx MCArNzA0LDEyIEBAIGV4ZWNsaXN0X2NhbmNlbF9wb3J0X3JlcXVlc3RzKHN0cnVjdCBpbnRlbF9l bmdpbmVfZXhlY2xpc3RzICpleGVjbGlzdHMpCj4gIAl3aGlsZSAobnVtX3BvcnRzLS0gJiYgcG9y dF9pc3NldChwb3J0KSkgewo+ICAJCXN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCAqcnEgPSBw b3J0X3JlcXVlc3QocG9ydCk7Cj4gIAo+ICsJCUdFTV9CVUdfT04oIWV4ZWNsaXN0cy0+YWN0aXZl KTsKPiAgCQlleGVjbGlzdHNfY29udGV4dF9zdGF0dXNfY2hhbmdlKHJxLCBJTlRFTF9DT05URVhU X1NDSEVEVUxFX1BSRUVNUFRFRCk7Cj4gIAkJaTkxNV9nZW1fcmVxdWVzdF9wdXQocnEpOwo+ICAK PiAgCQltZW1zZXQocG9ydCwgMCwgc2l6ZW9mKCpwb3J0KSk7Cj4gKwkJZXhlY2xpc3RzLT5hY3Rp dmUtLTsKPiAgCQlwb3J0Kys7Cj4gIAl9Cj4gIH0KPiBAQCAtODYzLDYgKzg3Myw4IEBAIHN0YXRp YyB2b2lkIGludGVsX2xyY19pcnFfaGFuZGxlcih1bnNpZ25lZCBsb25nIGRhdGEpCj4gIAo+ICAJ CQkJR0VNX0JVR19PTighZXhlY2xpc3RzLT5wcmVlbXB0KTsKPiAgCQkJCWV4ZWNsaXN0cy0+cHJl ZW1wdCA9IGZhbHNlOwo+ICsJCQkJZXhlY2xpc3RzLT5hY3RpdmUtLTsKPiArCQkJCUdFTV9CVUdf T04oZXhlY2xpc3RzLT5hY3RpdmUpOwo+ICAJCQkJY29udGludWU7Cj4gIAkJCX0KPiAgCj4gQEAg LTE0NjEsNiArMTQ3Myw3IEBAIHN0YXRpYyBpbnQgZ2VuOF9pbml0X2NvbW1vbl9yaW5nKHN0cnVj dCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSkKPiAgCWNsZWFyX2JpdChFTkdJTkVfSVJRX0VYRUNM SVNULCAmZW5naW5lLT5pcnFfcG9zdGVkKTsKPiAgCWV4ZWNsaXN0cy0+Y3NiX2hlYWQgPSAtMTsK PiAgCWV4ZWNsaXN0cy0+cHJlZW1wdCA9IGZhbHNlOwo+ICsJZXhlY2xpc3RzLT5hY3RpdmUgPSAw Owo+ICAKPiAgCS8qIEFmdGVyIGEgR1BVIHJlc2V0LCB3ZSBtYXkgaGF2ZSByZXF1ZXN0cyB0byBy ZXBsYXkgKi8KPiAgCWlmICghaTkxNV9tb2RwYXJhbXMuZW5hYmxlX2d1Y19zdWJtaXNzaW9uICYm IGV4ZWNsaXN0cy0+Zmlyc3QpCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX3JpbmdidWZmZXIuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3JpbmdidWZmZXIu aAo+IGluZGV4IDE3MTg2ZjA2NzQwOC4uNTg4ZjVmZTlkMmI3IDEwMDY0NAo+IC0tLSBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX3JpbmdidWZmZXIuaAo+ICsrKyBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX3JpbmdidWZmZXIuaAo+IEBAIC0yNDUsNiArMjQ1LDExIEBAIHN0cnVjdCBp bnRlbF9lbmdpbmVfZXhlY2xpc3RzIHsKPiAgCSAqLwo+ICAJYm9vbCBwcmVlbXB0Owo+ICAKPiAr CS8qKgo+ICsJICogQGFjdGl2ZTogY291bnQgb2YgdGhlIG51bWJlciBvZiBvdXRzdGFuZGluZyBD U0IgZXZlbnRzCj4gKwkgKi8KPiArCXVuc2lnbmVkIGludCBhY3RpdmU7Cj4gKwo+ICAJLyoqCj4g IAkgKiBAcG9ydF9tYXNrOiBudW1iZXIgb2YgZXhlY2xpc3QgcG9ydHMgLSAxCj4gIAkgKi8KPiBA QCAtNTM4LDkgKzU0MywxMSBAQCBleGVjbGlzdHNfcG9ydF9jb21wbGV0ZShzdHJ1Y3QgaW50ZWxf ZW5naW5lX2V4ZWNsaXN0cyAqIGNvbnN0IGV4ZWNsaXN0cywKPiAgCWNvbnN0IHVuc2lnbmVkIGlu dCBtID0gZXhlY2xpc3RzLT5wb3J0X21hc2s7Cj4gIAo+ICAJR0VNX0JVR19PTihwb3J0X2luZGV4 KHBvcnQsIGV4ZWNsaXN0cykgIT0gMCk7Cj4gKwlHRU1fQlVHX09OKCFleGVjbGlzdHMtPmFjdGl2 ZSk7Cj4gIAo+ICAJbWVtbW92ZShwb3J0LCBwb3J0ICsgMSwgbSAqIHNpemVvZihzdHJ1Y3QgZXhl Y2xpc3RfcG9ydCkpOwo+ICAJbWVtc2V0KHBvcnQgKyBtLCAwLCBzaXplb2Yoc3RydWN0IGV4ZWNs aXN0X3BvcnQpKTsKPiArCWV4ZWNsaXN0cy0+YWN0aXZlLS07Cj4gIH0KPiAgCj4gIHN0YXRpYyBp bmxpbmUgdW5zaWduZWQgaW50Cj4gLS0gCj4gMi4xNS4wLnJjMQo+Cj4gX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KPiBJbnRlbC1nZnggbWFpbGluZyBsaXN0 Cj4gSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwo+IGh0dHBzOi8vbGlzdHMuZnJlZWRl c2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cl9fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwt Z2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9t YWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=