From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniele Ceraolo Spurio Subject: Re: [PATCH v1] drm/i915/gen11: Preempt-to-idle support in execlists. Date: Fri, 30 Mar 2018 11:23:15 -0700 Message-ID: <5581c977-566e-b679-9602-814ee0390f7d@intel.com> References: <1522163879-10837-1-git-send-email-tomasz.lis@intel.com> <152219323026.10679.15841903313103368914@mail.alporthouse.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by gabe.freedesktop.org (Postfix) with ESMTPS id 1C58D6E0CF for ; Fri, 30 Mar 2018 18:23:16 +0000 (UTC) In-Reply-To: <152219323026.10679.15841903313103368914@mail.alporthouse.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: Chris Wilson , Tomasz Lis , intel-gfx@lists.freedesktop.org Cc: mika.kuoppala@intel.com List-Id: intel-gfx@lists.freedesktop.org CgpPbiAyNy8wMy8xOCAxNjoyNywgQ2hyaXMgV2lsc29uIHdyb3RlOgo+IFF1b3RpbmcgVG9tYXN6 IExpcyAoMjAxOC0wMy0yNyAxNjoxNzo1OSkKPj4gVGhlIHBhdGNoIGFkZHMgc3VwcG9ydCBvZiBw cmVlbXB0LXRvLWlkbGUgcmVxdWVzdGluZyBieSBzZXR0aW5nIGEgcHJvcGVyCj4+IGJpdCB3aXRo aW4gRXhlY2xpc3QgQ29udHJvbCBSZWdpc3RlciwgYW5kIHJlY2VpdmluZyBwcmVlbXB0aW9uIHJl c3VsdCBmcm9tCj4+IENvbnRleHQgU3RhdHVzIEJ1ZmZlci4KPj4KPj4gUHJlZW1wdGlvbiBpbiBw cmV2aW91cyBnZW5zIHJlcXVpcmVkIGEgc3BlY2lhbCBiYXRjaCBidWZmZXIgdG8gYmUgZXhlY3V0 ZWQsCj4+IHNvIHRoZSBDb21tYW5kIFN0cmVhbWVyIG5ldmVyIHByZWVtcHRlZCB0byBpZGxlIGRp cmVjdGx5LiBJbiBJY2VsYWtlIGl0IGlzCj4+IHBvc3NpYmxlLCBhcyB0aGVyZSBpcyBhIGhhcmR3 YXJlIG1lY2hhbmlzbSB0byBpbmZvcm0gdGhlIGtlcm5lbCBhYm91dAo+PiBzdGF0dXMgb2YgdGhl IHByZWVtcHRpb24gcmVxdWVzdC4KPj4KPj4gVGhpcyBwYXRjaCBkb2VzIG5vdCBjb3ZlciB1c2lu ZyB0aGUgbmV3IHByZWVtcHRpb24gbWVjaGFuaXNtIHdoZW4gR3VDIGlzCj4+IGFjdGl2ZS4KPj4K Pj4gQnNwZWM6IDE4OTIyCj4+IFNpZ25lZC1vZmYtYnk6IFRvbWFzeiBMaXMgPHRvbWFzei5saXNA aW50ZWwuY29tPgo+PiAtLS0KPj4gICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oICAg ICAgICAgIHwgIDIgKysKPj4gICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3BjaS5jICAgICAg ICAgIHwgIDMgKystCj4+ICAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGV2aWNlX2luZm8u aCB8ICAxICsKPj4gICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9scmMuYyAgICAgICAgIHwg NDUgKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0KPj4gICBkcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9scmMuaCAgICAgICAgIHwgIDEgKwo+PiAgIDUgZmlsZXMgY2hhbmdlZCwgNDUg aW5zZXJ0aW9ucygrKSwgNyBkZWxldGlvbnMoLSkKPj4KPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2k5MTVfZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5o Cj4+IGluZGV4IDgwMDIzMGIuLmMzMjU4MGIgMTAwNjQ0Cj4+IC0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfZHJ2LmgKPj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYu aAo+PiBAQCAtMjUxNCw2ICsyNTE0LDggQEAgaW50ZWxfaW5mbyhjb25zdCBzdHJ1Y3QgZHJtX2k5 MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCj4+ICAgICAgICAgICAgICAgICAgKChkZXZfcHJpdiktPmlu Zm8uaGFzX2xvZ2ljYWxfcmluZ19lbHNxKQo+PiAgICNkZWZpbmUgSEFTX0xPR0lDQUxfUklOR19Q UkVFTVBUSU9OKGRldl9wcml2KSBcCj4+ICAgICAgICAgICAgICAgICAgKChkZXZfcHJpdiktPmlu Zm8uaGFzX2xvZ2ljYWxfcmluZ19wcmVlbXB0aW9uKQo+PiArI2RlZmluZSBIQVNfSFdfUFJFRU1Q VF9UT19JRExFKGRldl9wcml2KSBcCj4+ICsgICAgICAgICAgICAgICAoKGRldl9wcml2KS0+aW5m by5oYXNfaHdfcHJlZW1wdF90b19pZGxlKQo+PiAgIAo+PiAgICNkZWZpbmUgSEFTX0VYRUNMSVNU UyhkZXZfcHJpdikgSEFTX0xPR0lDQUxfUklOR19DT05URVhUUyhkZXZfcHJpdikKPj4gICAKPj4g ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcGNpLmMgYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pOTE1X3BjaS5jCj4+IGluZGV4IDQzNjQ5MjIuLjY2YjY3MDAgMTAwNjQ0Cj4+ IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcGNpLmMKPj4gKysrIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvaTkxNV9wY2kuYwo+PiBAQCAtNTk1LDcgKzU5NSw4IEBAIHN0YXRpYyBjb25z dCBzdHJ1Y3QgaW50ZWxfZGV2aWNlX2luZm8gaW50ZWxfY2Fubm9ubGFrZV9pbmZvID0gewo+PiAg ICAgICAgICBHRU4oMTEpLCBcCj4+ICAgICAgICAgIC5kZGJfc2l6ZSA9IDIwNDgsIFwKPj4gICAg ICAgICAgLmhhc19jc3IgPSAwLCBcCj4+IC0gICAgICAgLmhhc19sb2dpY2FsX3JpbmdfZWxzcSA9 IDEKPj4gKyAgICAgICAuaGFzX2xvZ2ljYWxfcmluZ19lbHNxID0gMSwgXAo+PiArICAgICAgIC5o YXNfaHdfcHJlZW1wdF90b19pZGxlID0gMQo+PiAgIAo+PiAgIHN0YXRpYyBjb25zdCBzdHJ1Y3Qg aW50ZWxfZGV2aWNlX2luZm8gaW50ZWxfaWNlbGFrZV8xMV9pbmZvID0gewo+PiAgICAgICAgICBH RU4xMV9GRUFUVVJFUywKPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2RldmljZV9pbmZvLmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kZXZpY2VfaW5mby5o Cj4+IGluZGV4IDkzM2UzMTYuLjRlYjk3YjUgMTAwNjQ0Cj4+IC0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2RldmljZV9pbmZvLmgKPj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfZGV2aWNlX2luZm8uaAo+PiBAQCAtOTgsNiArOTgsNyBAQCBlbnVtIGludGVsX3BsYXRm b3JtIHsKPj4gICAgICAgICAgZnVuYyhoYXNfbG9naWNhbF9yaW5nX2NvbnRleHRzKTsgXAo+PiAg ICAgICAgICBmdW5jKGhhc19sb2dpY2FsX3JpbmdfZWxzcSk7IFwKPj4gICAgICAgICAgZnVuYyho YXNfbG9naWNhbF9yaW5nX3ByZWVtcHRpb24pOyBcCj4+ICsgICAgICAgZnVuYyhoYXNfaHdfcHJl ZW1wdF90b19pZGxlKTsgXAo+PiAgICAgICAgICBmdW5jKGhhc19vdmVybGF5KTsgXAo+PiAgICAg ICAgICBmdW5jKGhhc19wb29sZWRfZXUpOyBcCj4+ICAgICAgICAgIGZ1bmMoaGFzX3Bzcik7IFwK Pj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5jIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmMKPj4gaW5kZXggYmE3Zjc4My4uMWEyMmRlNCAxMDA2 NDQKPj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmMKPj4gKysrIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmMKPj4gQEAgLTE1Myw2ICsxNTMsNyBAQAo+PiAg ICNkZWZpbmUgR0VOOF9DVFhfU1RBVFVTX0FDVElWRV9JRExFICAgICgxIDw8IDMpCj4+ICAgI2Rl ZmluZSBHRU44X0NUWF9TVEFUVVNfQ09NUExFVEUgICAgICAgKDEgPDwgNCkKPj4gICAjZGVmaW5l IEdFTjhfQ1RYX1NUQVRVU19MSVRFX1JFU1RPUkUgICAoMSA8PCAxNSkKPj4gKyNkZWZpbmUgR0VO MTFfQ1RYX1NUQVRVU19QUkVFTVBUX0lETEUgICgxIDw8IDI5KQo+PiAgIAo+PiAgICNkZWZpbmUg R0VOOF9DVFhfU1RBVFVTX0NPTVBMRVRFRF9NQVNLIFwKPj4gICAgICAgICAgIChHRU44X0NUWF9T VEFUVVNfQ09NUExFVEUgfCBHRU44X0NUWF9TVEFUVVNfUFJFRU1QVEVEKQo+PiBAQCAtMTgzLDcg KzE4NCw5IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBuZWVkX3ByZWVtcHQoY29uc3Qgc3RydWN0IGlu dGVsX2VuZ2luZV9jcyAqZW5naW5lLAo+PiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBjb25zdCBzdHJ1Y3QgaTkxNV9yZXF1ZXN0ICpsYXN0LAo+PiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBpbnQgcHJpbykKPj4gICB7Cj4+IC0gICAgICAgcmV0dXJuIGVuZ2luZS0+ aTkxNS0+cHJlZW1wdF9jb250ZXh0ICYmIHByaW8gPiBtYXgocnFfcHJpbyhsYXN0KSwgMCk7Cj4+ ICsgICAgICAgcmV0dXJuIChlbmdpbmUtPmk5MTUtPnByZWVtcHRfY29udGV4dCB8fAo+PiArICAg ICAgICAgICAgICAgSEFTX0hXX1BSRUVNUFRfVE9fSURMRShlbmdpbmUtPmk5MTUpKSAmJgo+IAo+ IFdlbGwsIHlvdSBoYXZlbid0IGFjdHVhbGx5IGRpc2FibGVkIGFsbG9jYXRpbmcgdGhlIHByZWVt cHRfY29udGV4dCBzby4uLgo+IAo+IEJ1dCBhdCBhbnkgcmF0ZSwgbWFraW5nIHRoaXMgYW4gZW5n aW5lLT5mbGFnIHdvdWxkIGVsaW1pbmF0ZSBvbmUgcG9pbnRlcgo+IGRhbmNlLgo+IAoKQ2FuJ3Qg d2UgcmUtdXNlIEk5MTVfU0NIRURVTEVSX0NBUF9QUkVFTVBUSU9OIGluIAplbmdpbmUtPmk5MTUt PmNhcHMuc2NoZWR1bGVyPyBUaGF0IGJ0dyBsaWtlIGhlcmUgdG8gYmUgc2V0IGlmIAppOTE1LT5w cmVlbXB0X2NvbnRleHQgfHwgSEFTX0hXX1BSRUVNUFRfVE9fSURMRShpOTE1KQoKPj4gKyAgICAg ICAgICAgICAgICBwcmlvID4gbWF4KHJxX3ByaW8obGFzdCksIDApOwo+PiAgIH0KPj4gICAKPj4g ICAvKioKPj4gQEAgLTUzNSw2ICs1MzgsMjUgQEAgc3RhdGljIHZvaWQgaW5qZWN0X3ByZWVtcHRf Y29udGV4dChzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUpCj4+ICAgICAgICAgIGV4ZWNs aXN0c19zZXRfYWN0aXZlKCZlbmdpbmUtPmV4ZWNsaXN0cywgRVhFQ0xJU1RTX0FDVElWRV9QUkVF TVBUKTsKPj4gICB9Cj4+ICAgCj4+ICtzdGF0aWMgdm9pZCBnZW4xMV9wcmVlbXB0X3RvX2lkbGUo c3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lKQo+PiArewo+PiArICAgICAgIHN0cnVjdCBp bnRlbF9lbmdpbmVfZXhlY2xpc3RzICpleGVjbGlzdHMgPSAmZW5naW5lLT5leGVjbGlzdHM7Cj4+ ICsKPj4gKyAgICAgICBHRU1fVFJBQ0UoIiVzXG4iLCBlbmdpbmUtPm5hbWUpOwo+PiArCj4+ICsg ICAgICAgLyoKPj4gKyAgICAgICAgKiBoYXJkd2FyZSB3aGljaCBIQVNfSFdfUFJFRU1QVF9UT19J RExFKCksIGFsd2F5cyBhbHNvCj4+ICsgICAgICAgICogSEFTX0xPR0lDQUxfUklOR19FTFNRKCks IHNvIHdlIGNhbiBhc3N1bWUgY3RybF9yZWcgaXMgc2V0Cj4+ICsgICAgICAgICovCj4+ICsgICAg ICAgR0VNX0JVR19PTihleGVjbGlzdHMtPmN0cmxfcmVnICE9IE5VTEwpOwoKU2hvdWxkbid0IHRo aXMgY2hlY2sgYmUgdGhlIG90aGVyIHdheSBhcm91bmQ/Cgo+PiArCj4+ICsgICAgICAgLyogdHJp Z2dlciBwcmVlbXB0aW9uIHRvIGlkbGUgKi8KPj4gKyAgICAgICB3cml0ZWwoRUxfQ1RSTF9QUkVF TVBUX1RPX0lETEUsIGV4ZWNsaXN0cy0+Y3RybF9yZWcpOwo+IAo+IEZ1dHVyZSBwbGFucz8gQmVj YXVzZSBqdXN0IGluc2VydGluZyB0aGUgYnJhbmNoIGludG8gdGhlIHNldHRlciBvZgo+IGluamVj dF9wcmVlbXB0X2NvbnRleHQoKSByZXNvbHZlcyBhIGxvdCBvZiBjb25mbGljdHMgd2l0aCBvdGhl ciB3b3JrLgo+IAo+PiBAQCAtOTYyLDEwICs5ODcsMTMgQEAgc3RhdGljIHZvaWQgZXhlY2xpc3Rz X3N1Ym1pc3Npb25fdGFza2xldCh1bnNpZ25lZCBsb25nIGRhdGEpCj4+ICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgc3RhdHVzLCBidWZbMipoZWFkICsgMV0sCj4+ICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgZXhlY2xpc3RzLT5hY3RpdmUpOwo+PiAgIAo+PiAt ICAgICAgICAgICAgICAgICAgICAgICBpZiAoc3RhdHVzICYgKEdFTjhfQ1RYX1NUQVRVU19JRExF X0FDVElWRSB8Cj4+IC0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR0VOOF9D VFhfU1RBVFVTX1BSRUVNUFRFRCkpCj4+ICsgICAgICAgICAgICAgICAgICAgICAgIC8qIENoZWNr IGlmIHN3aXRjaGVkIHRvIGFjdGl2ZSBvciBwcmVlbXB0ZWQgdG8gYWN0aXZlICovCj4+ICsgICAg ICAgICAgICAgICAgICAgICAgIGlmICgoc3RhdHVzICYgKEdFTjhfQ1RYX1NUQVRVU19JRExFX0FD VElWRSB8Cj4+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHRU44X0NU WF9TVEFUVVNfUFJFRU1QVEVEKSkgJiYKPj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICEo c3RhdHVzICYgR0VOMTFfQ1RYX1NUQVRVU19QUkVFTVBUX0lETEUpKQo+IAo+IFNldHRpbmcgSFdB Q0sgaGVyZSBpcyBoYXJtbGVzcyBhcyBpdCBnZXRzIGNsZWFyZWQgYWdhaW4uIFVubGVzcywgdGhl cmUKPiBpcyBzb21lIG9kZGl0eSBpbiB0aGUgY29kZSBmbG93LgoKVGhlcmUgaXMgYWN0dWFsbHkg c29tZSBvZGRpdHksIGJ1dCBpdCBpcyBtb3JlIG9uIHRoZSBIVyBzaWRlLiBBIHByZWVtcHQgCnRv IGlkbGUgY2FuIHBvdGVudGlhbGx5IGxhbmQgb24gYW4gYWxyZWFkeSBpZGxlIEhXLCBpbiB3aGlj aCBjYXNlIApHRU44X0NUWF9TVEFUVVNfQUNUSVZFX0lETEUgaXMgbm90IHNldCBhbmQgR0VOOF9D VFhfU1RBVFVTX0lETEVfQUNUSVZFIAppcyBzZXQgaW5zdGVhZC4gSW4gdGhpcyBjYXNlIHdpdGhv dXQgdGhpcyBjaGVjayBvbiAKR0VOMTFfQ1RYX1NUQVRVU19QUkVFTVBUX0lETEUgd2Ugd291bGQg c2V0IHRoZSBIV0FDSyBoZXJlIGJ1dCB3ZSAKd291bGRuJ3QgY2FsbCB0aGUgY2xlYXIgYmVsb3cu IE5vdCBzdXJlIGlmIHdlIGVuZCB1cCBjbGVhcmluZyB0aGUgZmxhZyAKZWxzZXdoZXJlLCBidXQg dGhhdCBkb2Vzbid0IGxvb2sgdG9vIG5pY2UgSU1ITy4KCkJUVywgdGhlIHJlbGV2YW50IENTQiBi aXRzIGNvbWluZyBvdXQgaW4gdGhlIDIgcHJlZW1wdCB0byBpZGxlIGNhc2VzIGFyZSAKYXMgZm9s bG93czoKCnByZWVtcHQgYWN0aXZlIEhXOgpHRU4xMV9DVFhfU1RBVFVTX1BSRUVNUFRfSURMRSB8 IEdFTjhfQ1RYX1NUQVRVU19BQ1RJVkVfSURMRSB8IApHRU44X0NUWF9TVEFUVVNfUFJFRU1QVEVE CgpQcmVlbXB0IGlkbGUgSFc6CkdFTjExX0NUWF9TVEFUVVNfUFJFRU1QVF9JRExFIHwgR0VOOF9D VFhfU1RBVFVTX0lETEVfQUNUSVZFCgpEYW5pZWxlCgo+IAo+PiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBleGVjbGlzdHNfc2V0X2FjdGl2ZShleGVjbGlzdHMsCj4+ICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVYRUNMSVNUU19B Q1RJVkVfSFdBQ0spOwo+PiArCj4+ICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoc3RhdHVz ICYgR0VOOF9DVFhfU1RBVFVTX0FDVElWRV9JRExFKQo+PiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBleGVjbGlzdHNfY2xlYXJfYWN0aXZlKGV4ZWNsaXN0cywKPj4gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFWEVDTElTVFNf QUNUSVZFX0hXQUNLKTsKPj4gQEAgLTk3Niw4ICsxMDA0LDEzIEBAIHN0YXRpYyB2b2lkIGV4ZWNs aXN0c19zdWJtaXNzaW9uX3Rhc2tsZXQodW5zaWduZWQgbG9uZyBkYXRhKQo+PiAgICAgICAgICAg ICAgICAgICAgICAgICAgLyogV2Ugc2hvdWxkIG5ldmVyIGdldCBhIENPTVBMRVRFRCB8IElETEVf QUNUSVZFISAqLwo+PiAgICAgICAgICAgICAgICAgICAgICAgICAgR0VNX0JVR19PTihzdGF0dXMg JiBHRU44X0NUWF9TVEFUVVNfSURMRV9BQ1RJVkUpOwo+PiAgIAo+PiAtICAgICAgICAgICAgICAg ICAgICAgICBpZiAoc3RhdHVzICYgR0VOOF9DVFhfU1RBVFVTX0NPTVBMRVRFICYmCj4+IC0gICAg ICAgICAgICAgICAgICAgICAgICAgICBidWZbMipoZWFkICsgMV0gPT0gZXhlY2xpc3RzLT5wcmVl bXB0X2NvbXBsZXRlX3N0YXR1cykgewo+PiArICAgICAgICAgICAgICAgICAgICAgICAvKgo+PiAr ICAgICAgICAgICAgICAgICAgICAgICAgKiBDaGVjayBpZiBwcmVlbXB0ZWQgdG8gcmVhbCBpZGxl LCBlaXRoZXIgZGlyZWN0bHkgb3IKPj4gKyAgICAgICAgICAgICAgICAgICAgICAgICogdGhlIHBy ZWVtcHRpdmUgY29udGV4dCBhbHJlYWR5IGZpbmlzaGVkIGV4ZWN1dGluZwo+PiArICAgICAgICAg ICAgICAgICAgICAgICAgKi8KPj4gKyAgICAgICAgICAgICAgICAgICAgICAgaWYgKChzdGF0dXMg JiBHRU4xMV9DVFhfU1RBVFVTX1BSRUVNUFRfSURMRSkgfHwKPj4gKyAgICAgICAgICAgICAgICAg ICAgICAgICAgIChzdGF0dXMgJiBHRU44X0NUWF9TVEFUVVNfQ09NUExFVEUgJiYKPj4gKyAgICAg ICAgICAgICAgICAgICAgICAgICAgIGJ1ZlsyKmhlYWQgKyAxXSA9PSBleGVjbGlzdHMtPnByZWVt cHRfY29tcGxldGVfc3RhdHVzKSkgewo+PiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBHRU1fVFJBQ0UoIiVzIHByZWVtcHQtaWRsZVxuIiwgZW5naW5lLT5uYW1lKTsKPiAKPiBIbW0u IEkgd2FzIGhvcGluZyB0aGF0IHdlIHdvdWxkIGJlIGFibGUgdG8gZW5naW5lZXIgYSBzaW5nbGUg Y2hlY2sgdG8KPiBjb3ZlciBhbGwgc2lucy4gTWlnaHQgaGF2ZSBiZWVuIG92ZXJseSBvcHRpbWlz dGljLCBidXQgSSBjYW4gZHJlYW0uCj4gLUNocmlzCj4gX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX18KPiBJbnRlbC1nZnggbWFpbGluZyBsaXN0Cj4gSW50ZWwt Z2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwo+IGh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3Jn L21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cj4gCl9fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxp c3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFu L2xpc3RpbmZvL2ludGVsLWdmeAo=