From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tvrtko Ursulin Subject: Re: [RFC v3 00/11] i915 PMU and engine busy stats Date: Wed, 13 Sep 2017 10:01:14 +0100 Message-ID: <234289d7-99e5-f78c-a34f-e28682e30576@linux.intel.com> References: <20170911152559.7077-1-tvrtko.ursulin@linux.intel.com> <1505152854.7443.6.camel@intel.com> <1505224750.6296.13.camel@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by gabe.freedesktop.org (Postfix) with ESMTPS id 721896E7CD for ; Wed, 13 Sep 2017 09:01:17 +0000 (UTC) In-Reply-To: <1505224750.6296.13.camel@intel.com> Content-Language: en-GB List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: "Rogozhkin, Dmitry V" Cc: "peterz@infradead.org" , "Intel-gfx@lists.freedesktop.org" List-Id: intel-gfx@lists.freedesktop.org Ck9uIDEyLzA5LzIwMTcgMjM6MDEsIFJvZ296aGtpbiwgRG1pdHJ5IFYgd3JvdGU6Cj4gT24gVHVl LCAyMDE3LTA5LTEyIGF0IDE1OjU0ICswMTAwLCBUdnJ0a28gVXJzdWxpbiB3cm90ZToKPj4gT24g MTIvMDkvMjAxNyAwMzowMywgUm9nb3poa2luLCBEbWl0cnkgViB3cm90ZToKPj4+IEhpLAo+Pj4K Pj4+IEp1c3QgdHJpZWQgdjMgc2VyaWVzLiBwZXJmLXN0YXQgd29ya3MgZmluZS4gRnJvbSB0aGUg SUdUIHRlc3RzIHdoaWNoIEkgd3JvdGUgZm9yIGk5MTUgUE1VCj4+PiAoaHR0cHM6Ly9wYXRjaHdv cmsuZnJlZWRlc2t0b3Aub3JnL3Nlcmllcy8yOTMxMy8pIGFsbCBwYXNzIChhc3N1bWluZyBwbXUu ZW5hYmxlZCB3aWxsIGJlIGV4cG9zZWQKPj4+IGluIGRlYnVnZnMpIGV4Y2VwdCBjcHVfb25saW5l IHN1YnRlc3QuIEFuZCB0aGlzIGlzIHByZXR0eSBpbnRlcmVzdGluZyAtIHNlZSBkZXRhaWxzIGJl bG93Lgo+Pj4KPj4+IE9rLCBiZSBwcmVwYXJlZCBmb3IgdGhlIGxvbmcgbWFpbDopLi4uCj4+Pgo+ Pj4gU28sIGNwdV9vbmxpbmUgc3VidGVzdCBsb2FkcyBSQ1MwIGVuZ2luZSAxMDAlIGFuZCBzdGFy dHMgdG8gcHV0IENQVXMgb2ZmbGluZSBvbmUgYnkgb25lIHN0YXJ0aW5nCj4+PiBmcm9tIENQVTAg KGRvbid0IGZvcmdldCB0byBoYXZlIENPTkZJR19CT09UUEFSQU1fSE9UUExVR19DUFUwPXkgaW4g LmNvbmZpZykuIFRlc3QgZXhwZWN0YXRpb24gaXMKPj4+IHRoYXQgaTkxNSBQTVUgd2lsbCByZXBv cnQgYWxtb3N0IDEwMCUgKHdpdGggMiUgdG9sZXJhbmNlKSBidXN5bmVzcyBvZiBSQ1MwLiBUZXN0 IHJlcXVlc3RzIG1ldHJpYwo+Pj4ganVzdCB0d2ljZTogYmVmb3JlIHJ1bm5pbmcgb24gUkNTMCBh bmQgcmlnaHQgYWZ0ZXIuIFRoaXMgZmFpbHMgYXMgZm9sbG93czoKPj4+Cj4+PiBFeGVjdXRlZCBv biByY3MwIGZvciAzMjAwNDI2MjE4NHVzCj4+PiAgICAgaTkxNS9yY3MwLWJ1c3kvOiAyMjI1NzIz OTk5dXMKPj4+IChwZXJmX3BtdTo2MzI1KSBDUklUSUNBTDogVGVzdCBhc3NlcnRpb24gZmFpbHVy ZSBmdW5jdGlvbiB0ZXN0X2NwdV9vbmxpbmUsIGZpbGUgcGVyZl9wbXUuYzo3MTk6Cj4+PiAocGVy Zl9wbXU6NjMyNSkgQ1JJVElDQUw6IEZhaWxlZCBhc3NlcnRpb246IHBlcmZfZWxhcHNlZCgmcG0u bWV0cmljc1swXSkgPiAoMS1VU0FHRV9UT0xFUkFOQ0UpICogZWxhcHNlZF9ucygmc3RhcnQsICZu b3cpCj4+PiBTdGFjayB0cmFjZToKPj4+ICAgICAjMCBbX19pZ3RfZmFpbF9hc3NlcnQrMHhmMV0K Pj4+ICAgICAjMSBbX19yZWFsX21haW43NzMrMHhmZjFdCj4+PiAgICAgIzIgW21haW4rMHgzNV0K Pj4+ICAgICAjMyBbX19saWJjX3N0YXJ0X21haW4rMHhmNV0KPj4+ICAgICAjNCBbX3N0YXJ0KzB4 MjldCj4+PiAgICAgIzUgWzx1bmtub3duPisweDI5XQo+Pj4gU3VidGVzdCBjcHVfb25saW5lIGZh aWxlZC4KPj4+ICoqKiogREVCVUcgKioqKgo+Pj4gKHBlcmZfcG11OjYzMjUpIERFQlVHOiBUZXN0 IHJlcXVpcmVtZW50IHBhc3NlZDogaXNfaG90cGx1Z19jcHUwKCkKPj4+IChwZXJmX3BtdTo2MzI1 KSBJTkZPOiBwZXJmX2luaXQ6IGVuYWJsZWQgMSBtZXRyaWNzIGZyb20gMSByZXF1ZXN0ZWQKPj4+ IChwZXJmX3BtdTo2MzI1KSBpb2N0bC13cmFwcGVycy1ERUJVRzogVGVzdCByZXF1aXJlbWVudCBw YXNzZWQ6IGdlbV9oYXNfcmluZyhmZCwgcmluZykKPj4+IChwZXJmX3BtdTo2MzI1KSBJTkZPOiBF eGVjdXRlZCBvbiByY3MwIGZvciAzMjAwNDI2MjE4NHVzCj4+PiAocGVyZl9wbXU6NjMyNSkgSU5G TzogICBpOTE1L3JjczAtYnVzeS86IDIyMjU3MjM5OTl1cwo+Pj4gKHBlcmZfcG11OjYzMjUpIENS SVRJQ0FMOiBUZXN0IGFzc2VydGlvbiBmYWlsdXJlIGZ1bmN0aW9uIHRlc3RfY3B1X29ubGluZSwg ZmlsZSBwZXJmX3BtdS5jOjcxOToKPj4+IChwZXJmX3BtdTo2MzI1KSBDUklUSUNBTDogRmFpbGVk IGFzc2VydGlvbjogcGVyZl9lbGFwc2VkKCZwbS5tZXRyaWNzWzBdKSA+ICgxLVVTQUdFX1RPTEVS QU5DRSkgKiBlbGFwc2VkX25zKCZzdGFydCwgJm5vdykKPj4+Cj4+PiBOb3cuIExvb2tzIGxpa2Ug dGhhdCBieSBpdHNlbGYgUE1VIGNvbnRleHQgbWlncmF0aW9uIHdvcmtzLiBGb3IgZXhhbXBsZSwg aWYgeW91IHdpbGwgY29tbWVudCBvdXQKPj4+ICJwZXJmX3BtdV9taWdyYXRlX2NvbnRleHQoJnBt dS0+YmFzZSwgY3B1LCB0YXJnZXQpIiB5b3Ugd2lsbCBnZXQ6Cj4+Pgo+Pj4gICAgICAgRXhlY3V0 ZWQgb24gcmNzMCBmb3IgMzIwMDQ0MzQ5MTh1cwo+Pj4gICAgICAgICBpOTE1L3JjczAtYnVzeS86 ICAgICA3NjYyMzcwN3VzCj4+Pgo+Pj4gQ29tcGFyZSB3aXRoIHByZXZpb3VzOgo+Pj4gICAgICAg RXhlY3V0ZWQgb24gcmNzMCBmb3IgMzIwMDQyNjIxODR1cwo+Pj4gICAgICAgICBpOTE1L3JjczAt YnVzeS86ICAgIDIyMjU3MjM5OTl1cwo+Pj4KPj4+IFRoaXMgdGVzdCBwYXNzZWQgb24gdGhlIHBy ZXZpb3VzIHNldCBvZiBwYXRjaGVzLCBJIG1lYW4gVHZydGtvJ3MgdjIgc2VyaWVzICsgbXkgcGF0 Y2hlcy4KPj4+Cj4+PiBTbywgaXQgc2VlbXMgd2UgYXJlIGxvb3NpbmcgY291bnRlciB2YWx1ZXMg c29tZWhvdy4gSSBzYXcgaW4gdGhlIHBhdGNoZXMgdGhhdCB0aGlzIHBsYWNlIHJlYWxseSB3YXMg bW9kaWZpZWQgLSB5b3UKPj4+IGhhdmUgYWRkZWQgc3VidHJhY3Rpb24gZnJvbSBpbml0aWFsIGNv dW50ZXIgdmFsdWU6Cj4+PiBzdGF0aWMgdm9pZCBpOTE1X3BtdV9ldmVudF9yZWFkKHN0cnVjdCBw ZXJmX2V2ZW50ICpldmVudCkKPj4+IHsKPj4+Cj4+PiAJbG9jYWw2NF9zZXQoJmV2ZW50LT5jb3Vu dCwKPj4+IAkJICAgIF9faTkxNV9wbXVfZXZlbnRfcmVhZChldmVudCkgLQo+Pj4gCQkgICAgbG9j YWw2NF9yZWFkKCZldmVudC0+aHcucHJldl9jb3VudCkpOwo+Pj4gfQo+Pj4KPj4+IEJ1dCBsb29r cyBsaWtlIHRoZSBwcm9ibGVtIGlzIHRoYXQgd2l0aCB0aGUgUE1VIGNvbnRleHQgbWlncmF0aW9u IHdlIGdldCBzZXF1ZW5jZSBvZiBldmVudHMgc3RhcnQvc3RvcCAob3IgbWF5YmUKPj4+IGFkZC9k ZWwpIHdoaWNoIGV2ZW50dWFsbHkgY2FsbCBvdXIgaTkxNV9wbXVfZW5hYmxlL2Rpc2FibGUuIEhl cmUgaXMgdGhlIGRtZXNnIGxvZyB3aXRoIHRoZSBvYnZpb3VzIHByaW50azoKPj4+Cj4+PiBbICAx NTMuOTcxMDk2XSBbSUdUXSBwZXJmX3BtdTogc3RhcnRpbmcgc3VidGVzdCBjcHVfb25saW5lCj4+ PiBbICAxNTMuOTcxMTUxXSBpOTE1X3BtdV9lbmFibGU6IGV2ZW50LT5ody5wcmV2X2NvdW50PTAK Pj4+IFsgIDE1NC4wMzYwMTVdIGk5MTVfcG11X2Rpc2FibGU6IGV2ZW50LT5ody5wcmV2X2NvdW50 PTAKPj4+IFsgIDE1NC4wNDgwMjddIGk5MTVfcG11X2VuYWJsZTogZXZlbnQtPmh3LnByZXZfY291 bnQ9MAo+Pj4gWyAgMTU0LjA0OTM0M10gc21wYm9vdDogQ1BVIDAgaXMgbm93IG9mZmxpbmUKPj4+ IFsgIDE1NS4wNTkwMjhdIHNtcGJvb3Q6IEJvb3RpbmcgTm9kZSAwIFByb2Nlc3NvciAwIEFQSUMg MHgwCj4+PiBbICAxNTUuMTU1MDc4XSBzbXBib290OiBDUFUgMSBpcyBub3cgb2ZmbGluZQo+Pj4g WyAgMTU2LjE2MTAyNl0geDg2OiBCb290aW5nIFNNUCBjb25maWd1cmF0aW9uOgo+Pj4gWyAgMTU2 LjE2MTAyN10gc21wYm9vdDogQm9vdGluZyBOb2RlIDAgUHJvY2Vzc29yIDEgQVBJQyAweDIKPj4+ IFsgIDE1Ni4xOTcwNjVdIElSUSAxMjI6IG5vIGxvbmdlciBhZmZpbmUgdG8gQ1BVMgo+Pj4gWyAg MTU2LjE5ODA4N10gc21wYm9vdDogQ1BVIDIgaXMgbm93IG9mZmxpbmUKPj4+IFsgIDE1Ny4yMDgw MjhdIHNtcGJvb3Q6IEJvb3RpbmcgTm9kZSAwIFByb2Nlc3NvciAyIEFQSUMgMHg0Cj4+PiBbICAx NTcuMjYzMDkzXSBzbXBib290OiBDUFUgMyBpcyBub3cgb2ZmbGluZQo+Pj4gWyAgMTU4LjI3MzAy Nl0gc21wYm9vdDogQm9vdGluZyBOb2RlIDAgUHJvY2Vzc29yIDMgQVBJQyAweDYKPj4+IFsgIDE1 OC4zMTAwMjZdIGk5MTVfcG11X2Rpc2FibGU6IGV2ZW50LT5ody5wcmV2X2NvdW50PTc2NjQ4MzA3 Cj4+PiBbICAxNTguMzE5MDIwXSBpOTE1X3BtdV9lbmFibGU6IGV2ZW50LT5ody5wcmV2X2NvdW50 PTc2NjQ4MzA3Cj4+PiBbICAxNTguMzE5MDk4XSBJUlEgMTI0OiBubyBsb25nZXIgYWZmaW5lIHRv IENQVTQKPj4+IFsgIDE1OC4zMjAzNjhdIHNtcGJvb3Q6IENQVSA0IGlzIG5vdyBvZmZsaW5lCj4+ PiBbICAxNTkuMzI2MDMwXSBzbXBib290OiBCb290aW5nIE5vZGUgMCBQcm9jZXNzb3IgNCBBUElD IDB4MQo+Pj4gWyAgMTU5LjM2NTMwNl0gc21wYm9vdDogQ1BVIDUgaXMgbm93IG9mZmxpbmUKPj4+ IFsgIDE2MC4zNzEwMzBdIHNtcGJvb3Q6IEJvb3RpbmcgTm9kZSAwIFByb2Nlc3NvciA1IEFQSUMg MHgzCj4+PiBbICAxNjAuNDIxMDc3XSBJUlEgMTI1OiBubyBsb25nZXIgYWZmaW5lIHRvIENQVTYK Pj4+IFsgIDE2MC40MjIwOTNdIHNtcGJvb3Q6IENQVSA2IGlzIG5vdyBvZmZsaW5lCj4+PiBbICAx NjEuNDI5MDMwXSBzbXBib290OiBCb290aW5nIE5vZGUgMCBQcm9jZXNzb3IgNiBBUElDIDB4NQo+ Pj4gWyAgMTYxLjQ2NzA5MV0gc21wYm9vdDogQ1BVIDcgaXMgbm93IG9mZmxpbmUKPj4+IFsgIDE2 Mi40NzMwMjddIHNtcGJvb3Q6IEJvb3RpbmcgTm9kZSAwIFByb2Nlc3NvciA3IEFQSUMgMHg3Cj4+ PiBbICAxNjIuNTI3MDE5XSBpOTE1X3BtdV9kaXNhYmxlOiBldmVudC0+aHcucHJldl9jb3VudD00 MzQ3NTQ4MjIyCj4+PiBbICAxNjIuNTQ2MDE3XSBpOTE1X3BtdV9lbmFibGU6IGV2ZW50LT5ody5w cmV2X2NvdW50PTQzNDc1NDgyMjIKPj4+IFsgIDE2Mi41NDczMTddIHNtcGJvb3Q6IENQVSAwIGlz IG5vdyBvZmZsaW5lCj4+PiBbICAxNjMuNTUzMDI4XSBzbXBib290OiBCb290aW5nIE5vZGUgMCBQ cm9jZXNzb3IgMCBBUElDIDB4MAo+Pj4gWyAgMTYzLjYyMTA4OV0gc21wYm9vdDogQ1BVIDEgaXMg bm93IG9mZmxpbmUKPj4+IFsgIDE2NC42MjcwMjhdIHg4NjogQm9vdGluZyBTTVAgY29uZmlndXJh dGlvbjoKPj4+IFsgIDE2NC42MjcwMjldIHNtcGJvb3Q6IEJvb3RpbmcgTm9kZSAwIFByb2Nlc3Nv ciAxIEFQSUMgMHgyCj4+PiBbICAxNjQuNjY5MzA4XSBzbXBib290OiBDUFUgMiBpcyBub3cgb2Zm bGluZQo+Pj4gWyAgMTY1LjY3OTAyNV0gc21wYm9vdDogQm9vdGluZyBOb2RlIDAgUHJvY2Vzc29y IDIgQVBJQyAweDQKPj4+IFsgIDE2NS43MTcwODldIHNtcGJvb3Q6IENQVSAzIGlzIG5vdyBvZmZs aW5lCj4+PiBbICAxNjYuNzIzMDI1XSBzbXBib290OiBCb290aW5nIE5vZGUgMCBQcm9jZXNzb3Ig MyBBUElDIDB4Ngo+Pj4gWyAgMTY2Ljc3NTAxNl0gaTkxNV9wbXVfZGlzYWJsZTogZXZlbnQtPmh3 LnByZXZfY291bnQ9ODU3NDE5NzMxMgo+Pj4gWyAgMTY2Ljc4NzAxNl0gaTkxNV9wbXVfZW5hYmxl OiBldmVudC0+aHcucHJldl9jb3VudD04NTc0MTk3MzEyCj4+PiBbICAxNjYuNzg4MzA5XSBzbXBi b290OiBDUFUgNCBpcyBub3cgb2ZmbGluZQo+Pj4gWyAgMTY3Ljc5NDAyNV0gc21wYm9vdDogQm9v dGluZyBOb2RlIDAgUHJvY2Vzc29yIDQgQVBJQyAweDEKPj4+IFsgIDE2Ny44MzcxMTRdIHNtcGJv b3Q6IENQVSA1IGlzIG5vdyBvZmZsaW5lCj4+PiBbICAxNjguODQ3MDI1XSBzbXBib290OiBCb290 aW5nIE5vZGUgMCBQcm9jZXNzb3IgNSBBUElDIDB4Mwo+Pj4gWyAgMTY4Ljg4OTMxMl0gc21wYm9v dDogQ1BVIDYgaXMgbm93IG9mZmxpbmUKPj4+IFsgIDE2OS44OTkwMzBdIHNtcGJvb3Q6IEJvb3Rp bmcgTm9kZSAwIFByb2Nlc3NvciA2IEFQSUMgMHg1Cj4+PiBbICAxNjkuOTQ0MTA0XSBzbXBib290 OiBDUFUgNyBpcyBub3cgb2ZmbGluZQo+Pj4gWyAgMTcwLjk1NDAzMl0gc21wYm9vdDogQm9vdGlu ZyBOb2RlIDAgUHJvY2Vzc29yIDcgQVBJQyAweDcKPj4+IFsgIDE3MS4wMDAwMTZdIGk5MTVfcG11 X2Rpc2FibGU6IGV2ZW50LT5ody5wcmV2X2NvdW50PTEyODE1MTM4MzE5Cj4+PiBbICAxNzEuMDA4 MDE3XSBpOTE1X3BtdV9lbmFibGU6IGV2ZW50LT5ody5wcmV2X2NvdW50PTEyODE1MTM4MzE5Cj4+ PiBbICAxNzEuMDA5MzA0XSBzbXBib290OiBDUFUgMCBpcyBub3cgb2ZmbGluZQo+Pj4gWyAgMTcy LjAxNzAyOF0gc21wYm9vdDogQm9vdGluZyBOb2RlIDAgUHJvY2Vzc29yIDAgQVBJQyAweDAKPj4+ IFsgIDE3Mi4wOTYxMDRdIHNtcGJvb3Q6IENQVSAxIGlzIG5vdyBvZmZsaW5lCj4+PiBbICAxNzMu MTA2MDI1XSB4ODY6IEJvb3RpbmcgU01QIGNvbmZpZ3VyYXRpb246Cj4+PiBbICAxNzMuMTA2MDI2 XSBzbXBib290OiBCb290aW5nIE5vZGUgMCBQcm9jZXNzb3IgMSBBUElDIDB4Mgo+Pj4gWyAgMTcz LjE0NzA3OF0gc21wYm9vdDogQ1BVIDIgaXMgbm93IG9mZmxpbmUKPj4+IFsgIDE3NC4xNTMwMjVd IHNtcGJvb3Q6IEJvb3RpbmcgTm9kZSAwIFByb2Nlc3NvciAyIEFQSUMgMHg0Cj4+PiBbICAxNzQu MTkyMDkzXSBzbXBib290OiBDUFUgMyBpcyBub3cgb2ZmbGluZQo+Pj4gWyAgMTc1LjE5ODAyOF0g c21wYm9vdDogQm9vdGluZyBOb2RlIDAgUHJvY2Vzc29yIDMgQVBJQyAweDYKPj4+IFsgIDE3NS4y MjkwNDJdIGk5MTVfcG11X2Rpc2FibGU6IGV2ZW50LT5ody5wcmV2X2NvdW50PTE3MDM1ODg5MDc5 Cj4+PiBbICAxNzUuMjQyMDMwXSBpOTE1X3BtdV9lbmFibGU6IGV2ZW50LT5ody5wcmV2X2NvdW50 PTE3MDM1ODg5MDc5Cj4+PiBbICAxNzUuMjQyMTYzXSBJUlEgZml4dXA6IGlycSAxMjAgbW92ZSBp biBwcm9ncmVzcywgb2xkIHZlY3RvciAxMzEKPj4+IFsgIDE3NS4yNDIxNjVdIElSUSBmaXh1cDog aXJxIDEyMSBtb3ZlIGluIHByb2dyZXNzLCBvbGQgdmVjdG9yIDE0Nwo+Pj4gWyAgMTc1LjI0MjE3 MV0gSVJRIDEyNDogbm8gbG9uZ2VyIGFmZmluZSB0byBDUFU0Cj4+PiBbICAxNzUuMjQzNDM1XSBz bXBib290OiBDUFUgNCBpcyBub3cgb2ZmbGluZQo+Pj4gWyAgMTc2LjI0ODA0MF0gc21wYm9vdDog Qm9vdGluZyBOb2RlIDAgUHJvY2Vzc29yIDQgQVBJQyAweDEKPj4+IFsgIDE3Ni4yODUzMjhdIHNt cGJvb3Q6IENQVSA1IGlzIG5vdyBvZmZsaW5lCj4+PiBbICAxNzcuMjk2MDM5XSBzbXBib290OiBC b290aW5nIE5vZGUgMCBQcm9jZXNzb3IgNSBBUElDIDB4Mwo+Pj4gWyAgMTc3LjMyNTA2N10gSVJR IDEyNTogbm8gbG9uZ2VyIGFmZmluZSB0byBDUFU2Cj4+PiBbICAxNzcuMzI2MDg3XSBzbXBib290 OiBDUFUgNiBpcyBub3cgb2ZmbGluZQo+Pj4gWyAgMTc4LjMzNTAzNl0gc21wYm9vdDogQm9vdGlu ZyBOb2RlIDAgUHJvY2Vzc29yIDYgQVBJQyAweDUKPj4+IFsgIDE3OC4zNzcwNjNdIElSUSAxMjI6 IG5vIGxvbmdlciBhZmZpbmUgdG8gQ1BVNwo+Pj4gWyAgMTc4LjM3ODA4Nl0gc21wYm9vdDogQ1BV IDcgaXMgbm93IG9mZmxpbmUKPj4+IFsgIDE3OS4zODgwMjhdIHNtcGJvb3Q6IEJvb3RpbmcgTm9k ZSAwIFByb2Nlc3NvciA3IEFQSUMgMHg3Cj4+PiBbICAxNzkuNDU0MDMwXSBpOTE1X3BtdV9kaXNh YmxlOiBldmVudC0+aHcucHJldl9jb3VudD0yMTI2OTg1Njk2Nwo+Pj4gWyAgMTc5LjQ3MDAyNl0g aTkxNV9wbXVfZW5hYmxlOiBldmVudC0+aHcucHJldl9jb3VudD0yMTI2OTg1Njk2Nwo+Pj4gWyAg MTc5LjQ3MTExMF0gc21wYm9vdDogQ1BVIDAgaXMgbm93IG9mZmxpbmUKPj4+IFsgIDE4MC40ODEw MjhdIHNtcGJvb3Q6IEJvb3RpbmcgTm9kZSAwIFByb2Nlc3NvciAwIEFQSUMgMHgwCj4+PiBbICAx ODAuNTUxMDc1XSBzbXBib290OiBDUFUgMSBpcyBub3cgb2ZmbGluZQo+Pj4gWyAgMTgxLjU1ODAy OV0geDg2OiBCb290aW5nIFNNUCBjb25maWd1cmF0aW9uOgo+Pj4gWyAgMTgxLjU1ODAzMF0gc21w Ym9vdDogQm9vdGluZyBOb2RlIDAgUHJvY2Vzc29yIDEgQVBJQyAweDIKPj4+IFsgIDE4MS41OTUw OTZdIHNtcGJvb3Q6IENQVSAyIGlzIG5vdyBvZmZsaW5lCj4+PiBbICAxODIuNjA1MDI5XSBzbXBi b290OiBCb290aW5nIE5vZGUgMCBQcm9jZXNzb3IgMiBBUElDIDB4NAo+Pj4gWyAgMTgyLjY1NzA4 NF0gc21wYm9vdDogQ1BVIDMgaXMgbm93IG9mZmxpbmUKPj4+IFsgIDE4My42NjgwMzBdIHNtcGJv b3Q6IEJvb3RpbmcgTm9kZSAwIFByb2Nlc3NvciAzIEFQSUMgMHg2Cj4+PiBbICAxODMuNzA5MDE3 XSBpOTE1X3BtdV9kaXNhYmxlOiBldmVudC0+aHcucHJldl9jb3VudD0yNTQ5NzM1ODY0NAo+Pj4g WyAgMTgzLjcyNzAxNl0gaTkxNV9wbXVfZW5hYmxlOiBldmVudC0+aHcucHJldl9jb3VudD0yNTQ5 NzM1ODY0NAo+Pj4gWyAgMTgzLjcyODMwNV0gc21wYm9vdDogQ1BVIDQgaXMgbm93IG9mZmxpbmUK Pj4+IFsgIDE4NC43MzQwMjddIHNtcGJvb3Q6IEJvb3RpbmcgTm9kZSAwIFByb2Nlc3NvciA0IEFQ SUMgMHgxCj4+PiBbICAxODQuNzY3MDkwXSBzbXBib290OiBDUFUgNSBpcyBub3cgb2ZmbGluZQo+ Pj4gWyAgMTg1Ljc3NzAzNl0gc21wYm9vdDogQm9vdGluZyBOb2RlIDAgUHJvY2Vzc29yIDUgQVBJ QyAweDMKPj4+IFsgIDE4NS44MjMwOTZdIHNtcGJvb3Q6IENQVSA2IGlzIG5vdyBvZmZsaW5lCj4+ PiBbICAxODYuODI5MDUxXSBzbXBib290OiBCb290aW5nIE5vZGUgMCBQcm9jZXNzb3IgNiBBUElD IDB4NQo+Pj4gWyAgMTg2Ljg1NjM1MF0gc21wYm9vdDogQ1BVIDcgaXMgbm93IG9mZmxpbmUKPj4+ IFsgIDE4Ny44NjIwNTFdIHNtcGJvb3Q6IEJvb3RpbmcgTm9kZSAwIFByb2Nlc3NvciA3IEFQSUMg MHg3Cj4+PiBbICAxODcuODcxMjE2XSBbSUdUXSBwZXJmX3BtdTogZXhpdGluZywgcmV0PTk5Cj4+ PiBbICAxODcuODg5MTk5XSBDb25zb2xlOiBzd2l0Y2hpbmcgdG8gY29sb3VyIGZyYW1lIGJ1ZmZl ciBkZXZpY2UgMjQweDY3Cj4+PiBbICAxODcuODg5NTgzXSBpOTE1X3BtdV9kaXNhYmxlOiBldmVu dC0+aHcucHJldl9jb3VudD0yOTc1NDA4MDk0MQo+Pj4KPj4+IEFuZCB0aGUgcmVzdWx0IHdoaWNo IEkgZ290IGluIHVzZXJzcGFjZSBmb3IgdGhpcyBydW4gd2VyZQo+Pj4gICAgICAgRXhlY3V0ZWQg b24gcmNzMCBmb3IgMzIwMDM1ODc5ODF1cwo+Pj4gICAgICAgICBpOTE1L3JjczAtYnVzeS86IDIy NDc0MzY0NjF1cwo+Pj4KPj4+IEFmdGVyIHRoYXQgSSBkZWNpZGVkIHRvIHJvbGwgYmFjayB0aGUg Y2hhbmdlIHdpdGggY291bnRpbmcgdmFsdWVzIHdoaWNoIEkgbWVudGlvbmVkIGJlZm9yZSwgaS5l LjoKPj4+IHN0YXRpYyB2b2lkIGk5MTVfcG11X2V2ZW50X3JlYWQoc3RydWN0IHBlcmZfZXZlbnQg KmV2ZW50KQo+Pj4gewo+Pj4KPj4+IAlsb2NhbDY0X3NldCgmZXZlbnQtPmNvdW50LAo+Pj4gCQkg ICAgX19pOTE1X3BtdV9ldmVudF9yZWFkKGV2ZW50KSAvKi0KPj4+IAkJICAgIGxvY2FsNjRfcmVh ZCgmZXZlbnQtPmh3LnByZXZfY291bnQpKi8pOwo+Pj4gfQo+Pj4KPj4+IEFuZCBJIGdvdCB0ZXN0 IFBBU1NFRCA6KToKPj4+ICAgICAgIEV4ZWN1dGVkIG9uIHJjczAgZm9yIDMyMDAyMjgyNjAzdXMK Pj4+ICAgICAgICAgaTkxNS9yY3MwLWJ1c3kvOiAzMTk5ODg1NTA1MnVzCj4+PiAgICAgICBTdWJ0 ZXN0IGNwdV9vbmxpbmU6IFNVQ0NFU1MgKDMzLjk1MHMpCj4+Pgo+Pj4gQXQgdGhpcyBwb2ludCBJ IG5lZWQgdG8gZ28gaG9tZSA6KS4gTWF5YmUgeW91IHdpbGwgaGF2ZSB0aW1lIHRvIGxvb2sgaW50 byB0aGlzIGlzc3VlPyBJZiBub3QsIEkgd2lsbCBjb250aW51ZQo+Pj4gdG9tb3Jyb3cuCj4+Cj4+ IEkgZm9yZ290IHRvIHJ1biB0aGlzIHRlc3Qgc2luY2UgSSBkaWQgbm90IGhhdmUgdGhlIGtlcm5l bCBmZWF0dXJlCj4+IGVuYWJsZWQuIEJ1dCB5ZXMsIG5vdyB0aGF0IEkgdHJpZWQgaXQsIGl0IGlz IGZhaWxpbmcuCj4+Cj4+IFdoYXQgaXMgaGFwcGVuaW5nIGlzIHRoYXQgZXZlbnQgZGVsIChzbyBj b3VudGVyIHN0b3AgYXMgd2VsbCkgaXMgZ2V0dGluZwo+PiBjYWxsZWQgd2hlbiB0aGUgQ1BVIGdv ZXMgb2ZmbGluZSwgZm9sbG93ZWQgYnkgYWRkLT5zdGFydCwgYW5kIHRoZQo+PiBpbml0aWFsIGNv dW50ZXIgdmFsdWUgdGhlbiBnZXRzIHJlbG9hZGVkLgo+Pgo+PiBJIGRvbid0IHNlZSBhIHdheSBm b3IgaTkxNSB0byBkaXN0aW5ndWlzaCBiZXR3ZWVuIHVzZXJzcGFjZQo+PiBzdGFydGluZy9zdG9w cGluZyB0aGUgZXZlbnQsIGFuZCBwZXJmIGNvcmUgZG9pbmcgdGhlIHNhbWUgaW4gdGhlIENQVQo+ PiBtaWdyYXRpb24gcHJvY2Vzcy4gUGVyaGFwcyBQZXRlciBjb3VsZCBoZWxwIGhlcmU/Cj4+Cj4+ IEkgYW0gc3RvcmluZyB0aGUgaW5pdGlhbCBjb3VudGVyIHZhbHVlIHdoZW4gdGhlIGNvdW50ZXIg aXMgc3RhcnRlZCBzbwo+PiB0aGF0IEkgY2FuIHJlcG9ydCBpdCdzIHJlbGF0aXZlIHZhbHVlLiBJ biBvdGhlciB3b3JkcyB0aGUgY2hhbmdlIGZyb20KPj4gZXZlbnQgc3RhcnQgdG8gc3RvcC4gUGVy aGFwcyB0aGF0IGlzIG5vdCBjb3JyZWN0IGFuZCBzaG91bGQgYmUgbGVmdCB0bwo+PiB1c2Vyc3Bh Y2UgdG8gaGFuZGxlPwo+Pgo+PiBPdGhlcndpc2Ugd2UgaGF2ZSBjb3VudGVycyBsaWtlIGVuZXJn eSB1c2UsIGFuZCBldmVuIGVuZ2luZSBidXN5bmVzcywKPj4gd2hpY2ggd2lsbC9jYW4gYWxyZWFk eSBiZSBhdCBzb21lIGxhcmdlIHZhbHVlIGJlZm9yZSBQTVUgbW9uaXRvcmluZwo+PiBzdGFydHMu IFdoaWNoIG1ha2VzIHRoaW5ncyBsaWtlICJwZXJmIHN0YXQgLWEgLUkgPGNvbW1hbmQ+Iiwgb3Ig ZXZlbgo+PiBqdXN0IG5vcm1hbCAicGVyZiBzdGF0IDxjb21tYW5kPiIsIGF0dHJpYnV0ZSBhbGwg cHJldmlvdXMgdXNhZ2UgKGZyb20KPj4gYmVmb3JlIHRoZSBjb21tYW5kIHByb2ZpbGluZyBzdGFy dGVkKSB0byB0aGUgcmVwb3J0ZWQgc3RhdHMuCj4+Cj4gCj4gQWN0dWFsbHkgdGhhdCdzIHByZXR0 eSBlYXN5IHRvIGZpeC4gVGhlIGZvbGxvd2luZyBwYXRjaCBpcyBkb2luZyB0aGF0Ogo+IAo+IGRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3BtdS5jCj4gYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pOTE1X3BtdS5jCj4gaW5kZXggYmNlNDk1MS4uMjc3MDk4ZCAxMDA2NDQKPiAt LS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3BtdS5jCj4gKysrIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV9wbXUuYwo+IEBAIC0zOTAsMTAgKzM5MCwxOCBAQCBzdGF0aWMgdTY0IF9f aTkxNV9wbXVfZXZlbnRfcmVhZChzdHJ1Y3QgcGVyZl9ldmVudAo+ICpldmVudCkKPiAgIAo+ICAg c3RhdGljIHZvaWQgaTkxNV9wbXVfZXZlbnRfcmVhZChzdHJ1Y3QgcGVyZl9ldmVudCAqZXZlbnQp Cj4gICB7Cj4gKyAgICAgICBzdHJ1Y3QgaHdfcGVyZl9ldmVudCAqaHdjID0gJmV2ZW50LT5odzsK PiArICAgICAgIHU2NCBwcmV2X3Jhd19jb3VudCwgbmV3X3Jhd19jb3VudDsKPiAgIAo+IC0gICAg ICAgbG9jYWw2NF9zZXQoJmV2ZW50LT5jb3VudCwKPiAtICAgICAgICAgICAgICAgICAgIF9faTkx NV9wbXVfZXZlbnRfcmVhZChldmVudCkgLQo+IC0gICAgICAgICAgICAgICAgICAgbG9jYWw2NF9y ZWFkKCZldmVudC0+aHcucHJldl9jb3VudCkpOwo+ICthZ2FpbjoKPiArICAgICAgIHByZXZfcmF3 X2NvdW50ID0gbG9jYWw2NF9yZWFkKCZod2MtPnByZXZfY291bnQpOwo+ICsgICAgICAgbmV3X3Jh d19jb3VudCA9IF9faTkxNV9wbXVfZXZlbnRfcmVhZChldmVudCk7Cj4gKwo+ICsgICAgICAgaWYg KGxvY2FsNjRfY21weGNoZygmaHdjLT5wcmV2X2NvdW50LCBwcmV2X3Jhd19jb3VudCwKPiArICAg ICAgICAgICAgICAgICAgICAgICAgICAgbmV3X3Jhd19jb3VudCkgIT0gcHJldl9yYXdfY291bnQp Cj4gKyAgICAgICAgICAgICAgIGdvdG8gYWdhaW47Cj4gKwo+ICsgICAgICAgbG9jYWw2NF9hZGQo bmV3X3Jhd19jb3VudCAtIHByZXZfcmF3X2NvdW50LCAmZXZlbnQtPmNvdW50KTsKPiAgIH0KPiAK PiAKPiBJIGJlbGlldmUgeW91IG5lZWQgdG8gc3F1YXNoIGl0IHRvIHRoZSBtYWpvciBpOTE1IFBN VSBlbmFibGluZyBvbmUuCj4gCj4gU28sIHRoZSBpZGVhIGlzOgo+IDEuIGV2ZW50LT5jb3VudCBj b250YWlucyBjdXJyZW50IGNvdW50ZXIgdmFsdWUsIGl0IGlzIGV2ZXIgZ3Jvd2luZyBmb3IKPiB0 aGUgcGFydGljdWxhciBldmVudCBfaW5zdGFuY2VfLCBpLmUuIGV2ZW4gaWYgZXZlbnQgaXMgc3Rv cHBlZC9zdGFydGVkCj4gb3IgYWRkZWQvZGVsZXRlZCwgdGlsbCB0aGlzIGV2ZW50IGV4aXN0cyAo bm90IGRlc3Ryb3llZCkgaXQgaG9sZHMgZXZlcgo+IGdyb3dpbmcgdmFsdWUKPiAyLiBTaW5jZSBp dCBpcyBldmVyIGdyb3dpbmcsIGluIHRoZSByZWFkKCkgd2UgYWx3YXlzIGFkZCBhIF9kZWx0YV8g dG8KPiB0aGUgZXZlbnQgY291bnQgd2hlcmUgc3RhcnQgcG9pbnQgaXMgd2hlbiBldmVudCBnb3Qg ZW5hYmxlZCAoc3RhcnRlZCkKPiAzLiBPbiBQTVUgY29udGV4dCBtaWdyYXRpb24gdG8gYW5vdGhl ciBDUFUgd2Ugd2lsbCBiZSBpc3N1ZWQgYSBjYWxsIHRvCj4gZGVsKFBFUkZfRUZfVVBEQVRFKS4g VGh1cywgaGVyZSBpcyB0aGUgdHJpY2s6Cj4gMy4xLiBUaGUgZmlyc3QgdGhpbmcgd2UgZG8gd2Ug X3VwZGF0ZV8gZXZlbnQgY291bnQgYWRkaW5nIHRvIHRoZSBjb3VudAo+IGV2ZXJ5dGhpbmcgd2Ug Z2F0aGVyZWQgb24gdGhlIHByZXZpb3VzIENQVQo+IDMuMi4gVGhlIHNlY29uZCB0aGluZyAtIHdl IHVwZGF0ZSBldmVudC0+aHcucHJldl9jb3VudCB0byB0aGUgbmV3IHZhbHVlLgo+IE5leHQgdGlt ZSB3ZSB3aWxsIGFkZCBkZWx0YSBjb3VudGluZyBmcm9tIGl0Cj4gCj4gV2l0aCB0aGlzIGFsbCB0 ZXN0cyBJIGhhdmUgZm9yIFBNVSBwYXNzZWQuIFRoZSBjb2RlIGFib3ZlIGlzIHRha2VuIGZyb20K PiBhcmNoL3g4Ni9ldmVudHMvaW50ZWwvY3N0YXRlLmMgYXMgaXMuIFNvLCB0aGF0J3MgcmVhbGx5 IGhvdyBpdCBzaG91bGQKPiBiZS4KCk1ha2VzIHNlbnNlLCBzaW1wbGUgc29sdXRpb24gd2hpY2gg SSBvdmVybG9va2VkLiA6SQoKSSd2ZSBzZW50IGEgdjYgd2l0aCB0aGlzIGZpeCBhbmQgdGhlIHVw ZGF0ZWQgdjQgY2hhbmdlbG9nLiBKdXN0IG1hbmFnZWQgCnRvIGRvIGl0IGluaXRpYWxseSBhZ2Fp bnN0IHRoZSB3cm9uZyBtZXNzYWdlIGluIHRoZSB0aHJlYWQsIGhvcGVmdWxseSAKcGF0Y2h3b3Jr IGlzIG5vdCBjb25mdXNlZCBiZXlvbmQgcmVwYWlyIG5vdy4KCj4gQW5kLi4uIEkgc2hvdWxkIHNh eSB0aGF0IHdhcyB0aGUgbGFzdCB0ZWNobmljYWwgcHJvYmxlbSBJIHNhdyBmb3IgaTkxNQo+IFBN VSBpbXBsZW1lbnRhdGlvbi4gV2l0aCBpdCBwdXp6bGUgbG9va3MgY29tcGxldGUgZm9yIG1lLiA6 KS4KClNvIHRpbWUgdG8gcG9rZSBDaHJpcyBJIGd1ZXNzLgoKUmVnYXJkcywKClR2cnRrbwpfX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFp bGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5m cmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK