From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Rogozhkin, Dmitry V" Subject: Re: [RFC v3 00/11] i915 PMU and engine busy stats Date: Tue, 12 Sep 2017 22:01:20 +0000 Message-ID: <1505224750.6296.13.camel@intel.com> References: <20170911152559.7077-1-tvrtko.ursulin@linux.intel.com> <1505152854.7443.6.camel@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by gabe.freedesktop.org (Postfix) with ESMTPS id 09B366E71D for ; Tue, 12 Sep 2017 22:01:22 +0000 (UTC) In-Reply-To: Content-Language: en-US Content-ID: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: "tvrtko.ursulin@linux.intel.com" Cc: "peterz@infradead.org" , "Intel-gfx@lists.freedesktop.org" List-Id: intel-gfx@lists.freedesktop.org T24gVHVlLCAyMDE3LTA5LTEyIGF0IDE1OjU0ICswMTAwLCBUdnJ0a28gVXJzdWxpbiB3cm90ZToN Cj4gT24gMTIvMDkvMjAxNyAwMzowMywgUm9nb3poa2luLCBEbWl0cnkgViB3cm90ZToNCj4gPiBI aSwNCj4gPiANCj4gPiBKdXN0IHRyaWVkIHYzIHNlcmllcy4gcGVyZi1zdGF0IHdvcmtzIGZpbmUu IEZyb20gdGhlIElHVCB0ZXN0cyB3aGljaCBJIHdyb3RlIGZvciBpOTE1IFBNVQ0KPiA+IChodHRw czovL3BhdGNod29yay5mcmVlZGVza3RvcC5vcmcvc2VyaWVzLzI5MzEzLykgYWxsIHBhc3MgKGFz c3VtaW5nIHBtdS5lbmFibGVkIHdpbGwgYmUgZXhwb3NlZA0KPiA+IGluIGRlYnVnZnMpIGV4Y2Vw dCBjcHVfb25saW5lIHN1YnRlc3QuIEFuZCB0aGlzIGlzIHByZXR0eSBpbnRlcmVzdGluZyAtIHNl ZSBkZXRhaWxzIGJlbG93Lg0KPiA+IA0KPiA+IE9rLCBiZSBwcmVwYXJlZCBmb3IgdGhlIGxvbmcg bWFpbDopLi4uDQo+ID4gDQo+ID4gU28sIGNwdV9vbmxpbmUgc3VidGVzdCBsb2FkcyBSQ1MwIGVu Z2luZSAxMDAlIGFuZCBzdGFydHMgdG8gcHV0IENQVXMgb2ZmbGluZSBvbmUgYnkgb25lIHN0YXJ0 aW5nDQo+ID4gZnJvbSBDUFUwIChkb24ndCBmb3JnZXQgdG8gaGF2ZSBDT05GSUdfQk9PVFBBUkFN X0hPVFBMVUdfQ1BVMD15IGluIC5jb25maWcpLiBUZXN0IGV4cGVjdGF0aW9uIGlzDQo+ID4gdGhh dCBpOTE1IFBNVSB3aWxsIHJlcG9ydCBhbG1vc3QgMTAwJSAod2l0aCAyJSB0b2xlcmFuY2UpIGJ1 c3luZXNzIG9mIFJDUzAuIFRlc3QgcmVxdWVzdHMgbWV0cmljDQo+ID4ganVzdCB0d2ljZTogYmVm b3JlIHJ1bm5pbmcgb24gUkNTMCBhbmQgcmlnaHQgYWZ0ZXIuIFRoaXMgZmFpbHMgYXMgZm9sbG93 czoNCj4gPiANCj4gPiBFeGVjdXRlZCBvbiByY3MwIGZvciAzMjAwNDI2MjE4NHVzDQo+ID4gICAg aTkxNS9yY3MwLWJ1c3kvOiAyMjI1NzIzOTk5dXMNCj4gPiAocGVyZl9wbXU6NjMyNSkgQ1JJVElD QUw6IFRlc3QgYXNzZXJ0aW9uIGZhaWx1cmUgZnVuY3Rpb24gdGVzdF9jcHVfb25saW5lLCBmaWxl IHBlcmZfcG11LmM6NzE5Og0KPiA+IChwZXJmX3BtdTo2MzI1KSBDUklUSUNBTDogRmFpbGVkIGFz c2VydGlvbjogcGVyZl9lbGFwc2VkKCZwbS5tZXRyaWNzWzBdKSA+ICgxLVVTQUdFX1RPTEVSQU5D RSkgKiBlbGFwc2VkX25zKCZzdGFydCwgJm5vdykNCj4gPiBTdGFjayB0cmFjZToNCj4gPiAgICAj MCBbX19pZ3RfZmFpbF9hc3NlcnQrMHhmMV0NCj4gPiAgICAjMSBbX19yZWFsX21haW43NzMrMHhm ZjFdDQo+ID4gICAgIzIgW21haW4rMHgzNV0NCj4gPiAgICAjMyBbX19saWJjX3N0YXJ0X21haW4r MHhmNV0NCj4gPiAgICAjNCBbX3N0YXJ0KzB4MjldDQo+ID4gICAgIzUgWzx1bmtub3duPisweDI5 XQ0KPiA+IFN1YnRlc3QgY3B1X29ubGluZSBmYWlsZWQuDQo+ID4gKioqKiBERUJVRyAqKioqDQo+ ID4gKHBlcmZfcG11OjYzMjUpIERFQlVHOiBUZXN0IHJlcXVpcmVtZW50IHBhc3NlZDogaXNfaG90 cGx1Z19jcHUwKCkNCj4gPiAocGVyZl9wbXU6NjMyNSkgSU5GTzogcGVyZl9pbml0OiBlbmFibGVk IDEgbWV0cmljcyBmcm9tIDEgcmVxdWVzdGVkDQo+ID4gKHBlcmZfcG11OjYzMjUpIGlvY3RsLXdy YXBwZXJzLURFQlVHOiBUZXN0IHJlcXVpcmVtZW50IHBhc3NlZDogZ2VtX2hhc19yaW5nKGZkLCBy aW5nKQ0KPiA+IChwZXJmX3BtdTo2MzI1KSBJTkZPOiBFeGVjdXRlZCBvbiByY3MwIGZvciAzMjAw NDI2MjE4NHVzDQo+ID4gKHBlcmZfcG11OjYzMjUpIElORk86ICAgaTkxNS9yY3MwLWJ1c3kvOiAy MjI1NzIzOTk5dXMNCj4gPiAocGVyZl9wbXU6NjMyNSkgQ1JJVElDQUw6IFRlc3QgYXNzZXJ0aW9u IGZhaWx1cmUgZnVuY3Rpb24gdGVzdF9jcHVfb25saW5lLCBmaWxlIHBlcmZfcG11LmM6NzE5Og0K PiA+IChwZXJmX3BtdTo2MzI1KSBDUklUSUNBTDogRmFpbGVkIGFzc2VydGlvbjogcGVyZl9lbGFw c2VkKCZwbS5tZXRyaWNzWzBdKSA+ICgxLVVTQUdFX1RPTEVSQU5DRSkgKiBlbGFwc2VkX25zKCZz dGFydCwgJm5vdykNCj4gPiANCj4gPiBOb3cuIExvb2tzIGxpa2UgdGhhdCBieSBpdHNlbGYgUE1V IGNvbnRleHQgbWlncmF0aW9uIHdvcmtzLiBGb3IgZXhhbXBsZSwgaWYgeW91IHdpbGwgY29tbWVu dCBvdXQNCj4gPiAicGVyZl9wbXVfbWlncmF0ZV9jb250ZXh0KCZwbXUtPmJhc2UsIGNwdSwgdGFy Z2V0KSIgeW91IHdpbGwgZ2V0Og0KPiA+IA0KPiA+ICAgICAgRXhlY3V0ZWQgb24gcmNzMCBmb3Ig MzIwMDQ0MzQ5MTh1cw0KPiA+ICAgICAgICBpOTE1L3JjczAtYnVzeS86ICAgICA3NjYyMzcwN3Vz DQo+ID4gDQo+ID4gQ29tcGFyZSB3aXRoIHByZXZpb3VzOg0KPiA+ICAgICAgRXhlY3V0ZWQgb24g cmNzMCBmb3IgMzIwMDQyNjIxODR1cw0KPiA+ICAgICAgICBpOTE1L3JjczAtYnVzeS86ICAgIDIy MjU3MjM5OTl1cw0KPiA+IA0KPiA+IFRoaXMgdGVzdCBwYXNzZWQgb24gdGhlIHByZXZpb3VzIHNl dCBvZiBwYXRjaGVzLCBJIG1lYW4gVHZydGtvJ3MgdjIgc2VyaWVzICsgbXkgcGF0Y2hlcy4NCj4g PiANCj4gPiBTbywgaXQgc2VlbXMgd2UgYXJlIGxvb3NpbmcgY291bnRlciB2YWx1ZXMgc29tZWhv dy4gSSBzYXcgaW4gdGhlIHBhdGNoZXMgdGhhdCB0aGlzIHBsYWNlIHJlYWxseSB3YXMgbW9kaWZp ZWQgLSB5b3UNCj4gPiBoYXZlIGFkZGVkIHN1YnRyYWN0aW9uIGZyb20gaW5pdGlhbCBjb3VudGVy IHZhbHVlOg0KPiA+IHN0YXRpYyB2b2lkIGk5MTVfcG11X2V2ZW50X3JlYWQoc3RydWN0IHBlcmZf ZXZlbnQgKmV2ZW50KQ0KPiA+IHsNCj4gPiANCj4gPiAJbG9jYWw2NF9zZXQoJmV2ZW50LT5jb3Vu dCwNCj4gPiAJCSAgICBfX2k5MTVfcG11X2V2ZW50X3JlYWQoZXZlbnQpIC0NCj4gPiAJCSAgICBs b2NhbDY0X3JlYWQoJmV2ZW50LT5ody5wcmV2X2NvdW50KSk7DQo+ID4gfQ0KPiA+IA0KPiA+IEJ1 dCBsb29rcyBsaWtlIHRoZSBwcm9ibGVtIGlzIHRoYXQgd2l0aCB0aGUgUE1VIGNvbnRleHQgbWln cmF0aW9uIHdlIGdldCBzZXF1ZW5jZSBvZiBldmVudHMgc3RhcnQvc3RvcCAob3IgbWF5YmUNCj4g PiBhZGQvZGVsKSB3aGljaCBldmVudHVhbGx5IGNhbGwgb3VyIGk5MTVfcG11X2VuYWJsZS9kaXNh YmxlLiBIZXJlIGlzIHRoZSBkbWVzZyBsb2cgd2l0aCB0aGUgb2J2aW91cyBwcmludGs6DQo+ID4g DQo+ID4gWyAgMTUzLjk3MTA5Nl0gW0lHVF0gcGVyZl9wbXU6IHN0YXJ0aW5nIHN1YnRlc3QgY3B1 X29ubGluZQ0KPiA+IFsgIDE1My45NzExNTFdIGk5MTVfcG11X2VuYWJsZTogZXZlbnQtPmh3LnBy ZXZfY291bnQ9MA0KPiA+IFsgIDE1NC4wMzYwMTVdIGk5MTVfcG11X2Rpc2FibGU6IGV2ZW50LT5o dy5wcmV2X2NvdW50PTANCj4gPiBbICAxNTQuMDQ4MDI3XSBpOTE1X3BtdV9lbmFibGU6IGV2ZW50 LT5ody5wcmV2X2NvdW50PTANCj4gPiBbICAxNTQuMDQ5MzQzXSBzbXBib290OiBDUFUgMCBpcyBu b3cgb2ZmbGluZQ0KPiA+IFsgIDE1NS4wNTkwMjhdIHNtcGJvb3Q6IEJvb3RpbmcgTm9kZSAwIFBy b2Nlc3NvciAwIEFQSUMgMHgwDQo+ID4gWyAgMTU1LjE1NTA3OF0gc21wYm9vdDogQ1BVIDEgaXMg bm93IG9mZmxpbmUNCj4gPiBbICAxNTYuMTYxMDI2XSB4ODY6IEJvb3RpbmcgU01QIGNvbmZpZ3Vy YXRpb246DQo+ID4gWyAgMTU2LjE2MTAyN10gc21wYm9vdDogQm9vdGluZyBOb2RlIDAgUHJvY2Vz c29yIDEgQVBJQyAweDINCj4gPiBbICAxNTYuMTk3MDY1XSBJUlEgMTIyOiBubyBsb25nZXIgYWZm aW5lIHRvIENQVTINCj4gPiBbICAxNTYuMTk4MDg3XSBzbXBib290OiBDUFUgMiBpcyBub3cgb2Zm bGluZQ0KPiA+IFsgIDE1Ny4yMDgwMjhdIHNtcGJvb3Q6IEJvb3RpbmcgTm9kZSAwIFByb2Nlc3Nv ciAyIEFQSUMgMHg0DQo+ID4gWyAgMTU3LjI2MzA5M10gc21wYm9vdDogQ1BVIDMgaXMgbm93IG9m ZmxpbmUNCj4gPiBbICAxNTguMjczMDI2XSBzbXBib290OiBCb290aW5nIE5vZGUgMCBQcm9jZXNz b3IgMyBBUElDIDB4Ng0KPiA+IFsgIDE1OC4zMTAwMjZdIGk5MTVfcG11X2Rpc2FibGU6IGV2ZW50 LT5ody5wcmV2X2NvdW50PTc2NjQ4MzA3DQo+ID4gWyAgMTU4LjMxOTAyMF0gaTkxNV9wbXVfZW5h YmxlOiBldmVudC0+aHcucHJldl9jb3VudD03NjY0ODMwNw0KPiA+IFsgIDE1OC4zMTkwOThdIElS USAxMjQ6IG5vIGxvbmdlciBhZmZpbmUgdG8gQ1BVNA0KPiA+IFsgIDE1OC4zMjAzNjhdIHNtcGJv b3Q6IENQVSA0IGlzIG5vdyBvZmZsaW5lDQo+ID4gWyAgMTU5LjMyNjAzMF0gc21wYm9vdDogQm9v dGluZyBOb2RlIDAgUHJvY2Vzc29yIDQgQVBJQyAweDENCj4gPiBbICAxNTkuMzY1MzA2XSBzbXBi b290OiBDUFUgNSBpcyBub3cgb2ZmbGluZQ0KPiA+IFsgIDE2MC4zNzEwMzBdIHNtcGJvb3Q6IEJv b3RpbmcgTm9kZSAwIFByb2Nlc3NvciA1IEFQSUMgMHgzDQo+ID4gWyAgMTYwLjQyMTA3N10gSVJR IDEyNTogbm8gbG9uZ2VyIGFmZmluZSB0byBDUFU2DQo+ID4gWyAgMTYwLjQyMjA5M10gc21wYm9v dDogQ1BVIDYgaXMgbm93IG9mZmxpbmUNCj4gPiBbICAxNjEuNDI5MDMwXSBzbXBib290OiBCb290 aW5nIE5vZGUgMCBQcm9jZXNzb3IgNiBBUElDIDB4NQ0KPiA+IFsgIDE2MS40NjcwOTFdIHNtcGJv b3Q6IENQVSA3IGlzIG5vdyBvZmZsaW5lDQo+ID4gWyAgMTYyLjQ3MzAyN10gc21wYm9vdDogQm9v dGluZyBOb2RlIDAgUHJvY2Vzc29yIDcgQVBJQyAweDcNCj4gPiBbICAxNjIuNTI3MDE5XSBpOTE1 X3BtdV9kaXNhYmxlOiBldmVudC0+aHcucHJldl9jb3VudD00MzQ3NTQ4MjIyDQo+ID4gWyAgMTYy LjU0NjAxN10gaTkxNV9wbXVfZW5hYmxlOiBldmVudC0+aHcucHJldl9jb3VudD00MzQ3NTQ4MjIy DQo+ID4gWyAgMTYyLjU0NzMxN10gc21wYm9vdDogQ1BVIDAgaXMgbm93IG9mZmxpbmUNCj4gPiBb ICAxNjMuNTUzMDI4XSBzbXBib290OiBCb290aW5nIE5vZGUgMCBQcm9jZXNzb3IgMCBBUElDIDB4 MA0KPiA+IFsgIDE2My42MjEwODldIHNtcGJvb3Q6IENQVSAxIGlzIG5vdyBvZmZsaW5lDQo+ID4g WyAgMTY0LjYyNzAyOF0geDg2OiBCb290aW5nIFNNUCBjb25maWd1cmF0aW9uOg0KPiA+IFsgIDE2 NC42MjcwMjldIHNtcGJvb3Q6IEJvb3RpbmcgTm9kZSAwIFByb2Nlc3NvciAxIEFQSUMgMHgyDQo+ ID4gWyAgMTY0LjY2OTMwOF0gc21wYm9vdDogQ1BVIDIgaXMgbm93IG9mZmxpbmUNCj4gPiBbICAx NjUuNjc5MDI1XSBzbXBib290OiBCb290aW5nIE5vZGUgMCBQcm9jZXNzb3IgMiBBUElDIDB4NA0K PiA+IFsgIDE2NS43MTcwODldIHNtcGJvb3Q6IENQVSAzIGlzIG5vdyBvZmZsaW5lDQo+ID4gWyAg MTY2LjcyMzAyNV0gc21wYm9vdDogQm9vdGluZyBOb2RlIDAgUHJvY2Vzc29yIDMgQVBJQyAweDYN Cj4gPiBbICAxNjYuNzc1MDE2XSBpOTE1X3BtdV9kaXNhYmxlOiBldmVudC0+aHcucHJldl9jb3Vu dD04NTc0MTk3MzEyDQo+ID4gWyAgMTY2Ljc4NzAxNl0gaTkxNV9wbXVfZW5hYmxlOiBldmVudC0+ aHcucHJldl9jb3VudD04NTc0MTk3MzEyDQo+ID4gWyAgMTY2Ljc4ODMwOV0gc21wYm9vdDogQ1BV IDQgaXMgbm93IG9mZmxpbmUNCj4gPiBbICAxNjcuNzk0MDI1XSBzbXBib290OiBCb290aW5nIE5v ZGUgMCBQcm9jZXNzb3IgNCBBUElDIDB4MQ0KPiA+IFsgIDE2Ny44MzcxMTRdIHNtcGJvb3Q6IENQ VSA1IGlzIG5vdyBvZmZsaW5lDQo+ID4gWyAgMTY4Ljg0NzAyNV0gc21wYm9vdDogQm9vdGluZyBO b2RlIDAgUHJvY2Vzc29yIDUgQVBJQyAweDMNCj4gPiBbICAxNjguODg5MzEyXSBzbXBib290OiBD UFUgNiBpcyBub3cgb2ZmbGluZQ0KPiA+IFsgIDE2OS44OTkwMzBdIHNtcGJvb3Q6IEJvb3Rpbmcg Tm9kZSAwIFByb2Nlc3NvciA2IEFQSUMgMHg1DQo+ID4gWyAgMTY5Ljk0NDEwNF0gc21wYm9vdDog Q1BVIDcgaXMgbm93IG9mZmxpbmUNCj4gPiBbICAxNzAuOTU0MDMyXSBzbXBib290OiBCb290aW5n IE5vZGUgMCBQcm9jZXNzb3IgNyBBUElDIDB4Nw0KPiA+IFsgIDE3MS4wMDAwMTZdIGk5MTVfcG11 X2Rpc2FibGU6IGV2ZW50LT5ody5wcmV2X2NvdW50PTEyODE1MTM4MzE5DQo+ID4gWyAgMTcxLjAw ODAxN10gaTkxNV9wbXVfZW5hYmxlOiBldmVudC0+aHcucHJldl9jb3VudD0xMjgxNTEzODMxOQ0K PiA+IFsgIDE3MS4wMDkzMDRdIHNtcGJvb3Q6IENQVSAwIGlzIG5vdyBvZmZsaW5lDQo+ID4gWyAg MTcyLjAxNzAyOF0gc21wYm9vdDogQm9vdGluZyBOb2RlIDAgUHJvY2Vzc29yIDAgQVBJQyAweDAN Cj4gPiBbICAxNzIuMDk2MTA0XSBzbXBib290OiBDUFUgMSBpcyBub3cgb2ZmbGluZQ0KPiA+IFsg IDE3My4xMDYwMjVdIHg4NjogQm9vdGluZyBTTVAgY29uZmlndXJhdGlvbjoNCj4gPiBbICAxNzMu MTA2MDI2XSBzbXBib290OiBCb290aW5nIE5vZGUgMCBQcm9jZXNzb3IgMSBBUElDIDB4Mg0KPiA+ IFsgIDE3My4xNDcwNzhdIHNtcGJvb3Q6IENQVSAyIGlzIG5vdyBvZmZsaW5lDQo+ID4gWyAgMTc0 LjE1MzAyNV0gc21wYm9vdDogQm9vdGluZyBOb2RlIDAgUHJvY2Vzc29yIDIgQVBJQyAweDQNCj4g PiBbICAxNzQuMTkyMDkzXSBzbXBib290OiBDUFUgMyBpcyBub3cgb2ZmbGluZQ0KPiA+IFsgIDE3 NS4xOTgwMjhdIHNtcGJvb3Q6IEJvb3RpbmcgTm9kZSAwIFByb2Nlc3NvciAzIEFQSUMgMHg2DQo+ ID4gWyAgMTc1LjIyOTA0Ml0gaTkxNV9wbXVfZGlzYWJsZTogZXZlbnQtPmh3LnByZXZfY291bnQ9 MTcwMzU4ODkwNzkNCj4gPiBbICAxNzUuMjQyMDMwXSBpOTE1X3BtdV9lbmFibGU6IGV2ZW50LT5o dy5wcmV2X2NvdW50PTE3MDM1ODg5MDc5DQo+ID4gWyAgMTc1LjI0MjE2M10gSVJRIGZpeHVwOiBp cnEgMTIwIG1vdmUgaW4gcHJvZ3Jlc3MsIG9sZCB2ZWN0b3IgMTMxDQo+ID4gWyAgMTc1LjI0MjE2 NV0gSVJRIGZpeHVwOiBpcnEgMTIxIG1vdmUgaW4gcHJvZ3Jlc3MsIG9sZCB2ZWN0b3IgMTQ3DQo+ ID4gWyAgMTc1LjI0MjE3MV0gSVJRIDEyNDogbm8gbG9uZ2VyIGFmZmluZSB0byBDUFU0DQo+ID4g WyAgMTc1LjI0MzQzNV0gc21wYm9vdDogQ1BVIDQgaXMgbm93IG9mZmxpbmUNCj4gPiBbICAxNzYu MjQ4MDQwXSBzbXBib290OiBCb290aW5nIE5vZGUgMCBQcm9jZXNzb3IgNCBBUElDIDB4MQ0KPiA+ IFsgIDE3Ni4yODUzMjhdIHNtcGJvb3Q6IENQVSA1IGlzIG5vdyBvZmZsaW5lDQo+ID4gWyAgMTc3 LjI5NjAzOV0gc21wYm9vdDogQm9vdGluZyBOb2RlIDAgUHJvY2Vzc29yIDUgQVBJQyAweDMNCj4g PiBbICAxNzcuMzI1MDY3XSBJUlEgMTI1OiBubyBsb25nZXIgYWZmaW5lIHRvIENQVTYNCj4gPiBb ICAxNzcuMzI2MDg3XSBzbXBib290OiBDUFUgNiBpcyBub3cgb2ZmbGluZQ0KPiA+IFsgIDE3OC4z MzUwMzZdIHNtcGJvb3Q6IEJvb3RpbmcgTm9kZSAwIFByb2Nlc3NvciA2IEFQSUMgMHg1DQo+ID4g WyAgMTc4LjM3NzA2M10gSVJRIDEyMjogbm8gbG9uZ2VyIGFmZmluZSB0byBDUFU3DQo+ID4gWyAg MTc4LjM3ODA4Nl0gc21wYm9vdDogQ1BVIDcgaXMgbm93IG9mZmxpbmUNCj4gPiBbICAxNzkuMzg4 MDI4XSBzbXBib290OiBCb290aW5nIE5vZGUgMCBQcm9jZXNzb3IgNyBBUElDIDB4Nw0KPiA+IFsg IDE3OS40NTQwMzBdIGk5MTVfcG11X2Rpc2FibGU6IGV2ZW50LT5ody5wcmV2X2NvdW50PTIxMjY5 ODU2OTY3DQo+ID4gWyAgMTc5LjQ3MDAyNl0gaTkxNV9wbXVfZW5hYmxlOiBldmVudC0+aHcucHJl dl9jb3VudD0yMTI2OTg1Njk2Nw0KPiA+IFsgIDE3OS40NzExMTBdIHNtcGJvb3Q6IENQVSAwIGlz IG5vdyBvZmZsaW5lDQo+ID4gWyAgMTgwLjQ4MTAyOF0gc21wYm9vdDogQm9vdGluZyBOb2RlIDAg UHJvY2Vzc29yIDAgQVBJQyAweDANCj4gPiBbICAxODAuNTUxMDc1XSBzbXBib290OiBDUFUgMSBp cyBub3cgb2ZmbGluZQ0KPiA+IFsgIDE4MS41NTgwMjldIHg4NjogQm9vdGluZyBTTVAgY29uZmln dXJhdGlvbjoNCj4gPiBbICAxODEuNTU4MDMwXSBzbXBib290OiBCb290aW5nIE5vZGUgMCBQcm9j ZXNzb3IgMSBBUElDIDB4Mg0KPiA+IFsgIDE4MS41OTUwOTZdIHNtcGJvb3Q6IENQVSAyIGlzIG5v dyBvZmZsaW5lDQo+ID4gWyAgMTgyLjYwNTAyOV0gc21wYm9vdDogQm9vdGluZyBOb2RlIDAgUHJv Y2Vzc29yIDIgQVBJQyAweDQNCj4gPiBbICAxODIuNjU3MDg0XSBzbXBib290OiBDUFUgMyBpcyBu b3cgb2ZmbGluZQ0KPiA+IFsgIDE4My42NjgwMzBdIHNtcGJvb3Q6IEJvb3RpbmcgTm9kZSAwIFBy b2Nlc3NvciAzIEFQSUMgMHg2DQo+ID4gWyAgMTgzLjcwOTAxN10gaTkxNV9wbXVfZGlzYWJsZTog ZXZlbnQtPmh3LnByZXZfY291bnQ9MjU0OTczNTg2NDQNCj4gPiBbICAxODMuNzI3MDE2XSBpOTE1 X3BtdV9lbmFibGU6IGV2ZW50LT5ody5wcmV2X2NvdW50PTI1NDk3MzU4NjQ0DQo+ID4gWyAgMTgz LjcyODMwNV0gc21wYm9vdDogQ1BVIDQgaXMgbm93IG9mZmxpbmUNCj4gPiBbICAxODQuNzM0MDI3 XSBzbXBib290OiBCb290aW5nIE5vZGUgMCBQcm9jZXNzb3IgNCBBUElDIDB4MQ0KPiA+IFsgIDE4 NC43NjcwOTBdIHNtcGJvb3Q6IENQVSA1IGlzIG5vdyBvZmZsaW5lDQo+ID4gWyAgMTg1Ljc3NzAz Nl0gc21wYm9vdDogQm9vdGluZyBOb2RlIDAgUHJvY2Vzc29yIDUgQVBJQyAweDMNCj4gPiBbICAx ODUuODIzMDk2XSBzbXBib290OiBDUFUgNiBpcyBub3cgb2ZmbGluZQ0KPiA+IFsgIDE4Ni44Mjkw NTFdIHNtcGJvb3Q6IEJvb3RpbmcgTm9kZSAwIFByb2Nlc3NvciA2IEFQSUMgMHg1DQo+ID4gWyAg MTg2Ljg1NjM1MF0gc21wYm9vdDogQ1BVIDcgaXMgbm93IG9mZmxpbmUNCj4gPiBbICAxODcuODYy MDUxXSBzbXBib290OiBCb290aW5nIE5vZGUgMCBQcm9jZXNzb3IgNyBBUElDIDB4Nw0KPiA+IFsg IDE4Ny44NzEyMTZdIFtJR1RdIHBlcmZfcG11OiBleGl0aW5nLCByZXQ9OTkNCj4gPiBbICAxODcu ODg5MTk5XSBDb25zb2xlOiBzd2l0Y2hpbmcgdG8gY29sb3VyIGZyYW1lIGJ1ZmZlciBkZXZpY2Ug MjQweDY3DQo+ID4gWyAgMTg3Ljg4OTU4M10gaTkxNV9wbXVfZGlzYWJsZTogZXZlbnQtPmh3LnBy ZXZfY291bnQ9Mjk3NTQwODA5NDENCj4gPiANCj4gPiBBbmQgdGhlIHJlc3VsdCB3aGljaCBJIGdv dCBpbiB1c2Vyc3BhY2UgZm9yIHRoaXMgcnVuIHdlcmUNCj4gPiAgICAgIEV4ZWN1dGVkIG9uIHJj czAgZm9yIDMyMDAzNTg3OTgxdXMNCj4gPiAgICAgICAgaTkxNS9yY3MwLWJ1c3kvOiAyMjQ3NDM2 NDYxdXMNCj4gPiANCj4gPiBBZnRlciB0aGF0IEkgZGVjaWRlZCB0byByb2xsIGJhY2sgdGhlIGNo YW5nZSB3aXRoIGNvdW50aW5nIHZhbHVlcyB3aGljaCBJIG1lbnRpb25lZCBiZWZvcmUsIGkuZS46 DQo+ID4gc3RhdGljIHZvaWQgaTkxNV9wbXVfZXZlbnRfcmVhZChzdHJ1Y3QgcGVyZl9ldmVudCAq ZXZlbnQpDQo+ID4gew0KPiA+IA0KPiA+IAlsb2NhbDY0X3NldCgmZXZlbnQtPmNvdW50LA0KPiA+ IAkJICAgIF9faTkxNV9wbXVfZXZlbnRfcmVhZChldmVudCkgLyotDQo+ID4gCQkgICAgbG9jYWw2 NF9yZWFkKCZldmVudC0+aHcucHJldl9jb3VudCkqLyk7DQo+ID4gfQ0KPiA+IA0KPiA+IEFuZCBJ IGdvdCB0ZXN0IFBBU1NFRCA6KToNCj4gPiAgICAgIEV4ZWN1dGVkIG9uIHJjczAgZm9yIDMyMDAy MjgyNjAzdXMNCj4gPiAgICAgICAgaTkxNS9yY3MwLWJ1c3kvOiAzMTk5ODg1NTA1MnVzDQo+ID4g ICAgICBTdWJ0ZXN0IGNwdV9vbmxpbmU6IFNVQ0NFU1MgKDMzLjk1MHMpDQo+ID4gDQo+ID4gQXQg dGhpcyBwb2ludCBJIG5lZWQgdG8gZ28gaG9tZSA6KS4gTWF5YmUgeW91IHdpbGwgaGF2ZSB0aW1l IHRvIGxvb2sgaW50byB0aGlzIGlzc3VlPyBJZiBub3QsIEkgd2lsbCBjb250aW51ZQ0KPiA+IHRv bW9ycm93Lg0KPiANCj4gSSBmb3Jnb3QgdG8gcnVuIHRoaXMgdGVzdCBzaW5jZSBJIGRpZCBub3Qg aGF2ZSB0aGUga2VybmVsIGZlYXR1cmUgDQo+IGVuYWJsZWQuIEJ1dCB5ZXMsIG5vdyB0aGF0IEkg dHJpZWQgaXQsIGl0IGlzIGZhaWxpbmcuDQo+IA0KPiBXaGF0IGlzIGhhcHBlbmluZyBpcyB0aGF0 IGV2ZW50IGRlbCAoc28gY291bnRlciBzdG9wIGFzIHdlbGwpIGlzIGdldHRpbmcgDQo+IGNhbGxl ZCB3aGVuIHRoZSBDUFUgZ29lcyBvZmZsaW5lLCBmb2xsb3dlZCBieSBhZGQtPnN0YXJ0LCBhbmQg dGhlIA0KPiBpbml0aWFsIGNvdW50ZXIgdmFsdWUgdGhlbiBnZXRzIHJlbG9hZGVkLg0KPiANCj4g SSBkb24ndCBzZWUgYSB3YXkgZm9yIGk5MTUgdG8gZGlzdGluZ3Vpc2ggYmV0d2VlbiB1c2Vyc3Bh Y2UgDQo+IHN0YXJ0aW5nL3N0b3BwaW5nIHRoZSBldmVudCwgYW5kIHBlcmYgY29yZSBkb2luZyB0 aGUgc2FtZSBpbiB0aGUgQ1BVIA0KPiBtaWdyYXRpb24gcHJvY2Vzcy4gUGVyaGFwcyBQZXRlciBj b3VsZCBoZWxwIGhlcmU/DQo+IA0KPiBJIGFtIHN0b3JpbmcgdGhlIGluaXRpYWwgY291bnRlciB2 YWx1ZSB3aGVuIHRoZSBjb3VudGVyIGlzIHN0YXJ0ZWQgc28gDQo+IHRoYXQgSSBjYW4gcmVwb3J0 IGl0J3MgcmVsYXRpdmUgdmFsdWUuIEluIG90aGVyIHdvcmRzIHRoZSBjaGFuZ2UgZnJvbSANCj4g ZXZlbnQgc3RhcnQgdG8gc3RvcC4gUGVyaGFwcyB0aGF0IGlzIG5vdCBjb3JyZWN0IGFuZCBzaG91 bGQgYmUgbGVmdCB0byANCj4gdXNlcnNwYWNlIHRvIGhhbmRsZT8NCj4gDQo+IE90aGVyd2lzZSB3 ZSBoYXZlIGNvdW50ZXJzIGxpa2UgZW5lcmd5IHVzZSwgYW5kIGV2ZW4gZW5naW5lIGJ1c3luZXNz LCANCj4gd2hpY2ggd2lsbC9jYW4gYWxyZWFkeSBiZSBhdCBzb21lIGxhcmdlIHZhbHVlIGJlZm9y ZSBQTVUgbW9uaXRvcmluZyANCj4gc3RhcnRzLiBXaGljaCBtYWtlcyB0aGluZ3MgbGlrZSAicGVy ZiBzdGF0IC1hIC1JIDxjb21tYW5kPiIsIG9yIGV2ZW4gDQo+IGp1c3Qgbm9ybWFsICJwZXJmIHN0 YXQgPGNvbW1hbmQ+IiwgYXR0cmlidXRlIGFsbCBwcmV2aW91cyB1c2FnZSAoZnJvbSANCj4gYmVm b3JlIHRoZSBjb21tYW5kIHByb2ZpbGluZyBzdGFydGVkKSB0byB0aGUgcmVwb3J0ZWQgc3RhdHMu DQo+IA0KDQpBY3R1YWxseSB0aGF0J3MgcHJldHR5IGVhc3kgdG8gZml4LiBUaGUgZm9sbG93aW5n IHBhdGNoIGlzIGRvaW5nIHRoYXQ6DQoNCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pOTE1X3BtdS5jDQpiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcG11LmMNCmluZGV4IGJj ZTQ5NTEuLjI3NzA5OGQgMTAwNjQ0DQotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3Bt dS5jDQorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3BtdS5jDQpAQCAtMzkwLDEwICsz OTAsMTggQEAgc3RhdGljIHU2NCBfX2k5MTVfcG11X2V2ZW50X3JlYWQoc3RydWN0IHBlcmZfZXZl bnQNCipldmVudCkNCiANCiBzdGF0aWMgdm9pZCBpOTE1X3BtdV9ldmVudF9yZWFkKHN0cnVjdCBw ZXJmX2V2ZW50ICpldmVudCkNCiB7DQorICAgICAgIHN0cnVjdCBod19wZXJmX2V2ZW50ICpod2Mg PSAmZXZlbnQtPmh3Ow0KKyAgICAgICB1NjQgcHJldl9yYXdfY291bnQsIG5ld19yYXdfY291bnQ7 DQogDQotICAgICAgIGxvY2FsNjRfc2V0KCZldmVudC0+Y291bnQsDQotICAgICAgICAgICAgICAg ICAgIF9faTkxNV9wbXVfZXZlbnRfcmVhZChldmVudCkgLQ0KLSAgICAgICAgICAgICAgICAgICBs b2NhbDY0X3JlYWQoJmV2ZW50LT5ody5wcmV2X2NvdW50KSk7DQorYWdhaW46DQorICAgICAgIHBy ZXZfcmF3X2NvdW50ID0gbG9jYWw2NF9yZWFkKCZod2MtPnByZXZfY291bnQpOw0KKyAgICAgICBu ZXdfcmF3X2NvdW50ID0gX19pOTE1X3BtdV9ldmVudF9yZWFkKGV2ZW50KTsNCisNCisgICAgICAg aWYgKGxvY2FsNjRfY21weGNoZygmaHdjLT5wcmV2X2NvdW50LCBwcmV2X3Jhd19jb3VudCwNCisg ICAgICAgICAgICAgICAgICAgICAgICAgICBuZXdfcmF3X2NvdW50KSAhPSBwcmV2X3Jhd19jb3Vu dCkNCisgICAgICAgICAgICAgICBnb3RvIGFnYWluOw0KKw0KKyAgICAgICBsb2NhbDY0X2FkZChu ZXdfcmF3X2NvdW50IC0gcHJldl9yYXdfY291bnQsICZldmVudC0+Y291bnQpOw0KIH0NCg0KDQpJ IGJlbGlldmUgeW91IG5lZWQgdG8gc3F1YXNoIGl0IHRvIHRoZSBtYWpvciBpOTE1IFBNVSBlbmFi bGluZyBvbmUuDQoNClNvLCB0aGUgaWRlYSBpczoNCjEuIGV2ZW50LT5jb3VudCBjb250YWlucyBj dXJyZW50IGNvdW50ZXIgdmFsdWUsIGl0IGlzIGV2ZXIgZ3Jvd2luZyBmb3INCnRoZSBwYXJ0aWN1 bGFyIGV2ZW50IF9pbnN0YW5jZV8sIGkuZS4gZXZlbiBpZiBldmVudCBpcyBzdG9wcGVkL3N0YXJ0 ZWQNCm9yIGFkZGVkL2RlbGV0ZWQsIHRpbGwgdGhpcyBldmVudCBleGlzdHMgKG5vdCBkZXN0cm95 ZWQpIGl0IGhvbGRzIGV2ZXINCmdyb3dpbmcgdmFsdWUNCjIuIFNpbmNlIGl0IGlzIGV2ZXIgZ3Jv d2luZywgaW4gdGhlIHJlYWQoKSB3ZSBhbHdheXMgYWRkIGEgX2RlbHRhXyB0bw0KdGhlIGV2ZW50 IGNvdW50IHdoZXJlIHN0YXJ0IHBvaW50IGlzIHdoZW4gZXZlbnQgZ290IGVuYWJsZWQgKHN0YXJ0 ZWQpDQozLiBPbiBQTVUgY29udGV4dCBtaWdyYXRpb24gdG8gYW5vdGhlciBDUFUgd2Ugd2lsbCBi ZSBpc3N1ZWQgYSBjYWxsIHRvDQpkZWwoUEVSRl9FRl9VUERBVEUpLiBUaHVzLCBoZXJlIGlzIHRo ZSB0cmljazoNCjMuMS4gVGhlIGZpcnN0IHRoaW5nIHdlIGRvIHdlIF91cGRhdGVfIGV2ZW50IGNv dW50IGFkZGluZyB0byB0aGUgY291bnQNCmV2ZXJ5dGhpbmcgd2UgZ2F0aGVyZWQgb24gdGhlIHBy ZXZpb3VzIENQVQ0KMy4yLiBUaGUgc2Vjb25kIHRoaW5nIC0gd2UgdXBkYXRlIGV2ZW50LT5ody5w cmV2X2NvdW50IHRvIHRoZSBuZXcgdmFsdWUuDQpOZXh0IHRpbWUgd2Ugd2lsbCBhZGQgZGVsdGEg Y291bnRpbmcgZnJvbSBpdA0KDQpXaXRoIHRoaXMgYWxsIHRlc3RzIEkgaGF2ZSBmb3IgUE1VIHBh c3NlZC4gVGhlIGNvZGUgYWJvdmUgaXMgdGFrZW4gZnJvbQ0KYXJjaC94ODYvZXZlbnRzL2ludGVs L2NzdGF0ZS5jIGFzIGlzLiBTbywgdGhhdCdzIHJlYWxseSBob3cgaXQgc2hvdWxkDQpiZS4NCg0K QW5kLi4uIEkgc2hvdWxkIHNheSB0aGF0IHdhcyB0aGUgbGFzdCB0ZWNobmljYWwgcHJvYmxlbSBJ IHNhdyBmb3IgaTkxNQ0KUE1VIGltcGxlbWVudGF0aW9uLiBXaXRoIGl0IHB1enpsZSBsb29rcyBj b21wbGV0ZSBmb3IgbWUuIDopLg0KDQo+IFJlZ2FyZHMsDQo+IA0KPiBUdnJ0a28NCg0KX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxp bmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJl ZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==