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 4C30B5A38 for ; Thu, 20 Aug 2015 10:41:17 +0200 (CEST) Received: from orsmga003.jf.intel.com ([10.7.209.27]) by fmsmga102.fm.intel.com with ESMTP; 20 Aug 2015 01:41:16 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.15,714,1432623600"; d="scan'208";a="628921598" Received: from irsmsx109.ger.corp.intel.com ([163.33.3.23]) by orsmga003.jf.intel.com with ESMTP; 20 Aug 2015 01:41:15 -0700 Received: from irsmsx111.ger.corp.intel.com (10.108.20.4) by IRSMSX109.ger.corp.intel.com (163.33.3.23) with Microsoft SMTP Server (TLS) id 14.3.224.2; Thu, 20 Aug 2015 09:41:14 +0100 Received: from irsmsx105.ger.corp.intel.com ([169.254.7.51]) by irsmsx111.ger.corp.intel.com ([169.254.2.19]) with mapi id 14.03.0224.002; Thu, 20 Aug 2015 09:41:14 +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+NQ Date: Thu, 20 Aug 2015 08:41:13 +0000 Message-ID: <2601191342CEEE43887BDE71AB97725836A7BEC4@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> In-Reply-To: <55D4543E.9000808@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.181] 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: Thu, 20 Aug 2015 08:41:18 -0000 SGkgVmxhZCwNCg0KPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBWbGFkIFpv bG90YXJvdiBbbWFpbHRvOnZsYWR6QGNsb3VkaXVzLXN5c3RlbXMuY29tXQ0KPiBTZW50OiBXZWRu ZXNkYXksIEF1Z3VzdCAxOSwgMjAxNSAxMTowMyBBTQ0KPiBUbzogQW5hbnlldiwgS29uc3RhbnRp bjsgTHUsIFdlbnpodW8NCj4gQ2M6IGRldkBkcGRrLm9yZw0KPiBTdWJqZWN0OiBSZTogW2RwZGst ZGV2XSBbUEFUQ0ggdjFdIGl4Z2JlX3BtZDogZm9yYmlkIHR4X3JzX3RocmVzaCBhYm92ZSAxIGZv ciBhbGwgTklDcyBidXQgODI1OTgNCj4gDQo+IA0KPiANCj4gT24gMDgvMTkvMTUgMTA6NDMsIEFu YW55ZXYsIEtvbnN0YW50aW4gd3JvdGU6DQo+ID4gSGkgVmxhZCwNCj4gPiBTb3JyeSBmb3IgZGVs YXkgd2l0aCByZXZpZXcsIEkgYW0gT09PIHRpbGwgbmV4dCB3ZWVrLg0KPiA+IE1lYW53aGlsZSwg ZmV3IHF1ZXN0aW9ucy9jb21tZW50cyBmcm9tIG1lLg0KPiANCj4gSGksIEtvbnN0YW50aW4sIGxv bmcgdGltZSBubyBzZWUuLi4gOykNCj4gDQo+ID4NCj4gPj4+Pj4+IFRoaXMgcGF0Y2ggZml4ZXMg dGhlIFR4IGhhbmcgd2Ugd2VyZSBjb25zdGFudGx5IGhpdHRpbmcgd2l0aCBhDQo+ID4+IHNlYXN0 YXItYmFzZWQNCj4gPj4+Pj4+IGFwcGxpY2F0aW9uIG9uIHg1NDAgTklDLg0KPiA+Pj4+PiBDb3Vs ZCB5b3UgaGVscCB0byBzaGFyZSB3aXRoIHVzIGhvdyB0byByZXByb2R1Y2UgdGhlIHR4IGhhbmcg aXNzdWUsDQo+ID4+IHdpdGggdXNpbmcNCj4gPj4+Pj4gdHlwaWNhbCBEUERLIGV4YW1wbGVzPw0K PiA+Pj4+IFNvcnJ5LiBJJ20gbm90IHZlcnkgZmFtaWxpYXIgd2l0aCB0aGUgdHlwaWNhbCBEUERL IGV4YW1wbGVzIHRvIGhlbHAgdQ0KPiA+Pj4+IGhlcmUuIEhvd2V2ZXIgdGhpcyBpcyBxdWl0ZSBp cnJlbGV2YW50IHNpbmNlIHdpdGhvdXQgdGhpcyB0aGlzIHBhdGNoDQo+ID4+Pj4gaXhnYmUgUE1E IG9idmlvdXNseSBhYnVzZXMgdGhlIEhXIHNwZWMgYXMgaGFzIGJlZW4gZXhwbGFpbmVkIGFib3Zl Lg0KPiA+Pj4+DQo+ID4+Pj4gV2Ugc2F3IHRoZSBpc3N1ZSB3aGVuIHUgc3RyZXNzZWQgdGhlIHht aXQgcGF0aCB3aXRoIGEgbG90IG9mIGhpZ2hseQ0KPiA+Pj4+IGZyYWdtZW50ZWQgVENQIGZyYW1l cyAocGFja2V0cyB3aXRoIHVwIHRvIDMzIGZyYWdtZW50cyB3aXRoIG5vbi1oZWFkZXJzDQo+ID4+ Pj4gZnJhZ21lbnRzIGFzIHNtYWxsIGFzIDQgYnl0ZXMpIHdpdGggYWxsIG9mZmxvYWQgZmVhdHVy ZXMgZW5hYmxlZC4NCj4gPiBDb3VsZCB5b3UgcHJvdmlkZSB1cyB3aXRoIHRoZSBwY2FwIGZpbGUg dG8gcmVwcm9kdWNlIHRoZSBpc3N1ZT8NCj4gDQo+IFdlbGwsIHRoZSB0aGluZyBpcyBpdCB0YWtl cyBzb21lIHRpbWUgdG8gcmVwcm9kdWNlIGl0IChhIGZldyBtaW51dGVzIG9mDQo+IGhlYXZ5IGxv YWQpIHRoZXJlZm9yZSBhIHBjYXAgd291bGQgYmUgcXVpdGUgbGFyZ2UuDQoNClByb2JhYmx5IHlv dSBjYW4gdXBsb2FkIGl0IHRvIHNvbWUgcGxhY2UsIGZyb20gd2hpY2ggd2Ugd2lsbCBiZSBhYmxl IHRvIGRvd25sb2FkIGl0Pw0KT3IgbWlnaHQgYmUgeW91IGhhdmUgc29tZSBzb3J0IG9mIHNjYXB5 IHNjcmlwdCB0byBnZW5lcmF0ZSBpdD8NCkkgc3VwcG9zZSB3ZSdsbCBuZWVkIHNvbWV0aGluZyB0 byByZXByb2R1Y2UgdGhlIGlzc3VlIGFuZCB2ZXJpZnkgdGhlIGZpeC4gICANCg0KPiANCj4gPiBN eSBjb25jZXJuIHdpdGggeW91IGFwcHJvYWNoIGlzIHRoYXQgaXQgd291bGQgYWZmZWN0IFRYIHBl cmZvcm1hbmNlLg0KPiANCj4gSXQgY2VydGFpbmx5IHdpbGwgOykgQnV0IGl0IHNlZW0gaW5ldml0 YWJsZS4gU2VlIGJlbG93Lg0KPiANCj4gPiBSaWdodCBub3csIGZvciBzaW1wbGUgVFggUE1EIHVz dWFsbHkgcmVhZHMgb25seSAobmJfdHhfZGVzYy90eF9yc190aHJlc2gpIFRYRHMsDQo+ID4gV2hp bGUgd2l0aCB5b3VyIHBhdGNoIChpZiBJIHVuZGVyc3RhbmQgaXQgY29ycmVjdGx5KSBpdCBoYXMg dG8gcmVhZCBhbGwgVFhEcyBpbiB0aGUgSFcgVFggcmluZy4NCj4gDQo+IElmIGJ5ICJzaW1wbGUi IHUgcmVmZXIgYW4gYWx3YXlzIHNpbmdsZSBmcmFnbWVudCBwZXIgVHggcGFja2V0IC0gdGhlbiB1 DQo+IGFyZSBhYnNvbHV0ZWx5IGNvcnJlY3QuDQo+IA0KPiBNeSBpbml0aWFsIHBhdGNoIHdhcyB0 byBvbmx5IHNldCBSUyBvbiBldmVyeSBFT1AgZGVzY3JpcHRvciB3aXRob3V0DQo+IGNoYW5naW5n IHRoZSByc190aHJlc2ggdmFsdWUgYW5kIHRoaXMgcGF0Y2ggd29ya2VkLg0KPiBIb3dldmVyIEhX IHNwZWMgZG9lc24ndCBlbnN1cmUgaW4gYSBnZW5lcmFsIGNhc2UgdGhhdCBwYWNrZXRzIGFyZSBh bHdheXMNCj4gaGFuZGxlZC9jb21wbGV0aW9uIHdyaXRlLWJhY2sgY29tcGxldGVzIGluIHRoZSBz YW1lIG9yZGVyIHRoZSBwYWNrZXRzDQo+IGFyZSBwbGFjZWQgb24gdGhlIHJpbmcgKHNlZSAiVHgg YXJiaXRyYXRpb24gc2NoZW1lcyIgY2hhcHRlciBpbiA4MjU5OQ0KPiBzcGVjIGZvciBpbnN0YW5j ZSkuIFRoZXJlZm9yZSBBRkFJVSBvbmUgc2hvdWxkIG5vdCBhc3N1bWUgdGhhdCBpZg0KPiBwYWNr ZXRbeCsxXSBERCBiaXQgaXMgc2V0IHRoZW4gcGFja2V0W3hdIGlzIGNvbXBsZXRlZCB0b28uDQoN CkZyb20gbXkgdW5kZXJzdGFuZGluZywgVFggYXJiaXRyYXRpb24gY29udHJvbHMgdGhlIG9yZGVy IGluIHdoaWNoIFRYRHMgZnJvbQ0KZGlmZmVyZW50IHF1ZXVlcyBhcmUgZmV0Y2hlZC9wcm9jZXNz ZWQuDQpCdXQgZGVzY3JpcHRvcnMgZnJvbSB0aGUgc2FtZSBUWCBxdWV1ZSBhcmUgcHJvY2Vzc2Vk IGluIEZJRk8gb3JkZXIuDQpTbywgSSB0aGluayB0aGF0ICAtIHllcywgaWYgVFhEW3grMV0gREQg Yml0IGlzIHNldCwgdGhlbiBUWERbeF0gaXMgY29tcGxldGVkIHRvbywNCmFuZCBzZXR0aW5nIFJT IG9uIGV2ZXJ5IEVPUCBUWEQgc2hvdWxkIGJlIGVub3VnaC4NCg0KPiANCj4gVGhhdCdzIHdoeSBJ IGNoYW5nZWQgdGhlIHBhdGNoIHRvIGJlIGFzIHUgc2VlIGl0IG5vdy4gSG93ZXZlciBpZiBJIG1p c3MNCj4gc29tZXRoaW5nIGhlcmUgYW5kIHlvdXIgSFcgcGVvcGxlIGVuc3VyZSB0aGUgaW4tb3Jk ZXIgY29tcGxldGlvbiB0aGlzIG9mDQo+IGNvdXJzZSBtYXkgYmUgY2hhbmdlZCBiYWNrLg0KPiAN Cj4gPiBFdmVuIGlmIHdlIHJlYWxseSBuZWVkIHRvIHNldHVwIFJTIGJpdCBpbiBlYWNoIFRYRCAo SSBzdGlsbCBkb3VidCB3ZSByZWFsbHkgZG8pIC0gLA0KPiANCj4gV2VsbCwgaWYgdSBkb3VidCB1 IG1heSBhc2sgdGhlIGd1eXMgZnJvbSB0aGUgSW50ZWwgbmV0d29ya2luZyBkaXZpc2lvbg0KPiB0 aGF0IHdyb3RlIHRoZSA4MjU5OSBhbmQgeDU0MCBIVyBzcGVjcyB3aGVyZSB0aGV5IGNsZWFybHkg c3RhdGUgdGhhdC4gOykNCg0KR29vZCBwb2ludCwgd2UnbGwgc2VlIHdoYXQgd2UgY2FuIGRvIGhl cmUgOikNCktvbnN0YW50aW4NCg0KPiANCj4gPiBJIHRoaW5rIGluc2lkZSBQTUQgaXQgc3RpbGwg c2hvdWxkIGJlIHBvc3NpYmxlIHRvIGNoZWNrIFRYIGNvbXBsZXRpb24gaW4gY2h1bmtzLg0KPiA+ IEtvbnN0YW50aW4NCj4gPg0KPiA+DQo+ID4+Pj4gVGhhbmtzLA0KPiA+Pj4+IHZsYWQNCj4gPj4+ Pj4+IFNpZ25lZC1vZmYtYnk6IFZsYWQgWm9sb3Rhcm92IDx2bGFkekBjbG91ZGl1cy1zeXN0ZW1z LmNvbT4NCj4gPj4+Pj4+IC0tLQ0KPiA+Pj4+Pj4gICAgZHJpdmVycy9uZXQvaXhnYmUvaXhnYmVf ZXRoZGV2LmMgfCAgOSArKysrKysrKysNCj4gPj4+Pj4+ICAgIGRyaXZlcnMvbmV0L2l4Z2JlL2l4 Z2JlX3J4dHguYyAgIHwgMjMgKysrKysrKysrKysrKysrKysrKysrKy0NCj4gPj4+Pj4+ICAgIDIg ZmlsZXMgY2hhbmdlZCwgMzEgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQ0KPiA+Pj4+Pj4N Cj4gPj4+Pj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9peGdiZS9peGdiZV9ldGhkZXYuYw0K PiA+Pj4+Pj4gYi9kcml2ZXJzL25ldC9peGdiZS9peGdiZV9ldGhkZXYuYw0KPiA+Pj4+Pj4gaW5k ZXggYjhlZTFlOS4uNjcxNGZkOSAxMDA2NDQNCj4gPj4+Pj4+IC0tLSBhL2RyaXZlcnMvbmV0L2l4 Z2JlL2l4Z2JlX2V0aGRldi5jDQo+ID4+Pj4+PiArKysgYi9kcml2ZXJzL25ldC9peGdiZS9peGdi ZV9ldGhkZXYuYw0KPiA+Pj4+Pj4gQEAgLTI0MTQsNiArMjQxNCwxNSBAQCBpeGdiZV9kZXZfaW5m b19nZXQoc3RydWN0IHJ0ZV9ldGhfZGV2ICpkZXYsDQo+ID4+Pj4gc3RydWN0DQo+ID4+Pj4+PiBy dGVfZXRoX2Rldl9pbmZvICpkZXZfaW5mbykNCj4gPj4+Pj4+ICAgICAgICAgICAgIC50eHFfZmxh Z3MgPSBFVEhfVFhRX0ZMQUdTX05PTVVMVFNFR1MgfA0KPiA+Pj4+Pj4gICAgICAgICAgICAgICAg ICAgICAgICAgICAgIEVUSF9UWFFfRkxBR1NfTk9PRkZMT0FEUywNCj4gPj4+Pj4+ICAgICB9Ow0K PiA+Pj4+Pj4gKw0KPiA+Pj4+Pj4gKyAgLyoNCj4gPj4+Pj4+ICsgICAqIEFjY29yZGluZyB0byA4 MjU5OSBhbmQgeDU0MCBzcGVjaWZpY2F0aW9ucyBSUyBiaXQgKm11c3QqIGJlDQo+ID4+IHNldCBv bg0KPiA+Pj4+IHRoZQ0KPiA+Pj4+Pj4gKyAgICogbGFzdCBkZXNjcmlwdG9yIG9mICpldmVyeSog cGFja2V0LiBUaGVyZWZvcmUgd2Ugd2lsbCBub3QgYWxsb3cNCj4gPj4gdGhlDQo+ID4+Pj4+PiAr ICAgKiB0eF9yc190aHJlc2ggYWJvdmUgMSBmb3IgYWxsIE5JQ3MgbmV3ZXIgdGhhbiA4MjU5OC4N Cj4gPj4+Pj4+ICsgICAqLw0KPiA+Pj4+Pj4gKyAgaWYgKGh3LT5tYWMudHlwZSA+IGl4Z2JlX21h Y184MjU5OEVCKQ0KPiA+Pj4+Pj4gKyAgICAgICAgICBkZXZfaW5mby0+ZGVmYXVsdF90eGNvbmYu dHhfcnNfdGhyZXNoID0gMTsNCj4gPj4+Pj4+ICsNCj4gPj4+Pj4+ICAgICBkZXZfaW5mby0+aGFz aF9rZXlfc2l6ZSA9IElYR0JFX0hLRVlfTUFYX0lOREVYICogc2l6ZW9mKHVpbnQzMl90KTsNCj4g Pj4+Pj4+ICAgICBkZXZfaW5mby0+cmV0YV9zaXplID0gRVRIX1JTU19SRVRBX1NJWkVfMTI4Ow0K PiA+Pj4+Pj4gICAgIGRldl9pbmZvLT5mbG93X3R5cGVfcnNzX29mZmxvYWRzID0gSVhHQkVfUlNT X09GRkxPQURfQUxMOyBkaWZmIC0tDQo+ID4+Pj4gZ2l0DQo+ID4+Pj4+PiBhL2RyaXZlcnMvbmV0 L2l4Z2JlL2l4Z2JlX3J4dHguYyBiL2RyaXZlcnMvbmV0L2l4Z2JlL2l4Z2JlX3J4dHguYw0KPiA+ PiBpbmRleA0KPiA+Pj4+Pj4gOTEwMjNiOS4uOGRiZGZmYyAxMDA2NDQNCj4gPj4+Pj4+IC0tLSBh L2RyaXZlcnMvbmV0L2l4Z2JlL2l4Z2JlX3J4dHguYw0KPiA+Pj4+Pj4gKysrIGIvZHJpdmVycy9u ZXQvaXhnYmUvaXhnYmVfcnh0eC5jDQo+ID4+Pj4+PiBAQCAtMjA4NSwxMSArMjA4NSwxOSBAQCBp eGdiZV9kZXZfdHhfcXVldWVfc2V0dXAoc3RydWN0IHJ0ZV9ldGhfZGV2DQo+ID4+Pj4+PiAqZGV2 LA0KPiA+Pj4+Pj4gICAgIHN0cnVjdCBpeGdiZV90eF9xdWV1ZSAqdHhxOw0KPiA+Pj4+Pj4gICAg IHN0cnVjdCBpeGdiZV9odyAgICAgKmh3Ow0KPiA+Pj4+Pj4gICAgIHVpbnQxNl90IHR4X3JzX3Ro cmVzaCwgdHhfZnJlZV90aHJlc2g7DQo+ID4+Pj4+PiArICBib29sIHJzX2RlZmVycmluZ19hbGxv d2VkOw0KPiA+Pj4+Pj4NCj4gPj4+Pj4+ICAgICBQTURfSU5JVF9GVU5DX1RSQUNFKCk7DQo+ID4+ Pj4+PiAgICAgaHcgPSBJWEdCRV9ERVZfUFJJVkFURV9UT19IVyhkZXYtPmRhdGEtPmRldl9wcml2 YXRlKTsNCj4gPj4+Pj4+DQo+ID4+Pj4+PiAgICAgLyoNCj4gPj4+Pj4+ICsgICAqIEFjY29yZGlu ZyB0byA4MjU5OSBhbmQgeDU0MCBzcGVjaWZpY2F0aW9ucyBSUyBiaXQgKm11c3QqIGJlDQo+ID4+ IHNldCBvbg0KPiA+Pj4+IHRoZQ0KPiA+Pj4+Pj4gKyAgICogbGFzdCBkZXNjcmlwdG9yIG9mICpl dmVyeSogcGFja2V0LiBUaGVyZWZvcmUgd2Ugd2lsbCBub3QgYWxsb3cNCj4gPj4gdGhlDQo+ID4+ Pj4+PiArICAgKiB0eF9yc190aHJlc2ggYWJvdmUgMSBmb3IgYWxsIE5JQ3MgbmV3ZXIgdGhhbiA4 MjU5OC4NCj4gPj4+Pj4+ICsgICAqLw0KPiA+Pj4+Pj4gKyAgcnNfZGVmZXJyaW5nX2FsbG93ZWQg PSAoaHctPm1hYy50eXBlIDw9IGl4Z2JlX21hY184MjU5OEVCKTsNCj4gPj4+Pj4+ICsNCj4gPj4+ Pj4+ICsgIC8qDQo+ID4+Pj4+PiAgICAgICogVmFsaWRhdGUgbnVtYmVyIG9mIHRyYW5zbWl0IGRl c2NyaXB0b3JzLg0KPiA+Pj4+Pj4gICAgICAqIEl0IG11c3Qgbm90IGV4Y2VlZCBoYXJkd2FyZSBt YXhpbXVtLCBhbmQgbXVzdCBiZSBtdWx0aXBsZQ0KPiA+Pj4+Pj4gICAgICAqIG9mIElYR0JFX0FM SUdOLg0KPiA+Pj4+Pj4gQEAgLTIxMTAsNiArMjExOCw4IEBAIGl4Z2JlX2Rldl90eF9xdWV1ZV9z ZXR1cChzdHJ1Y3QgcnRlX2V0aF9kZXYNCj4gPj4+PiAqZGV2LA0KPiA+Pj4+Pj4gICAgICAqIHRv IHRyYW5zbWl0IGEgcGFja2V0IGlzIGdyZWF0ZXIgdGhhbiB0aGUgbnVtYmVyIG9mIGZyZWUgVFgN Cj4gPj4+Pj4+ICAgICAgKiBkZXNjcmlwdG9ycy4NCj4gPj4+Pj4+ICAgICAgKiBUaGUgZm9sbG93 aW5nIGNvbnN0cmFpbnRzIG11c3QgYmUgc2F0aXNmaWVkOg0KPiA+Pj4+Pj4gKyAgICogIHR4X3Jz X3RocmVzaCBtdXN0IGJlIGxlc3MgdGhhbiAyIGZvciBOSUNzIGZvciB3aGljaCBSUw0KPiA+PiBk ZWZlcnJpbmcgaXMNCj4gPj4+Pj4+ICsgICAqICBmb3JiaWRkZW4gKGFsbCBidXQgODI1OTgpLg0K PiA+Pj4+Pj4gICAgICAqICB0eF9yc190aHJlc2ggbXVzdCBiZSBncmVhdGVyIHRoYW4gMC4NCj4g Pj4+Pj4+ICAgICAgKiAgdHhfcnNfdGhyZXNoIG11c3QgYmUgbGVzcyB0aGFuIHRoZSBzaXplIG9m IHRoZSByaW5nIG1pbnVzIDIuDQo+ID4+Pj4+PiAgICAgICogIHR4X3JzX3RocmVzaCBtdXN0IGJl IGxlc3MgdGhhbiBvciBlcXVhbCB0byB0eF9mcmVlX3RocmVzaC4NCj4gPj4+Pj4+IEBAIC0yMTIx LDkgKzIxMzEsMjAgQEAgaXhnYmVfZGV2X3R4X3F1ZXVlX3NldHVwKHN0cnVjdCBydGVfZXRoX2Rl dg0KPiA+Pj4+ICpkZXYsDQo+ID4+Pj4+PiAgICAgICogV2hlbiBzZXQgdG8gemVybyB1c2UgZGVm YXVsdCB2YWx1ZXMuDQo+ID4+Pj4+PiAgICAgICovDQo+ID4+Pj4+PiAgICAgdHhfcnNfdGhyZXNo ID0gKHVpbnQxNl90KSgodHhfY29uZi0+dHhfcnNfdGhyZXNoKSA/DQo+ID4+Pj4+PiAtICAgICAg ICAgICAgICAgICAgdHhfY29uZi0+dHhfcnNfdGhyZXNoIDogREVGQVVMVF9UWF9SU19USFJFU0gp Ow0KPiA+Pj4+Pj4gKyAgICAgICAgICAgICAgICAgIHR4X2NvbmYtPnR4X3JzX3RocmVzaCA6DQo+ ID4+Pj4+PiArICAgICAgICAgICAgICAgICAgKHJzX2RlZmVycmluZ19hbGxvd2VkID8gREVGQVVM VF9UWF9SU19USFJFU0ggOg0KPiA+PiAxKSk7DQo+ID4+Pj4+PiAgICAgdHhfZnJlZV90aHJlc2gg PSAodWludDE2X3QpKCh0eF9jb25mLT50eF9mcmVlX3RocmVzaCkgPw0KPiA+Pj4+Pj4gICAgICAg ICAgICAgICAgICAgICB0eF9jb25mLT50eF9mcmVlX3RocmVzaCA6IERFRkFVTFRfVFhfRlJFRV9U SFJFU0gpOw0KPiA+Pj4+Pj4gKw0KPiA+Pj4+Pj4gKyAgaWYgKCFyc19kZWZlcnJpbmdfYWxsb3dl ZCAmJiB0eF9yc190aHJlc2ggPiAxKSB7DQo+ID4+Pj4+PiArICAgICAgICAgIFBNRF9JTklUX0xP RyhFUlIsICJ0eF9yc190aHJlc2ggbXVzdCBiZSBsZXNzIHRoYW4gMiBzaW5jZQ0KPiA+PiBSUw0K PiA+Pj4+ICINCj4gPj4+Pj4+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm11c3QgYmUg c2V0IGZvciBldmVyeSBwYWNrZXQgZm9yIHRoaXMNCj4gPj4gSFcuICINCj4gPj4+Pj4+ICsgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIih0eF9yc190aHJlc2g9JXUgcG9ydD0lZCBxdWV1ZT0l ZCkiLA0KPiA+Pj4+Pj4gKyAgICAgICAgICAgICAgICAgICAgICAgKHVuc2lnbmVkIGludCl0eF9y c190aHJlc2gsDQo+ID4+Pj4+PiArICAgICAgICAgICAgICAgICAgICAgICAoaW50KWRldi0+ZGF0 YS0+cG9ydF9pZCwgKGludClxdWV1ZV9pZHgpOw0KPiA+Pj4+Pj4gKyAgICAgICAgICByZXR1cm4g LShFSU5WQUwpOw0KPiA+Pj4+Pj4gKyAgfQ0KPiA+Pj4+Pj4gKw0KPiA+Pj4+Pj4gICAgIGlmICh0 eF9yc190aHJlc2ggPj0gKG5iX2Rlc2MgLSAyKSkgew0KPiA+Pj4+Pj4gICAgICAgICAgICAgUE1E X0lOSVRfTE9HKEVSUiwgInR4X3JzX3RocmVzaCBtdXN0IGJlIGxlc3MgdGhhbiB0aGUNCj4gPj4+ PiBudW1iZXIgIg0KPiA+Pj4+Pj4gICAgICAgICAgICAgICAgICAgICAgICAgICJvZiBUWCBkZXNj cmlwdG9ycyBtaW51cyAyLiAodHhfcnNfdGhyZXNoPSV1DQo+ID4+ICINCj4gPj4+Pj4+IC0tDQo+ ID4+Pj4+PiAyLjEuMA0KDQo=