From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chris Wilson Subject: Re: [PATCH 3/9] drm/i915/gt: Unlock engine-pm after queuing the kernel context switch Date: Wed, 20 Nov 2019 12:44:25 +0000 Message-ID: <157425386497.13839.7732900200634257701@skylake-alporthouse-com> References: <20191120093302.3723715-1-chris@chris-wilson.co.uk> <20191120093302.3723715-3-chris@chris-wilson.co.uk> <157425165727.13839.12483018227008886642@skylake-alporthouse-com> 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 DAAC66E512 for ; Wed, 20 Nov 2019 12:44:29 +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 UXVvdGluZyBUdnJ0a28gVXJzdWxpbiAoMjAxOS0xMS0yMCAxMjo0MDoxMykKPiAKPiBPbiAyMC8x MS8yMDE5IDEyOjA3LCBDaHJpcyBXaWxzb24gd3JvdGU6Cj4gPiBRdW90aW5nIFR2cnRrbyBVcnN1 bGluICgyMDE5LTExLTIwIDExOjU4OjI3KQo+ID4+Cj4gPj4gT24gMjAvMTEvMjAxOSAwOTozMiwg Q2hyaXMgV2lsc29uIHdyb3RlOgo+ID4+PiBJbiBjb21taXQgYTc5Y2E2NTZiNjQ4ICgiZHJtL2k5 MTU6IFB1c2ggdGhlIHdha2VyZWYtPmNvdW50IGRlZmVycmFsIHRvCj4gPj4+IHRoZSBiYWNrZW5k IiksIEkgZXJyb25lb3VzbHkgY29uY2x1ZGVkIHRoYXQgd2UgbGFzdCBtb2RpZnkgdGhlIGVuZ2lu ZQo+ID4+PiBpbnNpZGUgX19pOTE1X3JlcXVlc3RfY29tbWl0KCkgbWVhbmluZyB0aGF0IHdlIGNv dWxkIGVuYWJsZSBjb25jdXJyZW50Cj4gPj4+IHN1Ym1pc3Npb24gZm9yIHVzZXJzcGFjZSBhcyB3 ZSBlbnF1ZXVlZCB0aGlzIHJlcXVlc3QuIEhvd2V2ZXIsIHRoaXMKPiA+Pj4gZmFsbHMgaW50byBh IHRyYXAgd2l0aCBvdGhlciB1c2VycyBvZiB0aGUgZW5naW5lLT5rZXJuZWxfY29udGV4dCB3YWtp bmcKPiA+Pj4gdXAgYW5kIHN1Ym1pdHRpbmcgdGhlaXIgcmVxdWVzdCBiZWZvcmUgdGhlIGlkbGUt c3dpdGNoIGlzIHF1ZXVlZCwgd2l0aAo+ID4+PiB0aGUgcmVzdWx0IHRoYXQgdGhlIGtlcm5lbF9j b250ZXh0IGlzIGV4ZWN1dGVkIG91dC1vZi1zZXF1ZW5jZSBtb3N0Cj4gPj4+IGxpa2VseSB1cHNl dHRpbmcgdGhlIEdQVSBhbmQgY2VydGFpbmx5IG91cnNlbHZlcyB3aGVuIHdlIHRyeSB0byByZXRp cmUKPiA+Pj4gdGhlIG91dC1vZi1zZXF1ZW5jZSByZXF1ZXN0cy4KPiA+Pj4KPiA+Pj4gQXMgc3Vj aCB3ZSBuZWVkIHRvIGhvbGQgb250byB0aGUgZWZmZWN0aXZlIGVuZ2luZS0+a2VybmVsX2NvbnRl eHQgbXV0ZXgKPiA+Pj4gbG9jayAodmlhIHRoZSBlbmdpbmUgcG0gbXV0ZXggcHJveHkpIHVudGls IHdlIGhhdmUgZmluaXNoIHF1ZXVpbmcgdGhlCj4gPj4+IHJlcXVlc3QgdG8gdGhlIGVuZ2luZS4K PiA+Pj4KPiA+Pj4gdjI6IFNlcmlhbGlzZSBhZ2FpbnN0IGNvbmN1cnJlbnQgaW50ZWxfZ3RfcmV0 aXJlX3JlcXVlc3RzKCkKPiA+Pj4gdjM6IERlc2NyaWJlIHRoZSBoYWlyeSBsb2NraW5nIHNjaGVt ZSB3aXRoIGludGVsX2d0X3JldGlyZV9yZXF1ZXN0cygpCj4gPj4+IGZvciBmdXR1cmUgcmVmZXJl bmNlLgo+ID4+PiB2NDogQ29tYmluZSB0aW1lbGluZS0+bG9jayBhbmQgZW5naW5lIHBtIHJlbGVh c2U7IGl0J3MgaGFpcnkuCj4gPj4+Cj4gPj4+IEZpeGVzOiBhNzljYTY1NmI2NDggKCJkcm0vaTkx NTogUHVzaCB0aGUgd2FrZXJlZi0+Y291bnQgZGVmZXJyYWwgdG8gdGhlIGJhY2tlbmQiKQo+ID4+ PiBTaWduZWQtb2ZmLWJ5OiBDaHJpcyBXaWxzb24gPGNocmlzQGNocmlzLXdpbHNvbi5jby51az4K PiA+Pj4gQ2M6IE1pa2EgS3VvcHBhbGEgPG1pa2Eua3VvcHBhbGFAbGludXguaW50ZWwuY29tPgo+ ID4+PiBDYzogVHZydGtvIFVyc3VsaW4gPHR2cnRrby51cnN1bGluQGludGVsLmNvbT4KPiA+Pj4g LS0tCj4gPj4+ICAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX2VuZ2luZV9wbS5jIHwg NDcgKysrKysrKysrKysrKysrKysrKy0tLS0KPiA+Pj4gICAgMSBmaWxlIGNoYW5nZWQsIDQwIGlu c2VydGlvbnMoKyksIDcgZGVsZXRpb25zKC0pCj4gPj4+Cj4gPj4+IGRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9lbmdpbmVfcG0uYyBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2d0L2ludGVsX2VuZ2luZV9wbS5jCj4gPj4+IGluZGV4IDNjMGY0OTBmZjJjNy4uMWY1MTcz NTdhMjY4IDEwMDY0NAo+ID4+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9l bmdpbmVfcG0uYwo+ID4+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9lbmdp bmVfcG0uYwo+ID4+PiBAQCAtNzMsOCArNzMsMjUgQEAgc3RhdGljIGlubGluZSB2b2lkIF9fdGlt ZWxpbmVfbWFya191bmxvY2soc3RydWN0IGludGVsX2NvbnRleHQgKmNlLAo+ID4+PiAgICAKPiA+ Pj4gICAgI2VuZGlmIC8qICFJU19FTkFCTEVEKENPTkZJR19MT0NLREVQKSAqLwo+ID4+PiAgICAK PiA+Pj4gK3N0YXRpYyB2b2lkCj4gPj4+ICtfX2ludGVsX3RpbWVsaW5lX2VudGVyX2FuZF9wbV9y ZWxlYXNlKHN0cnVjdCBpbnRlbF90aW1lbGluZSAqdGwsCj4gPj4+ICsgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSkKPiA+Pj4g K3sKPiA+Pj4gKyAgICAgc3RydWN0IGludGVsX2d0X3RpbWVsaW5lcyAqdGltZWxpbmVzID0gJmVu Z2luZS0+Z3QtPnRpbWVsaW5lczsKPiA+Pj4gKwo+ID4+PiArICAgICBzcGluX2xvY2soJnRpbWVs aW5lcy0+bG9jayk7Cj4gPj4+ICsKPiA+Pj4gKyAgICAgaWYgKCFhdG9taWNfZmV0Y2hfaW5jKCZ0 bC0+YWN0aXZlX2NvdW50KSkKPiA+Pj4gKyAgICAgICAgICAgICBsaXN0X2FkZF90YWlsKCZ0bC0+ bGluaywgJnRpbWVsaW5lcy0+YWN0aXZlX2xpc3QpOwo+ID4+Cj4gPj4gSG1tIHdpdGggdGhlc2Ug bmV3IHBhcnQgaXQgbWF5YmUgbWF0Y2hlcy9hbnN3ZXJzIG15IHF1ZXN0aW9uIGZyb20KPiA+PiAi ZHJtL2k5MTUvZ3Q6IENsb3NlIHJhY2UgYmV0d2VlbiBlbmdpbmVfcGFyayBhbmQKPiA+PiBpbnRl bF9ndF9yZXRpcmVfcmVxdWVzdHMiLiBJIHRoaW5rIGF0IGxlYXN0LiBTaW5jZSBpdCBub3cgYWRk cyBhIHNlY29uZAo+ID4+IHBsYWNlIHRpbWVsaW5lIGNhbiBlbnRlciB0aGUgYWN0aXZlX2xpc3Qu Cj4gPj4KPiA+PiBCdXQgbm8sIHdoZXJlIGRvZXMgdGhlIGludGVsX3RpbWVsaW5lX2VudGVyIHJh Y2UgY29tZSBmcm9tPyBDYW4ndCBiZQo+ID4+IHVzZXJzcGFjZSBzdWJtaXNzaW9uIHNpbmNlIHRo ZXkgYXJlIGJsb2NrZWQgb24gd2YtPmxvY2suCj4gPiAKPiA+IFRoZSByYWNlIGlzIG5vdCBqdXN0 IHdpdGggaW50ZWxfdGltZWxpbmVfZW50ZXIsIGJ1dCB3aXRoCj4gPiBpbnRlbF9ndF9yZXRpcmVf cmVxdWVzdHMuCj4gPiAKPiA+IEFzIHNvb24gYXMgd2UgYXJlIG9uIHRoYXQgbGlzdCwgd2UgbWF5 IGJlIHJldGlyZWQuIElmIHdlIGFyZSByZXRpcmVkCj4gPiBiZWZvcmUgYWRqdXN0aW5nIHRoZSBl bmdpbmUtPndha2VyZWYuY291bnQsIHdlIGFyZSBiMHJrZWQuCj4gPiAKPiA+IEFzIHNvb24gYXMg d2UgYWRqdXN0IHRoZSBlbmdpbmUtPndha2VyZWYuY291bnQsIGFub3RoZXIgc3VibWlzc2lvbiBt YXkKPiA+IGNhbGwgaW50ZWxfdGltZWxpbmVfZW50ZXIsIGFuZCBhZ2FpbiBtYXkgZXZlbiByZXRp cmUgdGhpcyByZXF1ZXN0LiBUaGUKPiA+IGVudGVyIGl0c2VsZiBpcyBwZXJmZWN0bHkgZmluZSwg YnV0IHdlIG5lZWQgdG8gc2VyaWFsaXNlIGFnYWluc3QgdGhlCj4gPiByZXRpcmVzLgo+IAo+IEkg dGhpbmsgdGhlIHR3byBwYXRjaGVzIGNvbWJpbmVkIHdvcmssIEkgYW0ganVzdCBub3Qgc3VyZSB0 d28gCj4gYXRvbWljX2ZldGNoX2luYygpLT5saXN0X2FkZCgpIGFyZSBuZWVkZWQgbm93IHRoYXQg eW91IHJlLW9yZGVyZWQgCj4gX19pOTE1X3JlcXVlc3RzX3F1ZXVlIGFuZCBfX2ludGVsX3dha2Vy ZWZfZGVmZXJfcGFyayAtIHRoYXQncyB0aGUgcGFydCAKPiB3aGljaCBpcyBjb25mdXNpbmcgbWUu IEJ1dCBpdCBhbHNvIGRvZXNuJ3QgaGFybS4uLgoKSSB0cmllZCB0byBnZXQgYXdheSB3aXRoIG5v dCwgYnV0IHRoZSBzZWxmdGVzdHMgaGFtbWVyIHZlcnkgaGVhdmlseSBvbgp0aGUgZW5naW5lLT5r ZXJuZWxfY29udGV4dCBzbyB3ZSBkbyBlbmNvdW50ZXIgdGhlIHNjZW5hcmlvcyB3aGVyZSB3ZSBh cmUKdXNpbmcgdGhlIGtlcm5lbF9jb250ZXh0IHRvIHBhcmsgb24gb25lIGNwdSB3aGlsZSBzdWJt aXR0aW5nIGEgbmV3CnJlcXVlc3Qgb24gYW5vdGhlci4KCkkgd291bGQgaGF2ZSBnb3QgYXdheSB3 aXRoIGl0IGJ1dCBmb3IgdGhlc2UgcGVza3kgc2VsZnRlc3RzLgotQ2hyaXMKX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlz dApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0 b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4 From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-6.7 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS, URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id E8164C432C3 for ; Wed, 20 Nov 2019 12:44:31 +0000 (UTC) Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 8E1DD22520 for ; Wed, 20 Nov 2019 12:44:31 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 8E1DD22520 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=chris-wilson.co.uk Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=intel-gfx-bounces@lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 40F9D6E512; Wed, 20 Nov 2019 12:44:31 +0000 (UTC) Received: from fireflyinternet.com (mail.fireflyinternet.com [109.228.58.192]) by gabe.freedesktop.org (Postfix) with ESMTPS id DAAC66E512 for ; Wed, 20 Nov 2019 12:44:29 +0000 (UTC) X-Default-Received-SPF: pass (skip=forwardok (res=PASS)) x-ip-name=78.156.65.138; Received: from localhost (unverified [78.156.65.138]) by fireflyinternet.com (Firefly Internet (M1)) with ESMTP (TLS) id 19271535-1500050 for multiple; Wed, 20 Nov 2019 12:44:28 +0000 MIME-Version: 1.0 From: Chris Wilson User-Agent: alot/0.6 To: Tvrtko Ursulin , intel-gfx@lists.freedesktop.org References: <20191120093302.3723715-1-chris@chris-wilson.co.uk> <20191120093302.3723715-3-chris@chris-wilson.co.uk> <157425165727.13839.12483018227008886642@skylake-alporthouse-com> In-Reply-To: Message-ID: <157425386497.13839.7732900200634257701@skylake-alporthouse-com> Date: Wed, 20 Nov 2019 12:44:25 +0000 Subject: Re: [Intel-gfx] [PATCH 3/9] drm/i915/gt: Unlock engine-pm after queuing the kernel context switch X-BeenThere: intel-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Intel graphics driver community testing & development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" Message-ID: <20191120124425.XstII_4NsYHMdbIFOJvREcxFD0IQa8yfdG8mwu0S00Q@z> UXVvdGluZyBUdnJ0a28gVXJzdWxpbiAoMjAxOS0xMS0yMCAxMjo0MDoxMykKPiAKPiBPbiAyMC8x MS8yMDE5IDEyOjA3LCBDaHJpcyBXaWxzb24gd3JvdGU6Cj4gPiBRdW90aW5nIFR2cnRrbyBVcnN1 bGluICgyMDE5LTExLTIwIDExOjU4OjI3KQo+ID4+Cj4gPj4gT24gMjAvMTEvMjAxOSAwOTozMiwg Q2hyaXMgV2lsc29uIHdyb3RlOgo+ID4+PiBJbiBjb21taXQgYTc5Y2E2NTZiNjQ4ICgiZHJtL2k5 MTU6IFB1c2ggdGhlIHdha2VyZWYtPmNvdW50IGRlZmVycmFsIHRvCj4gPj4+IHRoZSBiYWNrZW5k IiksIEkgZXJyb25lb3VzbHkgY29uY2x1ZGVkIHRoYXQgd2UgbGFzdCBtb2RpZnkgdGhlIGVuZ2lu ZQo+ID4+PiBpbnNpZGUgX19pOTE1X3JlcXVlc3RfY29tbWl0KCkgbWVhbmluZyB0aGF0IHdlIGNv dWxkIGVuYWJsZSBjb25jdXJyZW50Cj4gPj4+IHN1Ym1pc3Npb24gZm9yIHVzZXJzcGFjZSBhcyB3 ZSBlbnF1ZXVlZCB0aGlzIHJlcXVlc3QuIEhvd2V2ZXIsIHRoaXMKPiA+Pj4gZmFsbHMgaW50byBh IHRyYXAgd2l0aCBvdGhlciB1c2VycyBvZiB0aGUgZW5naW5lLT5rZXJuZWxfY29udGV4dCB3YWtp bmcKPiA+Pj4gdXAgYW5kIHN1Ym1pdHRpbmcgdGhlaXIgcmVxdWVzdCBiZWZvcmUgdGhlIGlkbGUt c3dpdGNoIGlzIHF1ZXVlZCwgd2l0aAo+ID4+PiB0aGUgcmVzdWx0IHRoYXQgdGhlIGtlcm5lbF9j b250ZXh0IGlzIGV4ZWN1dGVkIG91dC1vZi1zZXF1ZW5jZSBtb3N0Cj4gPj4+IGxpa2VseSB1cHNl dHRpbmcgdGhlIEdQVSBhbmQgY2VydGFpbmx5IG91cnNlbHZlcyB3aGVuIHdlIHRyeSB0byByZXRp cmUKPiA+Pj4gdGhlIG91dC1vZi1zZXF1ZW5jZSByZXF1ZXN0cy4KPiA+Pj4KPiA+Pj4gQXMgc3Vj aCB3ZSBuZWVkIHRvIGhvbGQgb250byB0aGUgZWZmZWN0aXZlIGVuZ2luZS0+a2VybmVsX2NvbnRl eHQgbXV0ZXgKPiA+Pj4gbG9jayAodmlhIHRoZSBlbmdpbmUgcG0gbXV0ZXggcHJveHkpIHVudGls IHdlIGhhdmUgZmluaXNoIHF1ZXVpbmcgdGhlCj4gPj4+IHJlcXVlc3QgdG8gdGhlIGVuZ2luZS4K PiA+Pj4KPiA+Pj4gdjI6IFNlcmlhbGlzZSBhZ2FpbnN0IGNvbmN1cnJlbnQgaW50ZWxfZ3RfcmV0 aXJlX3JlcXVlc3RzKCkKPiA+Pj4gdjM6IERlc2NyaWJlIHRoZSBoYWlyeSBsb2NraW5nIHNjaGVt ZSB3aXRoIGludGVsX2d0X3JldGlyZV9yZXF1ZXN0cygpCj4gPj4+IGZvciBmdXR1cmUgcmVmZXJl bmNlLgo+ID4+PiB2NDogQ29tYmluZSB0aW1lbGluZS0+bG9jayBhbmQgZW5naW5lIHBtIHJlbGVh c2U7IGl0J3MgaGFpcnkuCj4gPj4+Cj4gPj4+IEZpeGVzOiBhNzljYTY1NmI2NDggKCJkcm0vaTkx NTogUHVzaCB0aGUgd2FrZXJlZi0+Y291bnQgZGVmZXJyYWwgdG8gdGhlIGJhY2tlbmQiKQo+ID4+ PiBTaWduZWQtb2ZmLWJ5OiBDaHJpcyBXaWxzb24gPGNocmlzQGNocmlzLXdpbHNvbi5jby51az4K PiA+Pj4gQ2M6IE1pa2EgS3VvcHBhbGEgPG1pa2Eua3VvcHBhbGFAbGludXguaW50ZWwuY29tPgo+ ID4+PiBDYzogVHZydGtvIFVyc3VsaW4gPHR2cnRrby51cnN1bGluQGludGVsLmNvbT4KPiA+Pj4g LS0tCj4gPj4+ICAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX2VuZ2luZV9wbS5jIHwg NDcgKysrKysrKysrKysrKysrKysrKy0tLS0KPiA+Pj4gICAgMSBmaWxlIGNoYW5nZWQsIDQwIGlu c2VydGlvbnMoKyksIDcgZGVsZXRpb25zKC0pCj4gPj4+Cj4gPj4+IGRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9lbmdpbmVfcG0uYyBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2d0L2ludGVsX2VuZ2luZV9wbS5jCj4gPj4+IGluZGV4IDNjMGY0OTBmZjJjNy4uMWY1MTcz NTdhMjY4IDEwMDY0NAo+ID4+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9l bmdpbmVfcG0uYwo+ID4+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9lbmdp bmVfcG0uYwo+ID4+PiBAQCAtNzMsOCArNzMsMjUgQEAgc3RhdGljIGlubGluZSB2b2lkIF9fdGlt ZWxpbmVfbWFya191bmxvY2soc3RydWN0IGludGVsX2NvbnRleHQgKmNlLAo+ID4+PiAgICAKPiA+ Pj4gICAgI2VuZGlmIC8qICFJU19FTkFCTEVEKENPTkZJR19MT0NLREVQKSAqLwo+ID4+PiAgICAK PiA+Pj4gK3N0YXRpYyB2b2lkCj4gPj4+ICtfX2ludGVsX3RpbWVsaW5lX2VudGVyX2FuZF9wbV9y ZWxlYXNlKHN0cnVjdCBpbnRlbF90aW1lbGluZSAqdGwsCj4gPj4+ICsgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSkKPiA+Pj4g K3sKPiA+Pj4gKyAgICAgc3RydWN0IGludGVsX2d0X3RpbWVsaW5lcyAqdGltZWxpbmVzID0gJmVu Z2luZS0+Z3QtPnRpbWVsaW5lczsKPiA+Pj4gKwo+ID4+PiArICAgICBzcGluX2xvY2soJnRpbWVs aW5lcy0+bG9jayk7Cj4gPj4+ICsKPiA+Pj4gKyAgICAgaWYgKCFhdG9taWNfZmV0Y2hfaW5jKCZ0 bC0+YWN0aXZlX2NvdW50KSkKPiA+Pj4gKyAgICAgICAgICAgICBsaXN0X2FkZF90YWlsKCZ0bC0+ bGluaywgJnRpbWVsaW5lcy0+YWN0aXZlX2xpc3QpOwo+ID4+Cj4gPj4gSG1tIHdpdGggdGhlc2Ug bmV3IHBhcnQgaXQgbWF5YmUgbWF0Y2hlcy9hbnN3ZXJzIG15IHF1ZXN0aW9uIGZyb20KPiA+PiAi ZHJtL2k5MTUvZ3Q6IENsb3NlIHJhY2UgYmV0d2VlbiBlbmdpbmVfcGFyayBhbmQKPiA+PiBpbnRl bF9ndF9yZXRpcmVfcmVxdWVzdHMiLiBJIHRoaW5rIGF0IGxlYXN0LiBTaW5jZSBpdCBub3cgYWRk cyBhIHNlY29uZAo+ID4+IHBsYWNlIHRpbWVsaW5lIGNhbiBlbnRlciB0aGUgYWN0aXZlX2xpc3Qu Cj4gPj4KPiA+PiBCdXQgbm8sIHdoZXJlIGRvZXMgdGhlIGludGVsX3RpbWVsaW5lX2VudGVyIHJh Y2UgY29tZSBmcm9tPyBDYW4ndCBiZQo+ID4+IHVzZXJzcGFjZSBzdWJtaXNzaW9uIHNpbmNlIHRo ZXkgYXJlIGJsb2NrZWQgb24gd2YtPmxvY2suCj4gPiAKPiA+IFRoZSByYWNlIGlzIG5vdCBqdXN0 IHdpdGggaW50ZWxfdGltZWxpbmVfZW50ZXIsIGJ1dCB3aXRoCj4gPiBpbnRlbF9ndF9yZXRpcmVf cmVxdWVzdHMuCj4gPiAKPiA+IEFzIHNvb24gYXMgd2UgYXJlIG9uIHRoYXQgbGlzdCwgd2UgbWF5 IGJlIHJldGlyZWQuIElmIHdlIGFyZSByZXRpcmVkCj4gPiBiZWZvcmUgYWRqdXN0aW5nIHRoZSBl bmdpbmUtPndha2VyZWYuY291bnQsIHdlIGFyZSBiMHJrZWQuCj4gPiAKPiA+IEFzIHNvb24gYXMg d2UgYWRqdXN0IHRoZSBlbmdpbmUtPndha2VyZWYuY291bnQsIGFub3RoZXIgc3VibWlzc2lvbiBt YXkKPiA+IGNhbGwgaW50ZWxfdGltZWxpbmVfZW50ZXIsIGFuZCBhZ2FpbiBtYXkgZXZlbiByZXRp cmUgdGhpcyByZXF1ZXN0LiBUaGUKPiA+IGVudGVyIGl0c2VsZiBpcyBwZXJmZWN0bHkgZmluZSwg YnV0IHdlIG5lZWQgdG8gc2VyaWFsaXNlIGFnYWluc3QgdGhlCj4gPiByZXRpcmVzLgo+IAo+IEkg dGhpbmsgdGhlIHR3byBwYXRjaGVzIGNvbWJpbmVkIHdvcmssIEkgYW0ganVzdCBub3Qgc3VyZSB0 d28gCj4gYXRvbWljX2ZldGNoX2luYygpLT5saXN0X2FkZCgpIGFyZSBuZWVkZWQgbm93IHRoYXQg eW91IHJlLW9yZGVyZWQgCj4gX19pOTE1X3JlcXVlc3RzX3F1ZXVlIGFuZCBfX2ludGVsX3dha2Vy ZWZfZGVmZXJfcGFyayAtIHRoYXQncyB0aGUgcGFydCAKPiB3aGljaCBpcyBjb25mdXNpbmcgbWUu IEJ1dCBpdCBhbHNvIGRvZXNuJ3QgaGFybS4uLgoKSSB0cmllZCB0byBnZXQgYXdheSB3aXRoIG5v dCwgYnV0IHRoZSBzZWxmdGVzdHMgaGFtbWVyIHZlcnkgaGVhdmlseSBvbgp0aGUgZW5naW5lLT5r ZXJuZWxfY29udGV4dCBzbyB3ZSBkbyBlbmNvdW50ZXIgdGhlIHNjZW5hcmlvcyB3aGVyZSB3ZSBh cmUKdXNpbmcgdGhlIGtlcm5lbF9jb250ZXh0IHRvIHBhcmsgb24gb25lIGNwdSB3aGlsZSBzdWJt aXR0aW5nIGEgbmV3CnJlcXVlc3Qgb24gYW5vdGhlci4KCkkgd291bGQgaGF2ZSBnb3QgYXdheSB3 aXRoIGl0IGJ1dCBmb3IgdGhlc2UgcGVza3kgc2VsZnRlc3RzLgotQ2hyaXMKX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlz dApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0 b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4