From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tvrtko Ursulin Subject: Re: [PATCH 07/27] drm/i915: Squash repeated awaits on the same fence Date: Wed, 26 Apr 2017 11:54:08 +0100 Message-ID: <3fdcfbc7-e404-498e-9e85-fa328f99ffc1@linux.intel.com> References: <20170419094143.16922-1-chris@chris-wilson.co.uk> <20170419094143.16922-8-chris@chris-wilson.co.uk> <97f49740-1fe4-7bd4-877f-396cc706e3b5@linux.intel.com> <20170426103846.GM11432@nuc-i3427.alporthouse.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by gabe.freedesktop.org (Postfix) with ESMTPS id 6519788FA6 for ; Wed, 26 Apr 2017 10:54:12 +0000 (UTC) In-Reply-To: <20170426103846.GM11432@nuc-i3427.alporthouse.com> 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 Ck9uIDI2LzA0LzIwMTcgMTE6MzgsIENocmlzIFdpbHNvbiB3cm90ZToKPiBPbiBXZWQsIEFwciAy NiwgMjAxNyBhdCAxMToyMDoxNkFNICswMTAwLCBUdnJ0a28gVXJzdWxpbiB3cm90ZToKPj4KPj4g T24gMTkvMDQvMjAxNyAxMDo0MSwgQ2hyaXMgV2lsc29uIHdyb3RlOgo+Pj4gVHJhY2sgdGhlIGxh dGVzdCBmZW5jZSB3YWl0ZWQgdXBvbiBvbiBlYWNoIGNvbnRleHQsIGFuZCBvbmx5IGFkZCBhIG5l dwo+Pj4gYXN5bmNocm9ub3VzIHdhaXQgaWYgdGhlIG5ldyBmZW5jZSBpcyBtb3JlIHJlY2VudCB0 aGFuIHRoZSByZWNvcmRlZAo+Pj4gZmVuY2UgZm9yIHRoYXQgY29udGV4dC4gVGhpcyByZXF1aXJl cyB1cyB0byBmaWx0ZXIgb3V0IHVub3JkZXJlZAo+Pj4gdGltZWxpbmVzLCB3aGljaCBhcmUgbm90 ZWQgYnkgRE1BX0ZFTkNFX05PX0NPTlRFWFQuIEhvd2V2ZXIsIGluIHRoZQo+Pj4gYWJzZW5jZSBv ZiBhIHVuaXZlcnNhbCBpZGVudGlmaWVyLCB3ZSBoYXZlIHRvIHVzZSBvdXIgb3duCj4+PiBpOTE1 LT5tbS51bm9yZGVyZWRfdGltZWxpbmUgdG9rZW4uCj4+Pgo+Pj4gdjI6IFRocm93IGFyb3VuZCB0 aGUgZGVidWcgY3J1dGNoZXMKPj4+IHYzOiBJbmxpbmUgdGhlIGxpa2VseSBjYXNlIG9mIHRoZSBw cmUtYWxsb2NhdGlvbiBjYWNoZSBiZWluZyBmdWxsLgo+Pj4gdjQ6IERyb3AgdGhlIHByZS1hbGxv Y2F0aW9uIHN1cHBvcnQsIHdlIGNhbiBsb3NlIHRoZSBtb3N0IHJlY2VudCBmZW5jZQo+Pj4gaW4g Y2FzZSBvZiBhbGxvY2F0aW9uIGZhaWx1cmUgLS0gaXQganVzdCBtZWFucyB3ZSBtYXkgZW1pdCBt b3JlIGF3YWl0cwo+Pj4gdGhhbiBzdHJpY3RseSBuZWNlc3NhcnkgYnV0IHdpbGwgbm90IGJyZWFr Lgo+Pj4gdjU6IFRyaW0gYWxsb2NhdGlvbiBzaXplIGZvciBsZWFmIG5vZGVzLCB0aGV5IG9ubHkg bmVlZCBhbiBhcnJheSBvZiB1MzIKPj4+IG5vdCBwb2ludGVycy4KPj4+Cj4+PiBTaWduZWQtb2Zm LWJ5OiBDaHJpcyBXaWxzb24gPGNocmlzQGNocmlzLXdpbHNvbi5jby51az4KPj4+IENjOiBUdnJ0 a28gVXJzdWxpbiA8dHZydGtvLnVyc3VsaW5AaW50ZWwuY29tPgo+Pj4gQ2M6IEpvb25hcyBMYWh0 aW5lbiA8am9vbmFzLmxhaHRpbmVuQGxpbnV4LmludGVsLmNvbT4KPj4+IC0tLQo+Pj4gZHJpdmVy cy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fcmVxdWVzdC5jICAgICAgICAgICAgfCAgNjcgKysrLS0t Cj4+PiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV90aW1lbGluZS5jICAgICAgICAgICB8 IDI2MCArKysrKysrKysrKysrKysrKysrKysKPj4+IGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVf Z2VtX3RpbWVsaW5lLmggICAgICAgICAgIHwgIDE0ICsrCj4+PiBkcml2ZXJzL2dwdS9kcm0vaTkx NS9zZWxmdGVzdHMvaTkxNV9nZW1fdGltZWxpbmUuYyB8IDEyMyArKysrKysrKysrCj4+PiAuLi4v Z3B1L2RybS9pOTE1L3NlbGZ0ZXN0cy9pOTE1X21vY2tfc2VsZnRlc3RzLmggICB8ICAgMSArCj4+ PiA1IGZpbGVzIGNoYW5nZWQsIDQzOCBpbnNlcnRpb25zKCspLCAyNyBkZWxldGlvbnMoLSkKPj4+ IGNyZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL2dwdS9kcm0vaTkxNS9zZWxmdGVzdHMvaTkxNV9n ZW1fdGltZWxpbmUuYwo+Pj4KPj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X2dlbV9yZXF1ZXN0LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9yZXF1ZXN0 LmMKPj4+IGluZGV4IDk3YzA3OTg2YjdjMS4uZmI2YzMxYmEzZWY5IDEwMDY0NAo+Pj4gLS0tIGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fcmVxdWVzdC5jCj4+PiArKysgYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9yZXF1ZXN0LmMKPj4+IEBAIC03MzAsOSArNzMwLDcgQEAg aW50Cj4+PiBpOTE1X2dlbV9yZXF1ZXN0X2F3YWl0X2RtYV9mZW5jZShzdHJ1Y3QgZHJtX2k5MTVf Z2VtX3JlcXVlc3QgKnJlcSwKPj4+IAkJCQkgc3RydWN0IGRtYV9mZW5jZSAqZmVuY2UpCj4+PiB7 Cj4+PiAtCXN0cnVjdCBkbWFfZmVuY2VfYXJyYXkgKmFycmF5Owo+Pj4gCWludCByZXQ7Cj4+PiAt CWludCBpOwo+Pj4KPj4+IAlpZiAodGVzdF9iaXQoRE1BX0ZFTkNFX0ZMQUdfU0lHTkFMRURfQklU LCAmZmVuY2UtPmZsYWdzKSkKPj4+IAkJcmV0dXJuIDA7Cj4+PiBAQCAtNzQ0LDM5ICs3NDIsNTQg QEAgaTkxNV9nZW1fcmVxdWVzdF9hd2FpdF9kbWFfZmVuY2Uoc3RydWN0IGRybV9pOTE1X2dlbV9y ZXF1ZXN0ICpyZXEsCj4+PiAJaWYgKGZlbmNlLT5jb250ZXh0ID09IHJlcS0+ZmVuY2UuY29udGV4 dCkKPj4+IAkJcmV0dXJuIDA7Cj4+Pgo+Pj4gLQlpZiAoZG1hX2ZlbmNlX2lzX2k5MTUoZmVuY2Up KQo+Pj4gLQkJcmV0dXJuIGk5MTVfZ2VtX3JlcXVlc3RfYXdhaXRfcmVxdWVzdChyZXEsIHRvX3Jl cXVlc3QoZmVuY2UpKTsKPj4+ICsJLyogU3F1YXNoIHJlcGVhdGVkIHdhaXRzIHRvIHRoZSBzYW1l IHRpbWVsaW5lcywgcGlja2luZyB0aGUgbGF0ZXN0ICovCj4+PiArCWlmIChmZW5jZS0+Y29udGV4 dCAhPSByZXEtPmk5MTUtPm1tLnVub3JkZXJlZF90aW1lbGluZSAmJgo+Pj4gKwkgICAgaW50ZWxf dGltZWxpbmVfc3luY19nZXQocmVxLT50aW1lbGluZSwKPj4+ICsJCQkJICAgIGZlbmNlLT5jb250 ZXh0LCBmZW5jZS0+c2Vxbm8pKQo+Pgo+PiBGdW5jdGlvbiBuYW1lIGlzIG5vbi1pbnR1aXRpdmUg dG8gbWUuIEl0IGRvZXNuJ3Qgc2VlbSB0byBnZXQKPj4gYW55dGhpbmcsIGJ1dCBpcyBtb3JlIGxp a2UgcXVlcnk/IFNpbmNlIGl0IGVuZHMgdXAgd2l0aAo+PiBpOTE1X3NlcW5vX3Bhc3NlZCwgbWF5 YmUgaW50ZWxfdGltZWxpbmVfc3luY19pc19uZXdlci9vbGRlciA/IChnaXZlCj4+IG9yIHRha2Up Cj4KPiBfZ2V0IHdhcyBjaG9vc2VuIGFzIHRoZSBwYXJ0bmVyIGZvciBfc2V0LCB3aGljaCBzZWVt ZWQgdG8gbWFrZSBzZW5zZS4KPiBLZWVwIGludGVsX3RpbWVsaW5lX3N5bmNfc2V0KCkgYW5kIHJl cGxhY2UgX2dldCB3aXRoCj4gaW50ZWxfdGltZWxpbmVfc3luY19wYXNzZWQoKSA/Cj4gaW50ZWxf dGltZWxpbmVfc3luY19pc19sYXRlcigpID8KCkJvdGggYXJlIGJldHRlciBpbiBteSBvcGluaW9u LiBfZ2V0IGp1c3QgbWFrZXMgaXQgc291bmRzIGxpa2UgaXQgaXMgCnJldHVybmluZyBzb21ldGhp bmcgZnJvbSB0aGUgb2JqZWN0LCB3aGljaCBpdCBpcyBub3QuIFNvIHdoaWNoZXZlciB5b3UgCnBy ZWZlci4KCj4+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fdGlt ZWxpbmUuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX3RpbWVsaW5lLmMKPj4+IGlu ZGV4IGI1OTZjYTdlZTA1OC4uZjJiNzM0ZGRhODk1IDEwMDY0NAo+Pj4gLS0tIGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvaTkxNV9nZW1fdGltZWxpbmUuYwo+Pj4gKysrIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV9nZW1fdGltZWxpbmUuYwo+Pj4gQEAgLTI0LDYgKzI0LDI1NCBAQAo+Pj4KPj4+ ICNpbmNsdWRlICJpOTE1X2Rydi5oIgo+Pj4KPj4+ICsjZGVmaW5lIE5TWU5DIDE2Cj4+PiArI2Rl ZmluZSBTSElGVCBpbG9nMihOU1lOQykKPj4+ICsjZGVmaW5lIE1BU0sgKE5TWU5DIC0gMSkKPj4+ ICsKPj4+ICsvKiBzdHJ1Y3QgaW50ZWxfdGltZWxpbmVfc3luYyBpcyBhIGxheWVyIG9mIGEgcmFk aXh0cmVlIHRoYXQgbWFwcyBhIHU2NCBmZW5jZQo+Pj4gKyAqIGNvbnRleHQgaWQgdG8gdGhlIGxh c3QgdTMyIGZlbmNlIHNlcW5vIHdhaXRlZCB1cG9uIGZyb20gdGhhdCBjb250ZXh0Lgo+Pj4gKyAq IFVubGlrZSBsaWIvcmFkaXh0cmVlIGl0IHVzZXMgYSBwYXJlbnQgcG9pbnRlciB0aGF0IGFsbG93 cyB0cmF2ZXJzYWwgYmFjayB0bwo+Pj4gKyAqIHRoZSByb290LiBUaGlzIGFsbG93cyB1cyB0byBh Y2Nlc3MgdGhlIHdob2xlIHRyZWUgdmlhIGEgc2luZ2xlIHBvaW50ZXIKPj4+ICsgKiB0byB0aGUg bW9zdCByZWNlbnRseSB1c2VkIGxheWVyLiBXZSBleHBlY3QgZmVuY2UgY29udGV4dHMgdG8gYmUg ZGVuc2UKPj4+ICsgKiBhbmQgbW9zdCByZXVzZSB0byBiZSBvbiB0aGUgc2FtZSBpOTE1X2dlbV9j b250ZXh0IGJ1dCBvbiBuZWlnaGJvdXJpbmcKPj4+ICsgKiBlbmdpbmVzIChpLmUuIG9uIGFkamFj ZW50IGNvbnRleHRzKSBhbmQgcmV1c2UgdGhlIHNhbWUgbGVhZiwgYSB2ZXJ5Cj4+PiArICogZWZm ZWN0aXZlIGxvb2t1cCBjYWNoZS4gSWYgdGhlIG5ldyBsb29rdXAgaXMgbm90IG9uIHRoZSBzYW1l IGxlYWYsIHdlCj4+PiArICogZXhwZWN0IGl0IHRvIGJlIG9uIHRoZSBuZWlnaGJvdXJpbmcgYnJh bmNoLgo+Pj4gKyAqCj4+PiArICogQSBsZWFmIGhvbGRzIGFuIGFycmF5IG9mIHUzMiBzZXFubywg YW5kIGhhcyBoZWlnaHQgMC4gVGhlIGJpdG1hcCBmaWVsZAo+Pj4gKyAqIGFsbG93cyB1cyB0byBz dG9yZSB3aGV0aGVyIGEgcGFydGljdWxhciBzZXFubyBpcyB2YWxpZCAoaS5lLiBhbGxvd3MgdXMK Pj4+ICsgKiB0byBkaXN0aW5ndWlzaCB1bnNldCBmcm9tIDApLgo+Pj4gKyAqCj4+PiArICogQSBi cmFuY2ggaG9sZHMgYW4gYXJyYXkgb2YgbGF5ZXIgcG9pbnRlcnMsIGFuZCBoYXMgaGVpZ2h0ID4g MCwgYW5kIGFsd2F5cwo+Pj4gKyAqIGhhcyBhdCBsZWFzdCAyIGxheWVycyAoZWl0aGVyIGJyYW5j aGVzIG9yIGxlYXZlcykgYmVsb3cgaXQuCj4+PiArICoKPj4+ICsgKi8KPj4KPj4gQF9AIDopCj4+ Cj4+IE9rLCBzbyBhIG1hcCBvZiB1NjQgdG8gdTMyLiBXZSBjYW4ndCB1c2UgSURSIG9yIHJhZGl4 dHJlZSBkaXJlY3RseQo+PiBiZWNhdXNlIG9mIHU2NCBrZXlzLiA6KCBIb3cgYWJvdXQgYSBoYXNo IHRhYmxlPyBJdCB3b3VsZCBiZSBtdWNoCj4+IHNpbXBsZXIgdG8gcmV2aWV3LiA6KSBTZXJpb3Vz bHksIGlmIGl0IHdvdWxkIHBlcmZvcm0gY2xvc2UgZW5vdWdoIGl0Cj4+IHdvdWxkIGJlIGEgbXVj aCBtdWNoIHNpbXBsZXIgaW1wbGVtZW50YXRpb24uCj4KPiBZb3Ugd2FudCBhIHJlc2l6YWJsZSBo YXNodGFibGUuIHJodCBpcyBhcHBhbGxpbmdseSBzbG93LCBzbyB5b3Ugd2FudCBhCj4gY3VzdG9t IHJlc2l6ZWFibGUgaHQuIFRoZXkgYXJlIG5vdCBhcyBzaW1wbGUgYXMgdGhpcyBjb2Rld2lzZSA7 KQo+IChQbHVzIGEgY29tcHJlc3NlZCByYWRpeHRyZWUgaXMgcGFydCBvZiBteSBwbGFuIGZvciBz Y2FsYWJpbGl0eQo+IGltcHJvdmVtZW50cyBmb3Igc3RydWN0IHJlc2VydmF0aW9uX29iamVjdC4p CgpXaHkgcmVzaXphYmxlPyBJIHdhcyB0aGlua2luZyBhIG5vcm1hbCBvbmUuIElmIGF0IGFueSBn aXZlbiB0aW1lIHdlIGhhdmUgCmFuIGFjdGl2ZSBzZXQgb2YgY29udGV4dHMsIG9yIGF0IGxlYXN0 IGxvb2t1cHMgYXJlIGFzIHlvdSBzYXkgYmVsb3csIHRvIApuZWlnaGJvdXJpbmcgY29udGV4dHMs IHRoYXQgd291bGQgbWVhbiB3ZSBhcmUgdGFsa2luZyBhYm91dCBsb29rdXBzIHRvIApkaWZmZXJl bnQgaGFzaCBidWNrZXRzLiAgQW5kIGZvciB0aGUgdHlwaWNhbCB3b3JraW5nIHNldCB3ZSB3b3Vs ZCBleHBlY3QgCm1hbnkgY29sbGlzaW9ucyBzbyBsb25nZXIgbGlzdHMgaW4gZWFjaCBidWNrZXQ/ IFNvIG1heWJlIE5VTV9FTkdJTkVTICogCnNvbWUgdHlwaWNhbCBsb2FkIGNvbnN0YW50IG51bWJl ciBidWNrZXRzIHdvdWxkIG5vdCBiZSB0aGF0IGJhZD8KCj4gVGhpcyBpcyBkZXNpZ25lZCBhcm91 bmQgdGhlIGlkZWEgdGhhdCBtb3N0IGxvb2t1cHMgYXJlIHRvIG5laWdoYm91cmluZwo+IGNvbnRl eHRzIChpLmUuIHNhbWUgaTkxNV9nZW1fY29udGV4dCwgZGlmZmVyZW50IGVuZ2luZXMpIGFuZCBz byBhcmUgb24KPiB0aGUgc2FtZSBsZWFmIGFuZCBzbyBjYWNoZWQuIChBIGdvYWwgaGVyZSBpcyB0 byBiZSBjaGVhcGVyIHRoYW4gdGhlIGNvc3QKPiBvZiByZXBldGl0aW9ucyBhbG9uZyB0aGUgZmVu Y2Ugc2lnbmFsaW5nLiBUaGV5IGFyZSBpbmRpcmVjdCBjb3N0cyB0aGF0Cj4gc2hvdyB1cCBpbiBh IGNvdXBsZSBvZiBwbGFjZXMsIGJ1dCBhcmUgcmVhc29uYWJseSBjaGVhcC4gT2Zmc2V0dGluZyB0 aGUKPiBjb3N0IGlzIHRoZSBiZW5lZml0IG9mIG1vdmluZyBpdCBvZmYgdGhlIHNpZ25hbC0+ZXhl YyBwYXRoLikKPgo+IFBsdXMgcmFkaXh0cmVlIHNjcmFwcGVkIHRoZSBpZHIgbG9va3VwIGNhY2hl LCB3aGljaCBpcyBhIG5lZ2F0aXZlIGZvcgo+IG1vc3Qgb2Ygb3VyIGNvZGUgOiggRm9ydHVuYXRl bHkgZm9yIGV4ZWNidWYsIHdlIGRvIGhhdmUgYSBieXBhc3MgcGxhbm5lZC4KCkkgdHJ1c3QgdGhl IGRhdGEgc3RydWN0dXJlIGlzIGEgZ3JlYXQsIGJ1dCB3b3VsZCBsaWtlIHRvIHVuZGVyc3RhbmQg aWYgCnNvbWV0aGluZyBzaW1wbGVyIGNvdWxkIHBlcmhhcHMgZ2V0IHVzIDk5JSBvZiB0aGUgcGVy Zm9ybWFuY2UgKG9yIHNvbWUgCm51bWJlcikuCgo+Pj4gK3N0YXRpYyBpbnQgaWd0X3NlcW1hcCh2 b2lkICphcmcpCj4+PiArewo+Pj4gKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSA9IGFy ZzsKPj4+ICsJY29uc3Qgc3RydWN0IHsKPj4+ICsJCWNvbnN0IGNoYXIgKm5hbWU7Cj4+PiArCQl1 MzIgc2Vxbm87Cj4+PiArCQlib29sIGV4cGVjdGVkOwo+Pj4gKwkJYm9vbCBzZXQ7Cj4+PiArCX0g cGFzc1tdID0gewo+Pj4gKwkJeyAidW5zZXQiLCAwLCBmYWxzZSwgZmFsc2UgfSwKPj4+ICsJCXsg Im5ldyIsIDAsIGZhbHNlLCB0cnVlIH0sCj4+PiArCQl7ICIwYSIsIDAsIHRydWUsIHRydWUgfSwK Pj4+ICsJCXsgIjFhIiwgMSwgZmFsc2UsIHRydWUgfSwKPj4+ICsJCXsgIjFiIiwgMSwgdHJ1ZSwg dHJ1ZSB9LAo+Pj4gKwkJeyAiMGIiLCAwLCB0cnVlLCBmYWxzZSB9LAo+Pj4gKwkJeyAiMmEiLCAy LCBmYWxzZSwgdHJ1ZSB9LAo+Pj4gKwkJeyAiNCIsIDQsIGZhbHNlLCB0cnVlIH0sCj4+PiArCQl7 ICJJTlRfTUFYIiwgSU5UX01BWCwgZmFsc2UsIHRydWUgfSwKPj4+ICsJCXsgIklOVF9NQVgtMSIs IElOVF9NQVgtMSwgdHJ1ZSwgZmFsc2UgfSwKPj4+ICsJCXsgIklOVF9NQVgrMSIsICh1MzIpSU5U X01BWCsxLCBmYWxzZSwgdHJ1ZSB9LAo+Pj4gKwkJeyAiSU5UX01BWCIsIElOVF9NQVgsIHRydWUs IGZhbHNlIH0sCj4+PiArCQl7ICJVSU5UX01BWCIsIFVJTlRfTUFYLCBmYWxzZSwgdHJ1ZSB9LAo+ Pj4gKwkJeyAid3JhcCIsIDAsIGZhbHNlLCB0cnVlIH0sCj4+PiArCQl7ICJ1bndyYXAiLCBVSU5U X01BWCwgdHJ1ZSwgZmFsc2UgfSwKPj4+ICsJCXt9LAo+Pj4gKwl9LCAqcDsKPj4+ICsJc3RydWN0 IGludGVsX3RpbWVsaW5lICp0bDsKPj4+ICsJaW50IG9yZGVyLCBvZmZzZXQ7Cj4+PiArCWludCBy ZXQ7Cj4+PiArCj4+PiArCXRsID0gJmk5MTUtPmd0Lmdsb2JhbF90aW1lbGluZS5lbmdpbmVbUkNT XTsKPj4KPj4gVW5sZXNzIEkgYW0gbWlzc2luZyBzb21ldGhpbmcsIGl0IGxvb2tzIGxpa2UgeW91 IGNvdWxkIGdldCBhd2F5IHdpdGgKPj4gYSBsaWdodGVyIHNvbHV0aW9uIG9mIGltcGxlbWVudGlu ZyBhIG1vY2tfdGltZWxpbmUgaW5zdGVhZCBvZiB0aGUKPj4gd2hvbGUgbW9ja19nZW1fZGV2aWNl LiBJIHRoaW5rIGl0IHdvdWxkIGJlIHByZWZlcmFibGUuCj4KPiBGaW5lLCBJIHdhcyBqdXN0IHVz aW5nIGEgZmFtaWxpYXIgcGF0dGVybi4KCklmIGl0IGlzIG1vcmUgdGhhbiBhIGZldyBsaW5lcyAo SSB0aG91Z2h0IGl0IHdvdWxkbid0IGJlKSB0byBhZGQgYSBtb2NrIAp0aW1lbGluZSB0aGVuIGRv bid0IGJvdGhlci4gSSBqdXN0IHRob3VnaHQgdW5pdCB0ZXN0cyBzaG91bGQgcHJlZmVyYWJsZSAK c3RheSBhcyBsZWFuIGFzIHBvc3NpYmxlLgoKUmVnYXJkcywKClR2cnRrbwpfX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0 CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3Rv cC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK