From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tvrtko Ursulin Subject: Re: [PATCH 4/5] drm/i915: Disable semaphore busywaits on saturated systems Date: Tue, 30 Apr 2019 09:55:59 +0100 Message-ID: References: <20190429180020.27274-1-chris@chris-wilson.co.uk> <20190429180020.27274-4-chris@chris-wilson.co.uk> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by gabe.freedesktop.org (Postfix) with ESMTPS id 75DA68914A for ; Tue, 30 Apr 2019 08:56:02 +0000 (UTC) In-Reply-To: <20190429180020.27274-4-chris@chris-wilson.co.uk> 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 , intel-gfx@lists.freedesktop.org Cc: Dmitry Ermilov List-Id: intel-gfx@lists.freedesktop.org Ck9uIDI5LzA0LzIwMTkgMTk6MDAsIENocmlzIFdpbHNvbiB3cm90ZToKPiBBc2tpbmcgdGhlIEdQ VSB0byBidXN5d2FpdCBvbiBhIG1lbW9yeSBhZGRyZXNzLCBwZXJoYXBzIG5vdCB1bmV4cGVjdGVk bHkKPiBpbiBoaW5kc2lnaHQgZm9yIGEgc2hhcmVkIHN5c3RlbSwgbGVhZHMgdG8gYnVzIGNvbnRl bnRpb24gdGhhdCBhZmZlY3RzCj4gQ1BVIHByb2dyYW1zIHRyeWluZyB0byBjb25jdXJyZW50bHkg YWNjZXNzIG1lbW9yeS4gVGhpcyBjYW4gbWFuaWZlc3QgYXMKPiBhIGRyb3AgaW4gdHJhbnNjb2Rl IHRocm91Z2hwdXQgb24gaGlnaGx5IG92ZXItc2F0dXJhdGVkIHdvcmtsb2Fkcy4KPiAKPiBUaGUg b25seSBjbHVlIG9mZmVyZWQgYnkgcGVyZiwgaXMgdGhhdCB0aGUgYnVzLWN5Y2xlcyAocGVyZiBz dGF0IC1lCj4gYnVzLWN5Y2xlcykganVtcGVkIGJ5IDUwJSB3aGVuIGVuYWJsaW5nIHNlbWFwaG9y ZXMuIFRoaXMgY29ycmVzcG9uZHMKPiB3aXRoIGV4dHJhIENQVSBhY3RpdmUgY3ljbGVzIGJlaW5n IGF0dHJpYnV0ZWQgdG8gaW50ZWxfaWRsZSdzIG13YWl0Lgo+IAo+IFRoaXMgcGF0Y2ggaW50cm9k dWNlcyBhIGhldXJpc3RpYyB0byB0cnkgYW5kIGRldGVjdCB3aGVuIG1vcmUgdGhhbiBvbmUKPiBj bGllbnQgaXMgc3VibWl0dGluZyB0byB0aGUgR1BVIHB1c2hpbmcgaXQgaW50byBhbiBvdmVyc2F0 dXJhdGVkIHN0YXRlLgo+IEFzIHdlIGFscmVhZHkga2VlcCB0cmFjayBvZiB3aGVuIHRoZSBzZW1h cGhvcmVzIGFyZSBzaWduYWxlZCwgd2UgY2FuCj4gaW5zcGVjdCB0aGVpciBzdGF0ZSBvbiBzdWJt aXR0aW5nIHRoZSBidXN5d2FpdCBiYXRjaCBhbmQgaWYgd2UgcGxhbm5lZAo+IHRvIHVzZSBhIHNl bWFwaG9yZSBidXQgd2VyZSB0b28gbGF0ZSwgY29uY2x1ZGUgdGhhdCB0aGUgR1BVIGlzCj4gb3Zl cmxvYWRlZCBhbmQgbm90IHRyeSB0byB1c2Ugc2VtYXBob3JlcyBpbiBmdXR1cmUgcmVxdWVzdHMu IEluCj4gcHJhY3RpY2UsIHRoaXMgbWVhbnMgd2Ugb3B0aW1pc3RpY2FsbHkgdHJ5IHRvIHVzZSBz ZW1hcGhvcmVzIGZvciB0aGUKPiBmaXJzdCBmcmFtZSBvZiBhIHRyYW5zY29kZSBqb2Igc3BsaXQg b3ZlciBtdWx0aXBsZSBlbmdpbmVzLCBhbmQgZmFpbCBpcwo+IHRoZXJlIGFyZSBtdWx0aXBsZSBj bGllbnRzIGFjdGl2ZSBhbmQgY29udGludWUgbm90IHRvIHVzZSBzZW1hcGhvcmVzIGZvcgo+IHRo ZSBzdWJzZXF1ZW50IGZyYW1lcyBpbiB0aGUgc2VxdWVuY2UuIFBlcmlvZGljYWxseSwgdHJ5aW5n IHRvCj4gb3B0aW1pc3RpY2FsbHkgc3dpdGNoIHNlbWFwaG9yZXMgYmFjayBvbiB3aGVuZXZlciB0 aGUgY2xpZW50IHdhaXRzIHRvCj4gY2F0Y2ggdXAgd2l0aCB0aGUgdHJhbnNjb2RlIHJlc3VsdHMu Cj4gCgpbc25pcHBlZCBsb25nIGJlbmNobWFyayByZXN1bHRzXQoKPiBJbmRpY2F0aW5nIHRoYXQg d2UndmUgcmVjb3ZlcmVkIHRoZSByZWdyZXNzaW9uIGZyb20gZW5hYmxpbmcgc2VtYXBob3Jlcwo+ IG9uIHRoaXMgc2F0dXJhdGVkIHNldHVwLCB3aXRoIGEgaGludCB0b3dhcmRzIGFuIG92ZXJhbGwg aW1wcm92ZW1lbnQuCj4gCj4gVmVyeSBzaW1pbGFyLCBidXQgb2Ygc21hbGxlciBtYWduaXR1ZGUs IHJlc3VsdHMgYXJlIG9ic2VydmVkIG9uIGJvdGgKPiBTa3lsYWtlKGd0MikgYW5kIEthYnlsYWtl KGd0NCkuIFRoaXMgbWF5IGJlIGR1ZSB0byB0aGUgcmVkdWNlZCBpbXBhY3Qgb2YKPiBidXMtY3lj bGVzLCB3aGVyZSB3ZSBzZWUgYSA1MCUgaGl0IG9uIEJyb3h0b24sIGl0IGlzIG9ubHkgMTAlIG9u IHRoZSBiaWcKPiBjb3JlLCBpbiB0aGlzIHBhcnRpY3VsYXIgdGVzdC4KPiAKPiBPbmUgb2JzZXJ2 YXRpb24gdG8gbWFrZSBoZXJlIGlzIHRoYXQgZm9yIGEgZ3JlZWR5IGNsaWVudCB0cnlpbmcgdG8K PiBtYXhpbWlzZSBpdHMgb3duIHRocm91Z2hwdXQsIHVzaW5nIHNlbWFwaG9yZXMgaXMgdGhlIHJp Z2h0IGNob2ljZS4gSXQgaXMKPiBvbmx5IHRoZSBob2xpc3RpYyBzeXN0ZW0td2lkZSB2aWV3IHRo YXQgc2VtYXBob3JlcyBvZiBvbmUgY2xpZW50Cj4gaW1wYWN0cyBhbm90aGVyIGFuZCByZWR1Y2Vz IHRoZSBvdmVyYWxsIHRocm91Z2hwdXQgd2hlcmUgd2Ugd291bGQgY2hvb3NlCj4gdG8gZGlzYWJs ZSBzZW1hcGhvcmVzLgoKU2luY2Ugd2UgYWNrbm93bGVkZ2UgcHJvYmxlbSBpcyB0aGUgc2hhcmVk IG5hdHVyZSBvZiB0aGUgaUdQVSwgbXkgCmNvbmNlcm4gaXMgdGhhdCB3ZSBzdGlsbCBjYW5ub3Qg YWNjb3VudCBmb3IgYm90aCBwYXJ0bmVycyBoZXJlIHdoZW4gCmRlY2lkaW5nIHRvIG9taXQgc2Vt YXBob3JlIGVtaXNzaW9uLiBJbiBvdGhlciB3b3JkcyB3ZSB0cmFkZSBidXMgCnRocm91Z2hwdXQg Zm9yIHN1Ym1pc3Npb24gbGF0ZW5jeS4KCkFzc3VtaW5nIGEgbGlnaHQgR1BVIHRhc2sgKGluIHRo ZSBzZW5zZSBvZiBub3Qgb3ZlcnN1YnNjcmliaW5nLCBidXQgd2l0aCAKcGluZy1wb25nIGludGVy LWVuZ2luZSBkZXBlbmRlbmNpZXMpLCBzaW11bHRhbmVvdXMgdG8gYSBoZWF2aWVyIENQVSAKdGFz aywgb3VyIGxhdGVuY3kgaW1wcm92ZW1lbnQgc3RpbGwgaW1wb3NlcyBhIHBlcmZvcm1hbmNlIHBl bmFsdHkgb24gdGhlIApsYXR0ZXIuCgpGb3IgaW5zdGFuY2UgYSBjb25zdW1lciBsZXZlbCBzaW5n bGUgc3RyZWFtIHRyYW5zY29kaW5nIHNlc3Npb24gd2l0aCBDUFUgCmhlYXZ5IHBhcnQgb2YgdGhl IHBpcGVsaW5lLCBvciBhIENQVSBpbnRlbnNpdmUgZ2FtZS4KCihJZGVhbGx5IHdlIHdvdWxkIG5l ZWQgYSBidXMgc2F0dXJhdGlvbiBzaWduYWwgdG8gZmVlZCBpbnRvIG91ciBsb2dpYywgCm5vdCBq dXN0IGVuZ2luZSBzYXR1cmF0aW9uLiBXaGljaCBJIGRvbid0IHRoaW5rIGlzIHBvc3NpYmxlLikK ClNvIEkgYW0gc3RpbGwgbGVhbmluZyB0b3dhcmRzIGJlaW5nIGNhdXRpb3VzIGFuZCBqdXN0IGFi YW5kb25pbmcgCnNlbWFwaG9yZXMgZm9yIG5vdy4KClJlZ2FyZHMsCgpUdnJ0a28KCj4gVGhlIG1v c3Qgbm90aWNlYWJsZSBuZWdhY3RpdmUgaW1wYWN0IHRoaXMgaGFzIGlzIG9uIHRoZSBuby1vcAo+ IG1pY3JvYmVuY2htYXJrcywgd2hpY2ggYXJlIGFsc28gdmVyeSBub3RhYmxlIGZvciBoYXZpbmcg bm8gY3B1IGJ1cyBsb2FkLgo+IEluIHBhcnRpY3VsYXIsIHRoaXMgaW5jcmVhc2VzIHRoZSBydW50 aW1lIGFuZCBlbmVyZ3kgY29uc3VtcHRpb24gb2YKPiBnZW1fZXhlY193aGlzcGVyLgo+IAo+IFNp Z25lZC1vZmYtYnk6IENocmlzIFdpbHNvbiA8Y2hyaXNAY2hyaXMtd2lsc29uLmNvLnVrPgo+IENj OiBUdnJ0a28gVXJzdWxpbiA8dHZydGtvLnVyc3VsaW5AaW50ZWwuY29tPgo+IENjOiBEbWl0cnkg Um9nb3poa2luIDxkbWl0cnkudi5yb2dvemhraW5AaW50ZWwuY29tPgo+IENjOiBEbWl0cnkgRXJt aWxvdiA8ZG1pdHJ5LmVybWlsb3ZAaW50ZWwuY29tPgo+IENjOiBKb29uYXMgTGFodGluZW4gPGpv b25hcy5sYWh0aW5lbkBsaW51eC5pbnRlbC5jb20+Cj4gLS0tCj4gICBkcml2ZXJzL2dwdS9kcm0v aTkxNS9ndC9pbnRlbF9jb250ZXh0LmMgICAgICAgfCAgMiArKwo+ICAgZHJpdmVycy9ncHUvZHJt L2k5MTUvZ3QvaW50ZWxfY29udGV4dF90eXBlcy5oIHwgIDMgKysKPiAgIGRyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfcmVxdWVzdC5jICAgICAgICAgICB8IDI4ICsrKysrKysrKysrKysrKysrKy0K PiAgIDMgZmlsZXMgY2hhbmdlZCwgMzIgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQo+IAo+ IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9jb250ZXh0LmMgYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9jb250ZXh0LmMKPiBpbmRleCAxZjE3NjFmYzY1 OTcuLjViMzFlMWUwNWRkZCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9p bnRlbF9jb250ZXh0LmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9jb250 ZXh0LmMKPiBAQCAtMTE2LDYgKzExNiw3IEBAIGludGVsX2NvbnRleHRfaW5pdChzdHJ1Y3QgaW50 ZWxfY29udGV4dCAqY2UsCj4gICAJY2UtPmVuZ2luZSA9IGVuZ2luZTsKPiAgIAljZS0+b3BzID0g ZW5naW5lLT5jb3BzOwo+ICAgCWNlLT5zc2V1ID0gZW5naW5lLT5zc2V1Owo+ICsJY2UtPnNhdHVy YXRlZCA9IDA7Cj4gICAKPiAgIAlJTklUX0xJU1RfSEVBRCgmY2UtPnNpZ25hbF9saW5rKTsKPiAg IAlJTklUX0xJU1RfSEVBRCgmY2UtPnNpZ25hbHMpOwo+IEBAIC0xNTgsNiArMTU5LDcgQEAgdm9p ZCBpbnRlbF9jb250ZXh0X2VudGVyX2VuZ2luZShzdHJ1Y3QgaW50ZWxfY29udGV4dCAqY2UpCj4g ICAKPiAgIHZvaWQgaW50ZWxfY29udGV4dF9leGl0X2VuZ2luZShzdHJ1Y3QgaW50ZWxfY29udGV4 dCAqY2UpCj4gICB7Cj4gKwljZS0+c2F0dXJhdGVkID0gMDsKPiAgIAlpbnRlbF9lbmdpbmVfcG1f cHV0KGNlLT5lbmdpbmUpOwo+ICAgfQo+ICAgCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2d0L2ludGVsX2NvbnRleHRfdHlwZXMuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0 L2ludGVsX2NvbnRleHRfdHlwZXMuaAo+IGluZGV4IGQ1YTdkYmQwZGFlZS4uOTYzYTMxMjQzMGU2 IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX2NvbnRleHRfdHlw ZXMuaAo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX2NvbnRleHRfdHlwZXMu aAo+IEBAIC0xMyw2ICsxMyw3IEBACj4gICAjaW5jbHVkZSA8bGludXgvdHlwZXMuaD4KPiAgIAo+ ICAgI2luY2x1ZGUgImk5MTVfYWN0aXZlX3R5cGVzLmgiCj4gKyNpbmNsdWRlICJpbnRlbF9lbmdp bmVfdHlwZXMuaCIKPiAgICNpbmNsdWRlICJpbnRlbF9zc2V1LmgiCj4gICAKPiAgIHN0cnVjdCBp OTE1X2dlbV9jb250ZXh0Owo+IEBAIC01Miw2ICs1Myw4IEBAIHN0cnVjdCBpbnRlbF9jb250ZXh0 IHsKPiAgIAlhdG9taWNfdCBwaW5fY291bnQ7Cj4gICAJc3RydWN0IG11dGV4IHBpbl9tdXRleDsg LyogZ3VhcmRzIHBpbm5pbmcgYW5kIGFzc29jaWF0ZWQgb24tZ3B1aW5nICovCj4gICAKPiArCWlu dGVsX2VuZ2luZV9tYXNrX3Qgc2F0dXJhdGVkOyAvKiBzdWJtaXR0aW5nIHNlbWFwaG9yZXMgdG9v IGxhdGU/ICovCj4gKwo+ICAgCS8qKgo+ICAgCSAqIGFjdGl2ZV90cmFja2VyOiBBY3RpdmUgdHJh Y2tlciBmb3IgdGhlIGV4dGVybmFsIHJxIGFjdGl2aXR5Cj4gICAJICogb24gdGhpcyBpbnRlbF9j b250ZXh0IG9iamVjdC4KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9y ZXF1ZXN0LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlcXVlc3QuYwo+IGluZGV4IDhj YjNlZDU1MzFlMy4uMmQ0Mjk5NjdmNDAzIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2k5MTVfcmVxdWVzdC5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZXF1 ZXN0LmMKPiBAQCAtNDEwLDYgKzQxMCwyNiBAQCB2b2lkIF9faTkxNV9yZXF1ZXN0X3N1Ym1pdChz dHJ1Y3QgaTkxNV9yZXF1ZXN0ICpyZXF1ZXN0KQo+ICAgCWlmIChpOTE1X2dlbV9jb250ZXh0X2lz X2Jhbm5lZChyZXF1ZXN0LT5nZW1fY29udGV4dCkpCj4gICAJCWk5MTVfcmVxdWVzdF9za2lwKHJl cXVlc3QsIC1FSU8pOwo+ICAgCj4gKwkvKgo+ICsJICogQXJlIHdlIHVzaW5nIHNlbWFwaG9yZXMg d2hlbiB0aGUgZ3B1IGlzIGFscmVhZHkgc2F0dXJhdGVkPwo+ICsJICoKPiArCSAqIFVzaW5nIHNl bWFwaG9yZXMgaW5jdXJzIGEgY29zdCBpbiBoYXZpbmcgdGhlIEdQVSBwb2xsIGEKPiArCSAqIG1l bW9yeSBsb2NhdGlvbiwgYnVzeXdhaXRpbmcgZm9yIGl0IHRvIGNoYW5nZS4gVGhlIGNvbnRpbnVh bAo+ICsJICogbWVtb3J5IHJlYWRzIGNhbiBoYXZlIGEgbm90aWNlYWJsZSBpbXBhY3Qgb24gdGhl IHJlc3Qgb2YgdGhlCj4gKwkgKiBzeXN0ZW0gd2l0aCB0aGUgZXh0cmEgYnVzIHRyYWZmaWMsIHN0 YWxsaW5nIHRoZSBjcHUgYXMgaXQgdG9vCj4gKwkgKiB0cmllcyB0byBhY2Nlc3MgbWVtb3J5IGFj cm9zcyB0aGUgYnVzIChwZXJmIHN0YXQgLWUgYnVzLWN5Y2xlcykuCj4gKwkgKgo+ICsJICogSWYg d2UgaW5zdGFsbGVkIGEgc2VtYXBob3JlIG9uIHRoaXMgcmVxdWVzdCBhbmQgd2Ugb25seSBzdWJt aXQKPiArCSAqIHRoZSByZXF1ZXN0IGFmdGVyIHRoZSBzaWduYWxlciBjb21wbGV0ZWQsIHRoYXQg aW5kaWNhdGVzIHRoZQo+ICsJICogc3lzdGVtIGlzIG92ZXJsb2FkZWQgYW5kIHVzaW5nIHNlbWFw aG9yZXMgYXQgdGhpcyB0aW1lIG9ubHkKPiArCSAqIGluY3JlYXNlcyB0aGUgYW1vdW50IG9mIHdv cmsgd2UgYXJlIGRvaW5nLiBJZiBzbywgd2UgZGlzYWJsZQo+ICsJICogZnVydGhlciB1c2Ugb2Yg c2VtYXBob3JlcyB1bnRpbCB3ZSBhcmUgaWRsZSBhZ2Fpbiwgd2hlbmNlIHdlCj4gKwkgKiBvcHRp bWlzdGljYWxseSB0cnkgYWdhaW4uCj4gKwkgKi8KPiArCWlmIChyZXF1ZXN0LT5zY2hlZC5zZW1h cGhvcmVzICYmCj4gKwkgICAgaTkxNV9zd19mZW5jZV9zaWduYWxlZCgmcmVxdWVzdC0+c2VtYXBo b3JlKSkKPiArCQlyZXF1ZXN0LT5od19jb250ZXh0LT5zYXR1cmF0ZWQgfD0gcmVxdWVzdC0+c2No ZWQuc2VtYXBob3JlczsKPiArCj4gICAJLyogV2UgbWF5IGJlIHJlY3Vyc2luZyBmcm9tIHRoZSBz aWduYWwgY2FsbGJhY2sgb2YgYW5vdGhlciBpOTE1IGZlbmNlICovCj4gICAJc3Bpbl9sb2NrX25l c3RlZCgmcmVxdWVzdC0+bG9jaywgU0lOR0xFX0RFUFRIX05FU1RJTkcpOwo+ICAgCj4gQEAgLTc4 NSw2ICs4MDUsMTIgQEAgaTkxNV9yZXF1ZXN0X2F3YWl0X3N0YXJ0KHN0cnVjdCBpOTE1X3JlcXVl c3QgKnJxLCBzdHJ1Y3QgaTkxNV9yZXF1ZXN0ICpzaWduYWwpCj4gICAJCQkJCSAgICAgSTkxNV9G RU5DRV9HRlApOwo+ICAgfQo+ICAgCj4gK3N0YXRpYyBpbnRlbF9lbmdpbmVfbWFza190Cj4gK2Fs cmVhZHlfYnVzeXdhaXRpbmcoc3RydWN0IGk5MTVfcmVxdWVzdCAqcnEpCj4gK3sKPiArCXJldHVy biBycS0+c2NoZWQuc2VtYXBob3JlcyB8IHJxLT5od19jb250ZXh0LT5zYXR1cmF0ZWQ7Cj4gK30K PiArCj4gICBzdGF0aWMgaW50Cj4gICBlbWl0X3NlbWFwaG9yZV93YWl0KHN0cnVjdCBpOTE1X3Jl cXVlc3QgKnRvLAo+ICAgCQkgICAgc3RydWN0IGk5MTVfcmVxdWVzdCAqZnJvbSwKPiBAQCAtNzk4 LDcgKzgyNCw3IEBAIGVtaXRfc2VtYXBob3JlX3dhaXQoc3RydWN0IGk5MTVfcmVxdWVzdCAqdG8s Cj4gICAJR0VNX0JVR19PTihJTlRFTF9HRU4odG8tPmk5MTUpIDwgOCk7Cj4gICAKPiAgIAkvKiBK dXN0IGVtaXQgdGhlIGZpcnN0IHNlbWFwaG9yZSB3ZSBzZWUgYXMgcmVxdWVzdCBzcGFjZSBpcyBs aW1pdGVkLiAqLwo+IC0JaWYgKHRvLT5zY2hlZC5zZW1hcGhvcmVzICYgZnJvbS0+ZW5naW5lLT5t YXNrKQo+ICsJaWYgKGFscmVhZHlfYnVzeXdhaXRpbmcodG8pICYgZnJvbS0+ZW5naW5lLT5tYXNr KQo+ICAgCQlyZXR1cm4gaTkxNV9zd19mZW5jZV9hd2FpdF9kbWFfZmVuY2UoJnRvLT5zdWJtaXQs Cj4gICAJCQkJCQkgICAgICZmcm9tLT5mZW5jZSwgMCwKPiAgIAkJCQkJCSAgICAgSTkxNV9GRU5D RV9HRlApOwo+IApfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f XwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcK aHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZng=