From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by dpdk.org (Postfix) with ESMTP id BEECE5952 for ; Tue, 25 Aug 2015 19:34:01 +0200 (CEST) Received: from fmsmga003.fm.intel.com ([10.253.24.29]) by fmsmga102.fm.intel.com with ESMTP; 25 Aug 2015 10:34:00 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.17,747,1437462000"; d="scan'208";a="548333899" Received: from irsmsx107.ger.corp.intel.com ([163.33.3.99]) by FMSMGA003.fm.intel.com with ESMTP; 25 Aug 2015 10:34:00 -0700 Received: from irsmsx105.ger.corp.intel.com ([169.254.7.51]) by IRSMSX107.ger.corp.intel.com ([169.254.10.97]) with mapi id 14.03.0224.002; Tue, 25 Aug 2015 18:33:58 +0100 From: "Ananyev, Konstantin" To: Vlad Zolotarov , "Lu, Wenzhuo" Thread-Topic: [dpdk-dev] [PATCH v1] ixgbe_pmd: forbid tx_rs_thresh above 1 for all NICs but 82598 Thread-Index: AQHQ1fLdzr8LLH2vnUGzlbtkZ07kmp4KUJ2AgACZZoCAB4kdgIAARtIAgAA6/ACAABrDAIABg+NQgAAPYsn//+95AIAIdO+g Date: Tue, 25 Aug 2015 17:33:57 +0000 Message-ID: <2601191342CEEE43887BDE71AB97725836A7F7B5@irsmsx105.ger.corp.intel.com> References: <1439489195-31553-1-git-send-email-vladz@cloudius-systems.com> <55CD7EA5.6060100@cloudius-systems.com> <6A0DE07E22DDAD4C9103DF62FEBC0909D3E116@shsmsx102.ccr.corp.intel.com> <2601191342CEEE43887BDE71AB97725836A76983@irsmsx105.ger.corp.intel.com> <55D4543E.9000808@cloudius-systems.com> <2601191342CEEE43887BDE71AB97725836A7BEC4@irsmsx105.ger.corp.intel.com> <55D59639.7070206@cloudius-systems.com> <55D59852.30002@cloudius-systems.com> <55D598AA.50209@cloudius-systems.com> In-Reply-To: <55D598AA.50209@cloudius-systems.com> Accept-Language: en-IE, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [163.33.239.180] Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 Cc: "dev@dpdk.org" Subject: Re: [dpdk-dev] [PATCH v1] ixgbe_pmd: forbid tx_rs_thresh above 1 for all NICs but 82598 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 25 Aug 2015 17:34:04 -0000 SGkgVmxhZCwNCg0KPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBWbGFkIFpv bG90YXJvdiBbbWFpbHRvOnZsYWR6QGNsb3VkaXVzLXN5c3RlbXMuY29tXQ0KPiBTZW50OiBUaHVy c2RheSwgQXVndXN0IDIwLCAyMDE1IDEwOjA3IEFNDQo+IFRvOiBBbmFueWV2LCBLb25zdGFudGlu OyBMdSwgV2Vuemh1bw0KPiBDYzogZGV2QGRwZGsub3JnDQo+IFN1YmplY3Q6IFJlOiBbZHBkay1k ZXZdIFtQQVRDSCB2MV0gaXhnYmVfcG1kOiBmb3JiaWQgdHhfcnNfdGhyZXNoIGFib3ZlIDEgZm9y IGFsbCBOSUNzIGJ1dCA4MjU5OA0KPiANCj4gDQo+IA0KPiBPbiAwOC8yMC8xNSAxMjowNSwgVmxh ZCBab2xvdGFyb3Ygd3JvdGU6DQo+ID4NCj4gPg0KPiA+IE9uIDA4LzIwLzE1IDExOjU2LCBWbGFk IFpvbG90YXJvdiB3cm90ZToNCj4gPj4NCj4gPj4NCj4gPj4gT24gMDgvMjAvMTUgMTE6NDEsIEFu YW55ZXYsIEtvbnN0YW50aW4gd3JvdGU6DQo+ID4+PiBIaSBWbGFkLA0KPiA+Pj4NCj4gPj4+PiAt LS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+Pj4+IEZyb206IFZsYWQgWm9sb3Rhcm92IFtt YWlsdG86dmxhZHpAY2xvdWRpdXMtc3lzdGVtcy5jb21dDQo+ID4+Pj4gU2VudDogV2VkbmVzZGF5 LCBBdWd1c3QgMTksIDIwMTUgMTE6MDMgQU0NCj4gPj4+PiBUbzogQW5hbnlldiwgS29uc3RhbnRp bjsgTHUsIFdlbnpodW8NCj4gPj4+PiBDYzogZGV2QGRwZGsub3JnDQo+ID4+Pj4gU3ViamVjdDog UmU6IFtkcGRrLWRldl0gW1BBVENIIHYxXSBpeGdiZV9wbWQ6IGZvcmJpZCB0eF9yc190aHJlc2gN Cj4gPj4+PiBhYm92ZSAxIGZvciBhbGwgTklDcyBidXQgODI1OTgNCj4gPj4+Pg0KPiA+Pj4+DQo+ ID4+Pj4NCj4gPj4+PiBPbiAwOC8xOS8xNSAxMDo0MywgQW5hbnlldiwgS29uc3RhbnRpbiB3cm90 ZToNCj4gPj4+Pj4gSGkgVmxhZCwNCj4gPj4+Pj4gU29ycnkgZm9yIGRlbGF5IHdpdGggcmV2aWV3 LCBJIGFtIE9PTyB0aWxsIG5leHQgd2Vlay4NCj4gPj4+Pj4gTWVhbndoaWxlLCBmZXcgcXVlc3Rp b25zL2NvbW1lbnRzIGZyb20gbWUuDQo+ID4+Pj4gSGksIEtvbnN0YW50aW4sIGxvbmcgdGltZSBu byBzZWUuLi4gOykNCj4gPj4+Pg0KPiA+Pj4+Pj4+Pj4+IFRoaXMgcGF0Y2ggZml4ZXMgdGhlIFR4 IGhhbmcgd2Ugd2VyZSBjb25zdGFudGx5IGhpdHRpbmcgd2l0aCBhDQo+ID4+Pj4+PiBzZWFzdGFy LWJhc2VkDQo+ID4+Pj4+Pj4+Pj4gYXBwbGljYXRpb24gb24geDU0MCBOSUMuDQo+ID4+Pj4+Pj4+ PiBDb3VsZCB5b3UgaGVscCB0byBzaGFyZSB3aXRoIHVzIGhvdyB0byByZXByb2R1Y2UgdGhlIHR4 IGhhbmcNCj4gPj4+Pj4+Pj4+IGlzc3VlLA0KPiA+Pj4+Pj4gd2l0aCB1c2luZw0KPiA+Pj4+Pj4+ Pj4gdHlwaWNhbCBEUERLIGV4YW1wbGVzPw0KPiA+Pj4+Pj4+PiBTb3JyeS4gSSdtIG5vdCB2ZXJ5 IGZhbWlsaWFyIHdpdGggdGhlIHR5cGljYWwgRFBESyBleGFtcGxlcyB0bw0KPiA+Pj4+Pj4+PiBo ZWxwIHUNCj4gPj4+Pj4+Pj4gaGVyZS4gSG93ZXZlciB0aGlzIGlzIHF1aXRlIGlycmVsZXZhbnQg c2luY2Ugd2l0aG91dCB0aGlzIHRoaXMNCj4gPj4+Pj4+Pj4gcGF0Y2gNCj4gPj4+Pj4+Pj4gaXhn YmUgUE1EIG9idmlvdXNseSBhYnVzZXMgdGhlIEhXIHNwZWMgYXMgaGFzIGJlZW4gZXhwbGFpbmVk DQo+ID4+Pj4+Pj4+IGFib3ZlLg0KPiA+Pj4+Pj4+Pg0KPiA+Pj4+Pj4+PiBXZSBzYXcgdGhlIGlz c3VlIHdoZW4gdSBzdHJlc3NlZCB0aGUgeG1pdCBwYXRoIHdpdGggYSBsb3Qgb2YNCj4gPj4+Pj4+ Pj4gaGlnaGx5DQo+ID4+Pj4+Pj4+IGZyYWdtZW50ZWQgVENQIGZyYW1lcyAocGFja2V0cyB3aXRo IHVwIHRvIDMzIGZyYWdtZW50cyB3aXRoDQo+ID4+Pj4+Pj4+IG5vbi1oZWFkZXJzDQo+ID4+Pj4+ Pj4+IGZyYWdtZW50cyBhcyBzbWFsbCBhcyA0IGJ5dGVzKSB3aXRoIGFsbCBvZmZsb2FkIGZlYXR1 cmVzIGVuYWJsZWQuDQo+ID4+Pj4+IENvdWxkIHlvdSBwcm92aWRlIHVzIHdpdGggdGhlIHBjYXAg ZmlsZSB0byByZXByb2R1Y2UgdGhlIGlzc3VlPw0KPiA+Pj4+IFdlbGwsIHRoZSB0aGluZyBpcyBp dCB0YWtlcyBzb21lIHRpbWUgdG8gcmVwcm9kdWNlIGl0IChhIGZldw0KPiA+Pj4+IG1pbnV0ZXMg b2YNCj4gPj4+PiBoZWF2eSBsb2FkKSB0aGVyZWZvcmUgYSBwY2FwIHdvdWxkIGJlIHF1aXRlIGxh cmdlLg0KPiA+Pj4gUHJvYmFibHkgeW91IGNhbiB1cGxvYWQgaXQgdG8gc29tZSBwbGFjZSwgZnJv bSB3aGljaCB3ZSB3aWxsIGJlIGFibGUNCj4gPj4+IHRvIGRvd25sb2FkIGl0Pw0KPiA+Pg0KPiA+ PiBJJ2xsIHNlZSB3aGF0IEkgY2FuIGRvIGJ1dCBubyBwcm9taXNlcy4uLg0KPiA+DQo+ID4gT24g YSBzZWNvbmQgdGhvdWdodCBwY2FwIGZpbGUgd29uJ3QgaGVscCB1IG11Y2ggc2luY2UgaW4gb3Jk ZXIgdG8NCj4gPiByZXByb2R1Y2UgdGhlIGlzc3VlIHUgaGF2ZSB0byByZXByb2R1Y2UgZXhhY3Rs eSB0aGUgc2FtZSBzdHJ1Y3R1cmUgb2YNCj4gPiBjbHVzdGVycyBpIGdpdmUgdG8gSFcgYW5kIGl0 J3Mgbm90IHdoYXQgdSBzZWUgb24gd2lyZSBpbiBhIFRTTyBjYXNlLg0KPiANCj4gQW5kIG5vdCBv bmx5IGluIGEgVFNPIGNhc2UuLi4gOykNCg0KSSB1bmRlcnN0YW5kIHRoYXQsIGJ1dCBteSB0aG91 Z2h0IHdhcyB5b3UgY2FuIGFkZCBzb21lIHNvcnQgb2YgVFggY2FsbGJhY2sgZm9yIHRoZSBydGVf ZXRoX3R4X2J1cnN0KCkNCmludG8geW91ciBjb2RlIHRoYXQgd291bGQgd3JpdGUgdGhlIHBhY2tl dCBpbnRvIHBjYXAgZmlsZSBhbmQgdGhlbiByZS1ydW4geW91ciBoYW5nIHNjZW5hcmlvLg0KSSBr bm93IHRoYXQgaXQgbWVhbnMgZXh0cmEgd29yayBmb3IgeW91IC0gYnV0IEkgdGhpbmsgaXQgd291 bGQgYmUgdmVyeSBoZWxwZnVsIGlmIHdlIHdvdWxkIGJlIGFibGUgdG8gcmVwcm9kdWNlIHlvdXIg aGFuZyBzY2VuYXJpbzoNCi0gaWYgSFcgZ3V5cyB3b3VsZCBjb25maXJtIHRoYXQgc2V0dGluZyBS UyBiaXQgZm9yIGV2ZXJ5IEVPUCBwYWNrZXQgaXMgbm90IHJlYWxseSByZXF1aXJlZCwNCiAgdGhl biB3ZSBwcm9iYWJseSBoYXZlIHRvIGxvb2sgYXQgd2hhdCBlbHNlIGNhbiBjYXVzZSBpdC4NCi0g aXQgbWlnaHQgYmUgYWRkZWQgdG8gb3VyIHZhbGlkYXRpb24gY3ljbGUsIHRvIHByZXZlbnQgaGl0 dGluZyBzaW1pbGFyIHByb2JsZW0gaW4gZnV0dXJlLiAgDQpUaGFua3MNCktvbnN0YW50aW4NCg0K PiANCj4gPg0KPiA+Pg0KPiA+Pj4gT3IgbWlnaHQgYmUgeW91IGhhdmUgc29tZSBzb3J0IG9mIHNj YXB5IHNjcmlwdCB0byBnZW5lcmF0ZSBpdD8NCj4gPj4+IEkgc3VwcG9zZSB3ZSdsbCBuZWVkIHNv bWV0aGluZyB0byByZXByb2R1Y2UgdGhlIGlzc3VlIGFuZCB2ZXJpZnkgdGhlDQo+ID4+PiBmaXgu DQo+ID4+DQo+ID4+IFNpbmNlIHRoZSBvcmlnaW5hbCBjb2RlIGFidXNlcyB0aGUgSFcgc3BlYyB1 IGRvbid0IGhhdmUgdG8uLi4gOykNCj4gPj4NCj4gPj4+DQo+ID4+Pj4+IE15IGNvbmNlcm4gd2l0 aCB5b3UgYXBwcm9hY2ggaXMgdGhhdCBpdCB3b3VsZCBhZmZlY3QgVFggcGVyZm9ybWFuY2UuDQo+ ID4+Pj4gSXQgY2VydGFpbmx5IHdpbGwgOykgQnV0IGl0IHNlZW0gaW5ldml0YWJsZS4gU2VlIGJl bG93Lg0KPiA+Pj4+DQo+ID4+Pj4+IFJpZ2h0IG5vdywgZm9yIHNpbXBsZSBUWCBQTUQgdXN1YWxs eSByZWFkcyBvbmx5DQo+ID4+Pj4+IChuYl90eF9kZXNjL3R4X3JzX3RocmVzaCkgVFhEcywNCj4g Pj4+Pj4gV2hpbGUgd2l0aCB5b3VyIHBhdGNoIChpZiBJIHVuZGVyc3RhbmQgaXQgY29ycmVjdGx5 KSBpdCBoYXMgdG8NCj4gPj4+Pj4gcmVhZCBhbGwgVFhEcyBpbiB0aGUgSFcgVFggcmluZy4NCj4g Pj4+PiBJZiBieSAic2ltcGxlIiB1IHJlZmVyIGFuIGFsd2F5cyBzaW5nbGUgZnJhZ21lbnQgcGVy IFR4IHBhY2tldCAtDQo+ID4+Pj4gdGhlbiB1DQo+ID4+Pj4gYXJlIGFic29sdXRlbHkgY29ycmVj dC4NCj4gPj4+Pg0KPiA+Pj4+IE15IGluaXRpYWwgcGF0Y2ggd2FzIHRvIG9ubHkgc2V0IFJTIG9u IGV2ZXJ5IEVPUCBkZXNjcmlwdG9yIHdpdGhvdXQNCj4gPj4+PiBjaGFuZ2luZyB0aGUgcnNfdGhy ZXNoIHZhbHVlIGFuZCB0aGlzIHBhdGNoIHdvcmtlZC4NCj4gPj4+PiBIb3dldmVyIEhXIHNwZWMg ZG9lc24ndCBlbnN1cmUgaW4gYSBnZW5lcmFsIGNhc2UgdGhhdCBwYWNrZXRzIGFyZQ0KPiA+Pj4+ IGFsd2F5cw0KPiA+Pj4+IGhhbmRsZWQvY29tcGxldGlvbiB3cml0ZS1iYWNrIGNvbXBsZXRlcyBp biB0aGUgc2FtZSBvcmRlciB0aGUgcGFja2V0cw0KPiA+Pj4+IGFyZSBwbGFjZWQgb24gdGhlIHJp bmcgKHNlZSAiVHggYXJiaXRyYXRpb24gc2NoZW1lcyIgY2hhcHRlciBpbiA4MjU5OQ0KPiA+Pj4+ IHNwZWMgZm9yIGluc3RhbmNlKS4gVGhlcmVmb3JlIEFGQUlVIG9uZSBzaG91bGQgbm90IGFzc3Vt ZSB0aGF0IGlmDQo+ID4+Pj4gcGFja2V0W3grMV0gREQgYml0IGlzIHNldCB0aGVuIHBhY2tldFt4 XSBpcyBjb21wbGV0ZWQgdG9vLg0KPiA+Pj4gIEZyb20gbXkgdW5kZXJzdGFuZGluZywgVFggYXJi aXRyYXRpb24gY29udHJvbHMgdGhlIG9yZGVyIGluIHdoaWNoDQo+ID4+PiBUWERzIGZyb20NCj4g Pj4+IGRpZmZlcmVudCBxdWV1ZXMgYXJlIGZldGNoZWQvcHJvY2Vzc2VkLg0KPiA+Pj4gQnV0IGRl c2NyaXB0b3JzIGZyb20gdGhlIHNhbWUgVFggcXVldWUgYXJlIHByb2Nlc3NlZCBpbiBGSUZPIG9y ZGVyLg0KPiA+Pj4gU28sIEkgdGhpbmsgdGhhdCAgLSB5ZXMsIGlmIFRYRFt4KzFdIEREIGJpdCBp cyBzZXQsIHRoZW4gVFhEW3hdIGlzDQo+ID4+PiBjb21wbGV0ZWQgdG9vLA0KPiA+Pj4gYW5kIHNl dHRpbmcgUlMgb24gZXZlcnkgRU9QIFRYRCBzaG91bGQgYmUgZW5vdWdoLg0KPiA+Pg0KPiA+PiBP ay4gSSdsbCByZXdvcmsgdGhlIHBhdGNoIHVuZGVyIHRoaXMgYXNzdW1wdGlvbiB0aGVuLg0KPiA+ Pg0KPiA+Pj4NCj4gPj4+PiBUaGF0J3Mgd2h5IEkgY2hhbmdlZCB0aGUgcGF0Y2ggdG8gYmUgYXMg dSBzZWUgaXQgbm93LiBIb3dldmVyIGlmIEkNCj4gPj4+PiBtaXNzDQo+ID4+Pj4gc29tZXRoaW5n IGhlcmUgYW5kIHlvdXIgSFcgcGVvcGxlIGVuc3VyZSB0aGUgaW4tb3JkZXIgY29tcGxldGlvbg0K PiA+Pj4+IHRoaXMgb2YNCj4gPj4+PiBjb3Vyc2UgbWF5IGJlIGNoYW5nZWQgYmFjay4NCj4gPj4+ Pg0KPiA+Pj4+PiBFdmVuIGlmIHdlIHJlYWxseSBuZWVkIHRvIHNldHVwIFJTIGJpdCBpbiBlYWNo IFRYRCAoSSBzdGlsbCBkb3VidA0KPiA+Pj4+PiB3ZSByZWFsbHkgZG8pIC0gLA0KPiA+Pj4+IFdl bGwsIGlmIHUgZG91YnQgdSBtYXkgYXNrIHRoZSBndXlzIGZyb20gdGhlIEludGVsIG5ldHdvcmtp bmcgZGl2aXNpb24NCj4gPj4+PiB0aGF0IHdyb3RlIHRoZSA4MjU5OSBhbmQgeDU0MCBIVyBzcGVj cyB3aGVyZSB0aGV5IGNsZWFybHkgc3RhdGUNCj4gPj4+PiB0aGF0LiA7KQ0KPiA+Pj4gR29vZCBw b2ludCwgd2UnbGwgc2VlIHdoYXQgd2UgY2FuIGRvIGhlcmUgOikNCj4gPj4+IEtvbnN0YW50aW4N Cj4gPj4+DQo+ID4+Pj4+IEkgdGhpbmsgaW5zaWRlIFBNRCBpdCBzdGlsbCBzaG91bGQgYmUgcG9z c2libGUgdG8gY2hlY2sgVFgNCj4gPj4+Pj4gY29tcGxldGlvbiBpbiBjaHVua3MuDQo+ID4+Pj4+ IEtvbnN0YW50aW4NCj4gPj4+Pj4NCj4gPj4+Pj4NCj4gPj4+Pj4+Pj4gVGhhbmtzLA0KPiA+Pj4+ Pj4+PiB2bGFkDQo+ID4+Pj4+Pj4+Pj4gU2lnbmVkLW9mZi1ieTogVmxhZCBab2xvdGFyb3YgPHZs YWR6QGNsb3VkaXVzLXN5c3RlbXMuY29tPg0KPiA+Pj4+Pj4+Pj4+IC0tLQ0KPiA+Pj4+Pj4+Pj4+ ICAgICBkcml2ZXJzL25ldC9peGdiZS9peGdiZV9ldGhkZXYuYyB8ICA5ICsrKysrKysrKw0KPiA+ Pj4+Pj4+Pj4+ICAgICBkcml2ZXJzL25ldC9peGdiZS9peGdiZV9yeHR4LmMgICB8IDIzDQo+ID4+ Pj4+Pj4+Pj4gKysrKysrKysrKysrKysrKysrKysrKy0NCj4gPj4+Pj4+Pj4+PiAgICAgMiBmaWxl cyBjaGFuZ2VkLCAzMSBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pDQo+ID4+Pj4+Pj4+Pj4N Cj4gPj4+Pj4+Pj4+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvaXhnYmUvaXhnYmVfZXRoZGV2 LmMNCj4gPj4+Pj4+Pj4+PiBiL2RyaXZlcnMvbmV0L2l4Z2JlL2l4Z2JlX2V0aGRldi5jDQo+ID4+ Pj4+Pj4+Pj4gaW5kZXggYjhlZTFlOS4uNjcxNGZkOSAxMDA2NDQNCj4gPj4+Pj4+Pj4+PiAtLS0g YS9kcml2ZXJzL25ldC9peGdiZS9peGdiZV9ldGhkZXYuYw0KPiA+Pj4+Pj4+Pj4+ICsrKyBiL2Ry aXZlcnMvbmV0L2l4Z2JlL2l4Z2JlX2V0aGRldi5jDQo+ID4+Pj4+Pj4+Pj4gQEAgLTI0MTQsNiAr MjQxNCwxNSBAQCBpeGdiZV9kZXZfaW5mb19nZXQoc3RydWN0IHJ0ZV9ldGhfZGV2DQo+ID4+Pj4+ Pj4+Pj4gKmRldiwNCj4gPj4+Pj4+Pj4gc3RydWN0DQo+ID4+Pj4+Pj4+Pj4gcnRlX2V0aF9kZXZf aW5mbyAqZGV2X2luZm8pDQo+ID4+Pj4+Pj4+Pj4gICAgICAgICAgICAgIC50eHFfZmxhZ3MgPSBF VEhfVFhRX0ZMQUdTX05PTVVMVFNFR1MgfA0KPiA+Pj4+Pj4+Pj4+IEVUSF9UWFFfRkxBR1NfTk9P RkZMT0FEUywNCj4gPj4+Pj4+Pj4+PiAgICAgIH07DQo+ID4+Pj4+Pj4+Pj4gKw0KPiA+Pj4+Pj4+ Pj4+ICsgIC8qDQo+ID4+Pj4+Pj4+Pj4gKyAgICogQWNjb3JkaW5nIHRvIDgyNTk5IGFuZCB4NTQw IHNwZWNpZmljYXRpb25zIFJTIGJpdA0KPiA+Pj4+Pj4+Pj4+ICptdXN0KiBiZQ0KPiA+Pj4+Pj4g c2V0IG9uDQo+ID4+Pj4+Pj4+IHRoZQ0KPiA+Pj4+Pj4+Pj4+ICsgICAqIGxhc3QgZGVzY3JpcHRv ciBvZiAqZXZlcnkqIHBhY2tldC4gVGhlcmVmb3JlIHdlIHdpbGwNCj4gPj4+Pj4+Pj4+PiBub3Qg YWxsb3cNCj4gPj4+Pj4+IHRoZQ0KPiA+Pj4+Pj4+Pj4+ICsgICAqIHR4X3JzX3RocmVzaCBhYm92 ZSAxIGZvciBhbGwgTklDcyBuZXdlciB0aGFuIDgyNTk4Lg0KPiA+Pj4+Pj4+Pj4+ICsgICAqLw0K PiA+Pj4+Pj4+Pj4+ICsgIGlmIChody0+bWFjLnR5cGUgPiBpeGdiZV9tYWNfODI1OThFQikNCj4g Pj4+Pj4+Pj4+PiArIGRldl9pbmZvLT5kZWZhdWx0X3R4Y29uZi50eF9yc190aHJlc2ggPSAxOw0K PiA+Pj4+Pj4+Pj4+ICsNCj4gPj4+Pj4+Pj4+PiAgICAgIGRldl9pbmZvLT5oYXNoX2tleV9zaXpl ID0gSVhHQkVfSEtFWV9NQVhfSU5ERVggKg0KPiA+Pj4+Pj4+Pj4+IHNpemVvZih1aW50MzJfdCk7 DQo+ID4+Pj4+Pj4+Pj4gICAgICBkZXZfaW5mby0+cmV0YV9zaXplID0gRVRIX1JTU19SRVRBX1NJ WkVfMTI4Ow0KPiA+Pj4+Pj4+Pj4+ICAgICAgZGV2X2luZm8tPmZsb3dfdHlwZV9yc3Nfb2ZmbG9h ZHMgPQ0KPiA+Pj4+Pj4+Pj4+IElYR0JFX1JTU19PRkZMT0FEX0FMTDsgZGlmZiAtLQ0KPiA+Pj4+ Pj4+PiBnaXQNCj4gPj4+Pj4+Pj4+PiBhL2RyaXZlcnMvbmV0L2l4Z2JlL2l4Z2JlX3J4dHguYw0K PiA+Pj4+Pj4+Pj4+IGIvZHJpdmVycy9uZXQvaXhnYmUvaXhnYmVfcnh0eC5jDQo+ID4+Pj4+PiBp bmRleA0KPiA+Pj4+Pj4+Pj4+IDkxMDIzYjkuLjhkYmRmZmMgMTAwNjQ0DQo+ID4+Pj4+Pj4+Pj4g LS0tIGEvZHJpdmVycy9uZXQvaXhnYmUvaXhnYmVfcnh0eC5jDQo+ID4+Pj4+Pj4+Pj4gKysrIGIv ZHJpdmVycy9uZXQvaXhnYmUvaXhnYmVfcnh0eC5jDQo+ID4+Pj4+Pj4+Pj4gQEAgLTIwODUsMTEg KzIwODUsMTkgQEAgaXhnYmVfZGV2X3R4X3F1ZXVlX3NldHVwKHN0cnVjdA0KPiA+Pj4+Pj4+Pj4+ IHJ0ZV9ldGhfZGV2DQo+ID4+Pj4+Pj4+Pj4gKmRldiwNCj4gPj4+Pj4+Pj4+PiAgICAgIHN0cnVj dCBpeGdiZV90eF9xdWV1ZSAqdHhxOw0KPiA+Pj4+Pj4+Pj4+ICAgICAgc3RydWN0IGl4Z2JlX2h3 ICAgICAqaHc7DQo+ID4+Pj4+Pj4+Pj4gICAgICB1aW50MTZfdCB0eF9yc190aHJlc2gsIHR4X2Zy ZWVfdGhyZXNoOw0KPiA+Pj4+Pj4+Pj4+ICsgIGJvb2wgcnNfZGVmZXJyaW5nX2FsbG93ZWQ7DQo+ ID4+Pj4+Pj4+Pj4NCj4gPj4+Pj4+Pj4+PiAgICAgIFBNRF9JTklUX0ZVTkNfVFJBQ0UoKTsNCj4g Pj4+Pj4+Pj4+PiAgICAgIGh3ID0gSVhHQkVfREVWX1BSSVZBVEVfVE9fSFcoZGV2LT5kYXRhLT5k ZXZfcHJpdmF0ZSk7DQo+ID4+Pj4+Pj4+Pj4NCj4gPj4+Pj4+Pj4+PiAgICAgIC8qDQo+ID4+Pj4+ Pj4+Pj4gKyAgICogQWNjb3JkaW5nIHRvIDgyNTk5IGFuZCB4NTQwIHNwZWNpZmljYXRpb25zIFJT IGJpdA0KPiA+Pj4+Pj4+Pj4+ICptdXN0KiBiZQ0KPiA+Pj4+Pj4gc2V0IG9uDQo+ID4+Pj4+Pj4+ IHRoZQ0KPiA+Pj4+Pj4+Pj4+ICsgICAqIGxhc3QgZGVzY3JpcHRvciBvZiAqZXZlcnkqIHBhY2tl dC4gVGhlcmVmb3JlIHdlIHdpbGwNCj4gPj4+Pj4+Pj4+PiBub3QgYWxsb3cNCj4gPj4+Pj4+IHRo ZQ0KPiA+Pj4+Pj4+Pj4+ICsgICAqIHR4X3JzX3RocmVzaCBhYm92ZSAxIGZvciBhbGwgTklDcyBu ZXdlciB0aGFuIDgyNTk4Lg0KPiA+Pj4+Pj4+Pj4+ICsgICAqLw0KPiA+Pj4+Pj4+Pj4+ICsgIHJz X2RlZmVycmluZ19hbGxvd2VkID0gKGh3LT5tYWMudHlwZSA8PSBpeGdiZV9tYWNfODI1OThFQik7 DQo+ID4+Pj4+Pj4+Pj4gKw0KPiA+Pj4+Pj4+Pj4+ICsgIC8qDQo+ID4+Pj4+Pj4+Pj4gICAgICAg KiBWYWxpZGF0ZSBudW1iZXIgb2YgdHJhbnNtaXQgZGVzY3JpcHRvcnMuDQo+ID4+Pj4+Pj4+Pj4g ICAgICAgKiBJdCBtdXN0IG5vdCBleGNlZWQgaGFyZHdhcmUgbWF4aW11bSwgYW5kIG11c3QgYmUN Cj4gPj4+Pj4+Pj4+PiBtdWx0aXBsZQ0KPiA+Pj4+Pj4+Pj4+ICAgICAgICogb2YgSVhHQkVfQUxJ R04uDQo+ID4+Pj4+Pj4+Pj4gQEAgLTIxMTAsNiArMjExOCw4IEBAIGl4Z2JlX2Rldl90eF9xdWV1 ZV9zZXR1cChzdHJ1Y3QNCj4gPj4+Pj4+Pj4+PiBydGVfZXRoX2Rldg0KPiA+Pj4+Pj4+PiAqZGV2 LA0KPiA+Pj4+Pj4+Pj4+ICAgICAgICogdG8gdHJhbnNtaXQgYSBwYWNrZXQgaXMgZ3JlYXRlciB0 aGFuIHRoZSBudW1iZXIgb2YNCj4gPj4+Pj4+Pj4+PiBmcmVlIFRYDQo+ID4+Pj4+Pj4+Pj4gICAg ICAgKiBkZXNjcmlwdG9ycy4NCj4gPj4+Pj4+Pj4+PiAgICAgICAqIFRoZSBmb2xsb3dpbmcgY29u c3RyYWludHMgbXVzdCBiZSBzYXRpc2ZpZWQ6DQo+ID4+Pj4+Pj4+Pj4gKyAgICogIHR4X3JzX3Ro cmVzaCBtdXN0IGJlIGxlc3MgdGhhbiAyIGZvciBOSUNzIGZvciB3aGljaCBSUw0KPiA+Pj4+Pj4g ZGVmZXJyaW5nIGlzDQo+ID4+Pj4+Pj4+Pj4gKyAgICogIGZvcmJpZGRlbiAoYWxsIGJ1dCA4MjU5 OCkuDQo+ID4+Pj4+Pj4+Pj4gICAgICAgKiAgdHhfcnNfdGhyZXNoIG11c3QgYmUgZ3JlYXRlciB0 aGFuIDAuDQo+ID4+Pj4+Pj4+Pj4gICAgICAgKiAgdHhfcnNfdGhyZXNoIG11c3QgYmUgbGVzcyB0 aGFuIHRoZSBzaXplIG9mIHRoZSByaW5nDQo+ID4+Pj4+Pj4+Pj4gbWludXMgMi4NCj4gPj4+Pj4+ Pj4+PiAgICAgICAqICB0eF9yc190aHJlc2ggbXVzdCBiZSBsZXNzIHRoYW4gb3IgZXF1YWwgdG8N Cj4gPj4+Pj4+Pj4+PiB0eF9mcmVlX3RocmVzaC4NCj4gPj4+Pj4+Pj4+PiBAQCAtMjEyMSw5ICsy MTMxLDIwIEBAIGl4Z2JlX2Rldl90eF9xdWV1ZV9zZXR1cChzdHJ1Y3QNCj4gPj4+Pj4+Pj4+PiBy dGVfZXRoX2Rldg0KPiA+Pj4+Pj4+PiAqZGV2LA0KPiA+Pj4+Pj4+Pj4+ICAgICAgICogV2hlbiBz ZXQgdG8gemVybyB1c2UgZGVmYXVsdCB2YWx1ZXMuDQo+ID4+Pj4+Pj4+Pj4gICAgICAgKi8NCj4g Pj4+Pj4+Pj4+PiAgICAgIHR4X3JzX3RocmVzaCA9ICh1aW50MTZfdCkoKHR4X2NvbmYtPnR4X3Jz X3RocmVzaCkgPw0KPiA+Pj4+Pj4+Pj4+IC0gICAgICAgICAgICAgICAgICB0eF9jb25mLT50eF9y c190aHJlc2ggOg0KPiA+Pj4+Pj4+Pj4+IERFRkFVTFRfVFhfUlNfVEhSRVNIKTsNCj4gPj4+Pj4+ Pj4+PiArICAgICAgICAgICAgICAgICAgdHhfY29uZi0+dHhfcnNfdGhyZXNoIDoNCj4gPj4+Pj4+ Pj4+PiArICAgICAgICAgICAgICAgICAgKHJzX2RlZmVycmluZ19hbGxvd2VkID8NCj4gPj4+Pj4+ Pj4+PiBERUZBVUxUX1RYX1JTX1RIUkVTSCA6DQo+ID4+Pj4+PiAxKSk7DQo+ID4+Pj4+Pj4+Pj4g ICAgICB0eF9mcmVlX3RocmVzaCA9ICh1aW50MTZfdCkoKHR4X2NvbmYtPnR4X2ZyZWVfdGhyZXNo KSA/DQo+ID4+Pj4+Pj4+Pj4gICAgICAgICAgICAgICAgICAgICAgdHhfY29uZi0+dHhfZnJlZV90 aHJlc2ggOg0KPiA+Pj4+Pj4+Pj4+IERFRkFVTFRfVFhfRlJFRV9USFJFU0gpOw0KPiA+Pj4+Pj4+ Pj4+ICsNCj4gPj4+Pj4+Pj4+PiArICBpZiAoIXJzX2RlZmVycmluZ19hbGxvd2VkICYmIHR4X3Jz X3RocmVzaCA+IDEpIHsNCj4gPj4+Pj4+Pj4+PiArICAgICAgICAgIFBNRF9JTklUX0xPRyhFUlIs ICJ0eF9yc190aHJlc2ggbXVzdCBiZSBsZXNzIHRoYW4NCj4gPj4+Pj4+Pj4+PiAyIHNpbmNlDQo+ ID4+Pj4+PiBSUw0KPiA+Pj4+Pj4+PiAiDQo+ID4+Pj4+Pj4+Pj4gKyAibXVzdCBiZSBzZXQgZm9y IGV2ZXJ5IHBhY2tldCBmb3IgdGhpcw0KPiA+Pj4+Pj4gSFcuICINCj4gPj4+Pj4+Pj4+PiArICIo dHhfcnNfdGhyZXNoPSV1IHBvcnQ9JWQgcXVldWU9JWQpIiwNCj4gPj4+Pj4+Pj4+PiArICAgICAg ICAgICAgICAgICAgICAgICAodW5zaWduZWQgaW50KXR4X3JzX3RocmVzaCwNCj4gPj4+Pj4+Pj4+ PiArIChpbnQpZGV2LT5kYXRhLT5wb3J0X2lkLCAoaW50KXF1ZXVlX2lkeCk7DQo+ID4+Pj4+Pj4+ Pj4gKyAgICAgICAgICByZXR1cm4gLShFSU5WQUwpOw0KPiA+Pj4+Pj4+Pj4+ICsgIH0NCj4gPj4+ Pj4+Pj4+PiArDQo+ID4+Pj4+Pj4+Pj4gICAgICBpZiAodHhfcnNfdGhyZXNoID49IChuYl9kZXNj IC0gMikpIHsNCj4gPj4+Pj4+Pj4+PiAgICAgICAgICAgICAgUE1EX0lOSVRfTE9HKEVSUiwgInR4 X3JzX3RocmVzaCBtdXN0IGJlIGxlc3MNCj4gPj4+Pj4+Pj4+PiB0aGFuIHRoZQ0KPiA+Pj4+Pj4+ PiBudW1iZXIgIg0KPiA+Pj4+Pj4+Pj4+ICJvZiBUWCBkZXNjcmlwdG9ycyBtaW51cyAyLiAodHhf cnNfdGhyZXNoPSV1DQo+ID4+Pj4+PiAiDQo+ID4+Pj4+Pj4+Pj4gLS0NCj4gPj4+Pj4+Pj4+PiAy LjEuMA0KPiA+Pg0KPiA+DQoNCg==