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 402D85954 for ; Tue, 25 Aug 2015 21:16:33 +0200 (CEST) Received: from orsmga003.jf.intel.com ([10.7.209.27]) by fmsmga102.fm.intel.com with ESMTP; 25 Aug 2015 12:16:32 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.17,747,1437462000"; d="scan'208";a="632081949" Received: from pgsmsx106.gar.corp.intel.com ([10.221.44.98]) by orsmga003.jf.intel.com with ESMTP; 25 Aug 2015 12:16:30 -0700 Received: from shsmsx152.ccr.corp.intel.com (10.239.6.52) by PGSMSX106.gar.corp.intel.com (10.221.44.98) with Microsoft SMTP Server (TLS) id 14.3.224.2; Wed, 26 Aug 2015 03:16:29 +0800 Received: from shsmsx104.ccr.corp.intel.com ([169.254.5.210]) by SHSMSX152.ccr.corp.intel.com ([169.254.6.182]) with mapi id 14.03.0224.002; Wed, 26 Aug 2015 03:16:28 +0800 From: "Zhang, Helin" To: Vlad Zolotarov Thread-Topic: [dpdk-dev] [PATCH v1] ixgbe_pmd: forbid tx_rs_thresh above 1 for all NICs but 82598 Thread-Index: AQHQ1fLetlF10YIG/kWzzVYFXNo2ap4KX8ywgAAU3oCAB4kdgIAARtIAgAFYG3CACXpWUP//gCGAgACHY7D//33bgIAAi1og Date: Tue, 25 Aug 2015 19:16:27 +0000 Message-ID: References: <1439489195-31553-1-git-send-email-vladz@cloudius-systems.com> <55CD7EA5.6060100@cloudius-systems.com> <6A0DE07E22DDAD4C9103DF62FEBC0909D3E116@shsmsx102.ccr.corp.intel.com> <55DCB975.2030000@cloudius-systems.com> In-Reply-To: <55DCB975.2030000@cloudius-systems.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.239.127.40] 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 19:16:34 -0000 DQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogVmxhZCBab2xvdGFyb3Yg W21haWx0bzp2bGFkekBjbG91ZGl1cy1zeXN0ZW1zLmNvbV0NCj4gU2VudDogVHVlc2RheSwgQXVn dXN0IDI1LCAyMDE1IDExOjUzIEFNDQo+IFRvOiBaaGFuZywgSGVsaW4NCj4gQ2M6IEx1LCBXZW56 aHVvOyBkZXZAZHBkay5vcmcNCj4gU3ViamVjdDogUmU6IFtkcGRrLWRldl0gW1BBVENIIHYxXSBp eGdiZV9wbWQ6IGZvcmJpZCB0eF9yc190aHJlc2ggYWJvdmUgMSBmb3INCj4gYWxsIE5JQ3MgYnV0 IDgyNTk4DQo+IA0KPiANCj4gDQo+IE9uIDA4LzI1LzE1IDIxOjQzLCBaaGFuZywgSGVsaW4gd3Jv dGU6DQo+ID4NCj4gPiBIaSBWbGFkDQo+ID4NCj4gPiBJIHRoaW5rIHRoaXMgY291bGQgcG9zc2li bHkgYmUgdGhlIHJvb3QgY2F1c2Ugb2YgeW91ciBUWCBoYW5nIGlzc3VlLg0KPiA+IFBsZWFzZSB0 cnkgdG8gbGltaXQgdGhlIG51bWJlciB0byA4IG9yIGxlc3MsIGFuZCB0aGVuIHNlZSBpZiB0aGUg aXNzdWUNCj4gPiB3aWxsIHN0aWxsIGJlIHRoZXJlIG9yIG5vdD8NCj4gPg0KPiANCj4gSGVsaW4s IHRoZSBpc3N1ZSBoYXMgYmVlbiBzZWVuIG9uIHg1NDAgZGV2aWNlcy4gUGxzLiwgc2VlIGEgY2hh cHRlcg0KPiA3LjIuMS4xIG9mIHg1NDAgZGV2aWNlcyBzcGVjOg0KPiANCj4gQSBwYWNrZXQgKG9y IG11bHRpcGxlIHBhY2tldHMgaW4gdHJhbnNtaXQgc2VnbWVudGF0aW9uKSBjYW4gc3BhbiBhbnkg bnVtYmVyIG9mDQo+IGJ1ZmZlcnMgKGFuZCB0aGVpciBkZXNjcmlwdG9ycykgdXAgdG8gYSBsaW1p dCBvZiA0MCBtaW51cyBXVEhSRVNIIG1pbnVzIDIgKHNlZQ0KPiBTZWN0aW9uIDcuMi4zLjMgZm9y IFR4IFJpbmcgZGV0YWlscyBhbmQgc2VjdGlvbiBTZWN0aW9uIDcuMi4zLjUuMSBmb3IgV1RIUkVT SA0KPiBkZXRhaWxzKS4gRm9yIGJlc3QgcGVyZm9ybWFuY2UgaXQgaXMgcmVjb21tZW5kZWQgdG8g bWluaW1pemUgdGhlIG51bWJlciBvZg0KPiBidWZmZXJzIGFzIHBvc3NpYmxlLg0KPiANCj4gQ291 bGQgdSwgcGxzLiwgY2xhcmlmeSB3aHkgZG8gdSB0aGluayB0aGF0IHRoZSBtYXhpbXVtIG51bWJl ciBvZiBkYXRhIGJ1ZmZlcnMgaXMNCj4gbGltaXRlZCBieSA4Pw0KT0ssIGk0MGUgaGFyZHdhcmUg aXMgOCwgc28gSSdkIGFzc3VtZSB4NTQwIGNvdWxkIGhhdmUgYSBzaW1pbGFyIG9uZS4gWWVzLCBp biB5b3VyIGNhc2UsDQp0aGUgbGltaXQgY291bGQgYmUgYXJvdW5kIDM4LCByaWdodD8NCkNvdWxk IHlvdSBoZWxwIHRvIG1ha2Ugc3VyZSB0aGVyZSBpcyBubyBwYWNrZXQgdG8gYmUgdHJhbnNtaXR0 ZWQgdXNlcyBtb3JlIHRoYW4NCjM4IGRlc2NyaXB0b3JzPw0KSSBoZWFyZCB0aGF0IHRoZXJlIGlz IGEgc2ltaWxhciBoYW5nIGlzc3VlIG9uIFg3MTAgaWYgdXNpbmcgbW9yZSB0aGFuIDggZGVzY3Jp cHRvcnMgZm9yDQphIHNpbmdsZSBwYWNrZXQuIEkgYW0gd29uZGVyaW5nIGlmIHRoZSBpc3N1ZSBp cyBzaW1pbGFyIG9uIHg1NDAuDQoNClJlZ2FyZHMsDQpIZWxpbg0KDQo+IA0KPiB0aGFua3MsDQo+ IHZsYWQNCj4gDQo+ID4gSXQgZG9lcyBub3QgaGF2ZSBhbnkgY2hlY2sgZm9yIHRoZSBudW1iZXIg b2YgZGVzY3JpcHRvcnMgdG8gYmUgdXNlZA0KPiA+IGZvciBhIHNpbmdsZSBwYWNrZXQsIGFuZCBp dCByZWxpZXMgb24gdGhlIHVzZXJzIHRvIGdpdmUgY29ycmVjdCBtYnVmDQo+ID4gY2hhaW5zLg0K PiA+DQo+ID4gV2UgbWF5IG5lZWQgYSBjaGVjayBvZiB0aGlzIHNvbWV3aGVyZS4gT2YgY2F1c2Ug dGhlIHBvaW50IHlvdQ0KPiA+IGluZGljYXRlZCB3ZSBhbHNvIG5lZWQgdG8gY2FyZWZ1bGx5IGlu dmVzdGlnYXRlIG9yIGZpeC4NCj4gPg0KPiA+IFJlZ2FyZHMsDQo+ID4NCj4gPiBIZWxpbg0KPiA+ DQo+ID4gKkZyb206KlZsYWRpc2xhdiBab2xvdGFyb3YgW21haWx0bzp2bGFkekBjbG91ZGl1cy1z eXN0ZW1zLmNvbV0NCj4gPiAqU2VudDoqIFR1ZXNkYXksIEF1Z3VzdCAyNSwgMjAxNSAxMTozNCBB TQ0KPiA+ICpUbzoqIFpoYW5nLCBIZWxpbg0KPiA+ICpDYzoqIEx1LCBXZW56aHVvOyBkZXZAZHBk ay5vcmcNCj4gPiAqU3ViamVjdDoqIFJFOiBbZHBkay1kZXZdIFtQQVRDSCB2MV0gaXhnYmVfcG1k OiBmb3JiaWQgdHhfcnNfdGhyZXNoDQo+ID4gYWJvdmUgMSBmb3IgYWxsIE5JQ3MgYnV0IDgyNTk4 DQo+ID4NCj4gPg0KPiA+IE9uIEF1ZyAyNSwgMjAxNSAyMToxNCwgIlpoYW5nLCBIZWxpbiIgPGhl bGluLnpoYW5nQGludGVsLmNvbQ0KPiA+IDxtYWlsdG86aGVsaW4uemhhbmdAaW50ZWwuY29tPj4g d3JvdGU6DQo+ID4gPg0KPiA+ID4gSGkgVmxhZA0KPiA+ID4NCj4gPiA+DQo+ID4gPg0KPiA+ID4g SW4gYWRkaXRpb24sIEnigJlkIGRvdWJsZSBjaGVjayB3aXRoIHlvdSB3aGF04oCZcyB0aGUgbWF4 aW11bSBudW1iZXIgb2YNCj4gPiBkZXNjcmlwdG9ycyB3b3VsZCBiZSB1c2VkIGZvciBhIHNpbmds ZSBwYWNrZXQgdHJhbnNtaXR0aW5nPw0KPiA+ID4NCj4gPiA+IERhdGFzaGVldCBzYWlkIHRoYXQg aXQgc3VwcG9ydHMgdXAgdG8gOC4gSSBhbSB3b25kZXJpbmcgaWYgbW9yZSB0aGFuDQo+ID4gOCB3 ZXJlIHVzZWQgaW4geW91ciBjYXNlPw0KPiA+DQo+ID4gSWYgbWVtb3J5IHNlcnZlcyBtZSB3ZWxs IHRoZSBtYXhpbXVtIG51bWJlciBvZiBkYXRhIGRlc2NyaXB0b3JzIHBlcg0KPiA+IHNpbmdsZSB4 bWl0IHBhY2tldCBpcyA0MCBtaW51cyAyIG1pbnVzIFdUSFJFU0guIFNpbmNlIFdUSFJFU0ggaW4g RFBESw0KPiA+IGlzIGFsd2F5cyB6ZXJvIGl0IGdpdmVzIHVzIDM4IHNlZ21lbnRzLiBXZSBsaW1p dCB0aGVtIGJ5IDMzLg0KPiA+DQo+ID4gPg0KPiA+ID4gVGhhbmsgeW91IHZlcnkgbXVjaCENCj4g PiA+DQo+ID4gPg0KPiA+ID4NCj4gPiA+IFJlZ2FyZHMsDQo+ID4gPg0KPiA+ID4gSGVsaW4NCj4g PiA+DQo+ID4gPg0KPiA+ID4NCj4gPiA+IEZyb206IFpoYW5nLCBIZWxpbg0KPiA+ID4gU2VudDog V2VkbmVzZGF5LCBBdWd1c3QgMTksIDIwMTUgMTA6MjkgQU0NCj4gPiA+IFRvOiBWbGFkaXNsYXYg Wm9sb3Rhcm92DQo+ID4gPiBDYzogTHUsIFdlbnpodW87IGRldkBkcGRrLm9yZyA8bWFpbHRvOmRl dkBkcGRrLm9yZz4NCj4gPiA+DQo+ID4gPiBTdWJqZWN0OiBSRTogW2RwZGstZGV2XSBbUEFUQ0gg djFdIGl4Z2JlX3BtZDogZm9yYmlkIHR4X3JzX3RocmVzaA0KPiA+IGFib3ZlIDEgZm9yIGFsbCBO SUNzIGJ1dCA4MjU5OA0KPiA+ID4NCj4gPiA+DQo+ID4gPg0KPiA+ID4gSGkgVmxhZA0KPiA+ID4N Cj4gPiA+DQo+ID4gPg0KPiA+ID4gVGhhbmsgeW91IHZlcnkgbXVjaCBmb3IgdGhlIHBhdGNoZXMh IEdpdmUgbWUgYSBmZXcgbW9yZSB0aW1lIHRvDQo+ID4gZG91YmxlIGNoZWNrIHdpdGggbW9yZSBn dXlzLCBhbmQgcG9zc2libHkgaGFyZHdhcmUgZXhwZXJ0cy4NCj4gPiA+DQo+ID4gPg0KPiA+ID4N Cj4gPiA+IFJlZ2FyZHMsDQo+ID4gPg0KPiA+ID4gSGVsaW4NCj4gPiA+DQo+ID4gPg0KPiA+ID4N Cj4gPiA+IEZyb206IFZsYWRpc2xhdiBab2xvdGFyb3YgW21haWx0bzp2bGFkekBjbG91ZGl1cy1z eXN0ZW1zLmNvbQ0KPiA+IDxtYWlsdG86dmxhZHpAY2xvdWRpdXMtc3lzdGVtcy5jb20+XQ0KPiA+ ID4gU2VudDogVHVlc2RheSwgQXVndXN0IDE4LCAyMDE1IDk6NTYgUE0NCj4gPiA+IFRvOiBMdSwg V2Vuemh1bw0KPiA+ID4gQ2M6IGRldkBkcGRrLm9yZyA8bWFpbHRvOmRldkBkcGRrLm9yZz47IFpo YW5nLCBIZWxpbg0KPiA+ID4gU3ViamVjdDogUkU6IFtkcGRrLWRldl0gW1BBVENIIHYxXSBpeGdi ZV9wbWQ6IGZvcmJpZCB0eF9yc190aHJlc2gNCj4gPiBhYm92ZSAxIGZvciBhbGwgTklDcyBidXQg ODI1OTgNCj4gPiA+DQo+ID4gPg0KPiA+ID4NCj4gPiA+DQo+ID4gPiBPbiBBdWcgMTksIDIwMTUg MDM6NDIsICJMdSwgV2Vuemh1byIgPHdlbnpodW8ubHVAaW50ZWwuY29tDQo+ID4gPG1haWx0bzp3 ZW56aHVvLmx1QGludGVsLmNvbT4+IHdyb3RlOg0KPiA+ID4gPg0KPiA+ID4gPiBIaSBIZWxpbiwN Cj4gPiA+ID4NCj4gPiA+ID4gPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+ID4gPiA+ IEZyb206IGRldiBbbWFpbHRvOmRldi1ib3VuY2VzQGRwZGsub3JnDQo+ID4gPG1haWx0bzpkZXYt Ym91bmNlc0BkcGRrLm9yZz5dIE9uIEJlaGFsZiBPZiBWbGFkIFpvbG90YXJvdg0KPiA+ID4gPiA+ IFNlbnQ6IEZyaWRheSwgQXVndXN0IDE0LCAyMDE1IDE6MzggUE0NCj4gPiA+ID4gPiBUbzogWmhh bmcsIEhlbGluOyBkZXZAZHBkay5vcmcgPG1haWx0bzpkZXZAZHBkay5vcmc+DQo+ID4gPiA+ID4g U3ViamVjdDogUmU6IFtkcGRrLWRldl0gW1BBVENIIHYxXSBpeGdiZV9wbWQ6IGZvcmJpZA0KPiA+ IHR4X3JzX3RocmVzaCBhYm92ZSAxIGZvcg0KPiA+ID4gPiA+IGFsbCBOSUNzIGJ1dCA4MjU5OA0K PiA+ID4gPiA+DQo+ID4gPiA+ID4NCj4gPiA+ID4gPg0KPiA+ID4gPiA+IE9uIDA4LzEzLzE1IDIz OjI4LCBaaGFuZywgSGVsaW4gd3JvdGU6DQo+ID4gPiA+ID4gPiBIaSBWbGFkDQo+ID4gPiA+ID4g Pg0KPiA+ID4gPiA+ID4gSSBkb24ndCB0aGluayB0aGUgY2hhbmdlcyBhcmUgbmVlZGVkLiBJdCBz YXlzIGluIGRhdGFzaGVldA0KPiA+IHRoYXQgdGhlIFJTDQo+ID4gPiA+ID4gPiBiaXQgc2hvdWxk IGJlIHNldCBvbiB0aGUgbGFzdCBkZXNjcmlwdG9yIG9mIGV2ZXJ5IHBhY2tldCwgT05MWQ0KPiA+ IFdIRU4NCj4gPiA+ID4gPiBUWERDVEwuV1RIUkVTSCBlcXVhbHMgdG8gWkVSTy4NCj4gPiA+ID4g Pg0KPiA+ID4gPiA+IE9mIGNvdXJzZSBpdCdzIG5lZWRlZCEgU2VlIGJlbG93Lg0KPiA+ID4gPiA+ IEV4YWN0bHkgdGhlIHNhbWUgc3BlYyBhIGZldyBsaW5lcyBhYm92ZSB0aGUgcGxhY2UgdSd2ZSBq dXN0DQo+ID4gcXVvdGVkIHN0YXRlczoNCj4gPiA+ID4gPg0KPiA+ID4gPiA+ICJTb2Z0d2FyZSBz aG91bGQgbm90IHNldCB0aGUgUlMgYml0IHdoZW4gVFhEQ1RMLldUSFJFU0ggaXMNCj4gPiBncmVh dGVyIHRoYW4NCj4gPiA+ID4gPiB6ZXJvLiINCj4gPiA+ID4gPg0KPiA+ID4gPiA+IEFuZCBzaW5j ZSBhbGwgdGhyZWUgKDMpIGl4Z2JlIHhtaXQgY2FsbGJhY2tzIGFyZSB1dGlsaXppbmcgUlMNCj4g PiBiaXQgbm90YXRpb24gaXhnYmUgUE1EDQo+ID4gPiA+ID4gaXMgYWN0dWFsbHkgbm90IHN1cHBv cnRpbmcgYW55IHZhbHVlIG9mIFdUSFJFU0ggZGlmZmVyZW50IGZyb20gemVyby4NCj4gPiA+ID4g SSB0aGluayBWbGFkIGlzIHJpZ2h0LiBXZSBuZWVkIHRvIGZpeCB0aGlzIGlzc3VlLiBBbnkgc3Vn Z2VzdGlvbj8NCj4gPiBJZiBub3QsIEknZCBsaWtlIHRvIGFjayB0aGlzIHBhdGNoLg0KPiA+ID4N Cj4gPiA+IFBscy4sIG5vdGUgdGhhdCB0aGVyZSBpcyBhIHYyIG9mIHRoaXMgcGF0Y2ggb24gdGhl IGxpc3QuIEkgZm9yZ290IHRvDQo+ID4gcGF0Y2ggaXhnYmV2Zl9kZXZfaW5mb19nZXQoKSBpbiB2 MS4NCj4gPiA+DQo+ID4gPiA+DQo+ID4gPiA+ID4NCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiBS ZWdhcmRzLA0KPiA+ID4gPiA+ID4gSGVsaW4NCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPj4gLS0t LS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gPiA+ID4gPiA+PiBGcm9tOiBWbGFkIFpvbG90YXJv diBbbWFpbHRvOnZsYWR6QGNsb3VkaXVzLXN5c3RlbXMuY29tDQo+ID4gPG1haWx0bzp2bGFkekBj bG91ZGl1cy1zeXN0ZW1zLmNvbT5dDQo+ID4gPiA+ID4gPj4gU2VudDogVGh1cnNkYXksIEF1Z3Vz dCAxMywgMjAxNSAxMTowNyBBTQ0KPiA+ID4gPiA+ID4+IFRvOiBkZXZAZHBkay5vcmcgPG1haWx0 bzpkZXZAZHBkay5vcmc+DQo+ID4gPiA+ID4gPj4gQ2M6IFpoYW5nLCBIZWxpbjsgQW5hbnlldiwg S29uc3RhbnRpbjsNCj4gPiBhdmlAY2xvdWRpdXMtc3lzdGVtcy5jb20gPG1haWx0bzphdmlAY2xv dWRpdXMtc3lzdGVtcy5jb20+OyBWbGFkDQo+ID4gPiA+ID4gPj4gWm9sb3Rhcm92DQo+ID4gPiA+ ID4gPj4gU3ViamVjdDogW2RwZGstZGV2XSBbUEFUQ0ggdjFdIGl4Z2JlX3BtZDogZm9yYmlkIHR4 X3JzX3RocmVzaA0KPiA+IGFib3ZlIDEgZm9yDQo+ID4gPiA+ID4gYWxsDQo+ID4gPiA+ID4gPj4g TklDcyBidXQgODI1OTgNCj4gPiA+ID4gPiA+Pg0KPiA+ID4gPiA+ID4+IEFjY29yZGluZyB0byA4 MjU5OSBhbmQgeDU0MCBIVyBzcGVjaWZpY2F0aW9ucyBSUyBiaXQgKm11c3QqDQo+ID4gYmUgc2V0 IGluIHRoZQ0KPiA+ID4gPiA+IGxhc3QNCj4gPiA+ID4gPiA+PiBkZXNjcmlwdG9yIG9mICpldmVy eSogcGFja2V0Lg0KPiA+ID4gPiA+ID4gVGhlcmUgaXMgYSBjb25kaXRpb24gdGhhdCBpZiBUWERD VEwuV1RIUkVTSCBlcXVhbCB0byB6ZXJvLg0KPiA+ID4gPiA+DQo+ID4gPiA+ID4gUmlnaHQgYW5k IGl4Z2JlIFBNRCByZXF1aXJlcyB0aGlzIGNvbmRpdGlvbiB0byBiZSBmdWxmaWxsZWQgaW4NCj4g PiBvcmRlciB0bw0KPiA+ID4gPiA+IGZ1bmN0aW9uLiBTZWUgYWJvdmUuDQo+ID4gPiA+ID4NCj4g PiA+ID4gPiA+DQo+ID4gPiA+ID4gPj4gVGhpcyBwYXRjaCBmaXhlcyB0aGUgVHggaGFuZyB3ZSB3 ZXJlIGNvbnN0YW50bHkgaGl0dGluZyB3aXRoDQo+ID4gYSBzZWFzdGFyLWJhc2VkDQo+ID4gPiA+ ID4gPj4gYXBwbGljYXRpb24gb24geDU0MCBOSUMuDQo+ID4gPiA+ID4gPiBDb3VsZCB5b3UgaGVs cCB0byBzaGFyZSB3aXRoIHVzIGhvdyB0byByZXByb2R1Y2UgdGhlIHR4IGhhbmcNCj4gPiBpc3N1 ZSwgd2l0aCB1c2luZw0KPiA+ID4gPiA+ID4gdHlwaWNhbCBEUERLIGV4YW1wbGVzPw0KPiA+ID4g PiA+DQo+ID4gPiA+ID4gU29ycnkuIEknbSBub3QgdmVyeSBmYW1pbGlhciB3aXRoIHRoZSB0eXBp Y2FsIERQREsgZXhhbXBsZXMgdG8NCj4gPiBoZWxwIHUNCj4gPiA+ID4gPiBoZXJlLiBIb3dldmVy IHRoaXMgaXMgcXVpdGUgaXJyZWxldmFudCBzaW5jZSB3aXRob3V0IHRoaXMgdGhpcw0KPiA+ID4g PiA+IHBhdGNoIGl4Z2JlIFBNRCBvYnZpb3VzbHkgYWJ1c2VzIHRoZSBIVyBzcGVjIGFzIGhhcyBi ZWVuIGV4cGxhaW5lZA0KPiBhYm92ZS4NCj4gPiA+ID4gPg0KPiA+ID4gPiA+IFdlIHNhdyB0aGUg aXNzdWUgd2hlbiB1IHN0cmVzc2VkIHRoZSB4bWl0IHBhdGggd2l0aCBhIGxvdCBvZg0KPiA+ID4g PiA+IGhpZ2hseSBmcmFnbWVudGVkIFRDUCBmcmFtZXMgKHBhY2tldHMgd2l0aCB1cCB0byAzMyBm cmFnbWVudHMNCj4gPiA+ID4gPiB3aXRoDQo+ID4gbm9uLWhlYWRlcnMNCj4gPiA+ID4gPiBmcmFn bWVudHMgYXMgc21hbGwgYXMgNCBieXRlcykgd2l0aCBhbGwgb2ZmbG9hZCBmZWF0dXJlcyBlbmFi bGVkLg0KPiA+ID4gPiA+DQo+ID4gPiA+ID4gVGhhbmtzLA0KPiA+ID4gPiA+IHZsYWQNCj4gPiA+ ID4gPiA+DQo+ID4gPiA+ID4gPj4gU2lnbmVkLW9mZi1ieTogVmxhZCBab2xvdGFyb3YgPHZsYWR6 QGNsb3VkaXVzLXN5c3RlbXMuY29tDQo+ID4gPG1haWx0bzp2bGFkekBjbG91ZGl1cy1zeXN0ZW1z LmNvbT4+DQo+ID4gPiA+ID4gPj4gLS0tDQo+ID4gPiA+ID4gPj4gICBkcml2ZXJzL25ldC9peGdi ZS9peGdiZV9ldGhkZXYuYyB8ICA5ICsrKysrKysrKw0KPiA+ID4gPiA+ID4+ICAgZHJpdmVycy9u ZXQvaXhnYmUvaXhnYmVfcnh0eC5jICB8IDIzICsrKysrKysrKysrKysrKysrKysrKystDQo+ID4g PiA+ID4gPj4gICAyIGZpbGVzIGNoYW5nZWQsIDMxIGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24o LSkNCj4gPiA+ID4gPiA+Pg0KPiA+ID4gPiA+ID4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9p eGdiZS9peGdiZV9ldGhkZXYuYw0KPiA+ID4gPiA+ID4+IGIvZHJpdmVycy9uZXQvaXhnYmUvaXhn YmVfZXRoZGV2LmMNCj4gPiA+ID4gPiA+PiBpbmRleCBiOGVlMWU5Li42NzE0ZmQ5IDEwMDY0NA0K PiA+ID4gPiA+ID4+IC0tLSBhL2RyaXZlcnMvbmV0L2l4Z2JlL2l4Z2JlX2V0aGRldi5jDQo+ID4g PiA+ID4gPj4gKysrIGIvZHJpdmVycy9uZXQvaXhnYmUvaXhnYmVfZXRoZGV2LmMNCj4gPiA+ID4g PiA+PiBAQCAtMjQxNCw2ICsyNDE0LDE1IEBAIGl4Z2JlX2Rldl9pbmZvX2dldChzdHJ1Y3QgcnRl X2V0aF9kZXYNCj4gPiAqZGV2LA0KPiA+ID4gPiA+IHN0cnVjdA0KPiA+ID4gPiA+ID4+IHJ0ZV9l dGhfZGV2X2luZm8gKmRldl9pbmZvKQ0KPiA+ID4gPiA+ID4+ICAgICAgICAgICAgLnR4cV9mbGFn cyA9IEVUSF9UWFFfRkxBR1NfTk9NVUxUU0VHUyB8DQo+ID4gPiA+ID4gPj4gRVRIX1RYUV9GTEFH U19OT09GRkxPQURTLA0KPiA+ID4gPiA+ID4+ICAgIH07DQo+ID4gPiA+ID4gPj4gKw0KPiA+ID4g PiA+ID4+ICsgIC8qDQo+ID4gPiA+ID4gPj4gKyAgICogQWNjb3JkaW5nIHRvIDgyNTk5IGFuZCB4 NTQwIHNwZWNpZmljYXRpb25zIFJTIGJpdA0KPiA+ICptdXN0KiBiZSBzZXQgb24NCj4gPiA+ID4g PiB0aGUNCj4gPiA+ID4gPiA+PiArICAgKiBsYXN0IGRlc2NyaXB0b3Igb2YgKmV2ZXJ5KiBwYWNr ZXQuIFRoZXJlZm9yZSB3ZSB3aWxsDQo+ID4gbm90IGFsbG93IHRoZQ0KPiA+ID4gPiA+ID4+ICsg ICAqIHR4X3JzX3RocmVzaCBhYm92ZSAxIGZvciBhbGwgTklDcyBuZXdlciB0aGFuIDgyNTk4Lg0K PiA+ID4gPiA+ID4+ICsgICAqLw0KPiA+ID4gPiA+ID4+ICsgIGlmIChody0+bWFjLnR5cGUgPiBp eGdiZV9tYWNfODI1OThFQikNCj4gPiA+ID4gPiA+PiArIGRldl9pbmZvLT5kZWZhdWx0X3R4Y29u Zi50eF9yc190aHJlc2ggPSAxOw0KPiA+ID4gPiA+ID4+ICsNCj4gPiA+ID4gPiA+PiAgICBkZXZf aW5mby0+aGFzaF9rZXlfc2l6ZSA9IElYR0JFX0hLRVlfTUFYX0lOREVYICoNCj4gPiBzaXplb2Yo dWludDMyX3QpOw0KPiA+ID4gPiA+ID4+ICAgIGRldl9pbmZvLT5yZXRhX3NpemUgPSBFVEhfUlNT X1JFVEFfU0laRV8xMjg7DQo+ID4gPiA+ID4gPj4gZGV2X2luZm8tPmZsb3dfdHlwZV9yc3Nfb2Zm bG9hZHMgPSBJWEdCRV9SU1NfT0ZGTE9BRF9BTEw7DQo+ID4gPiA+ID4gPj4gZGlmZiAtLQ0KPiA+ ID4gPiA+IGdpdA0KPiA+ID4gPiA+ID4+IGEvZHJpdmVycy9uZXQvaXhnYmUvaXhnYmVfcnh0eC5j DQo+ID4gYi9kcml2ZXJzL25ldC9peGdiZS9peGdiZV9yeHR4LmMgaW5kZXgNCj4gPiA+ID4gPiA+ PiA5MTAyM2I5Li44ZGJkZmZjIDEwMDY0NA0KPiA+ID4gPiA+ID4+IC0tLSBhL2RyaXZlcnMvbmV0 L2l4Z2JlL2l4Z2JlX3J4dHguYw0KPiA+ID4gPiA+ID4+ICsrKyBiL2RyaXZlcnMvbmV0L2l4Z2Jl L2l4Z2JlX3J4dHguYw0KPiA+ID4gPiA+ID4+IEBAIC0yMDg1LDExICsyMDg1LDE5IEBAIGl4Z2Jl X2Rldl90eF9xdWV1ZV9zZXR1cChzdHJ1Y3QNCj4gPiBydGVfZXRoX2Rldg0KPiA+ID4gPiA+ID4+ ICpkZXYsDQo+ID4gPiA+ID4gPj4gICAgc3RydWN0IGl4Z2JlX3R4X3F1ZXVlICp0eHE7DQo+ID4g PiA+ID4gPj4gICAgc3RydWN0IGl4Z2JlX2h3ICAgICAqaHc7DQo+ID4gPiA+ID4gPj4gICAgdWlu dDE2X3QgdHhfcnNfdGhyZXNoLCB0eF9mcmVlX3RocmVzaDsNCj4gPiA+ID4gPiA+PiArICBib29s IHJzX2RlZmVycmluZ19hbGxvd2VkOw0KPiA+ID4gPiA+ID4+DQo+ID4gPiA+ID4gPj4gICAgUE1E X0lOSVRfRlVOQ19UUkFDRSgpOw0KPiA+ID4gPiA+ID4+ICAgIGh3ID0gSVhHQkVfREVWX1BSSVZB VEVfVE9fSFcoZGV2LT5kYXRhLT5kZXZfcHJpdmF0ZSk7DQo+ID4gPiA+ID4gPj4NCj4gPiA+ID4g PiA+PiAgICAvKg0KPiA+ID4gPiA+ID4+ICsgICAqIEFjY29yZGluZyB0byA4MjU5OSBhbmQgeDU0 MCBzcGVjaWZpY2F0aW9ucyBSUyBiaXQNCj4gPiAqbXVzdCogYmUgc2V0IG9uDQo+ID4gPiA+ID4g dGhlDQo+ID4gPiA+ID4gPj4gKyAgICogbGFzdCBkZXNjcmlwdG9yIG9mICpldmVyeSogcGFja2V0 LiBUaGVyZWZvcmUgd2Ugd2lsbA0KPiA+IG5vdCBhbGxvdyB0aGUNCj4gPiA+ID4gPiA+PiArICAg KiB0eF9yc190aHJlc2ggYWJvdmUgMSBmb3IgYWxsIE5JQ3MgbmV3ZXIgdGhhbiA4MjU5OC4NCj4g PiA+ID4gPiA+PiArICAgKi8NCj4gPiA+ID4gPiA+PiArICByc19kZWZlcnJpbmdfYWxsb3dlZCA9 IChody0+bWFjLnR5cGUgPD0NCj4gPiA+ID4gPiA+PiArIGl4Z2JlX21hY184MjU5OEVCKTsNCj4g PiA+ID4gPiA+PiArDQo+ID4gPiA+ID4gPj4gKyAgLyoNCj4gPiA+ID4gPiA+PiAgICAgKiBWYWxp ZGF0ZSBudW1iZXIgb2YgdHJhbnNtaXQgZGVzY3JpcHRvcnMuDQo+ID4gPiA+ID4gPj4gICAgICog SXQgbXVzdCBub3QgZXhjZWVkIGhhcmR3YXJlIG1heGltdW0sIGFuZCBtdXN0IGJlIG11bHRpcGxl DQo+ID4gPiA+ID4gPj4gICAgICogb2YgSVhHQkVfQUxJR04uDQo+ID4gPiA+ID4gPj4gQEAgLTIx MTAsNiArMjExOCw4IEBAIGl4Z2JlX2Rldl90eF9xdWV1ZV9zZXR1cChzdHJ1Y3QNCj4gPiA+ID4g PiA+PiBydGVfZXRoX2Rldg0KPiA+ID4gPiA+ICpkZXYsDQo+ID4gPiA+ID4gPj4gICAgICogdG8g dHJhbnNtaXQgYSBwYWNrZXQgaXMgZ3JlYXRlciB0aGFuIHRoZSBudW1iZXIgb2YgZnJlZSBUWA0K PiA+ID4gPiA+ID4+ICAgICAqIGRlc2NyaXB0b3JzLg0KPiA+ID4gPiA+ID4+ICAgICAqIFRoZSBm b2xsb3dpbmcgY29uc3RyYWludHMgbXVzdCBiZSBzYXRpc2ZpZWQ6DQo+ID4gPiA+ID4gPj4gKyAg ICogIHR4X3JzX3RocmVzaCBtdXN0IGJlIGxlc3MgdGhhbiAyIGZvciBOSUNzIGZvciB3aGljaCBS Uw0KPiA+IGRlZmVycmluZyBpcw0KPiA+ID4gPiA+ID4+ICsgICAqICBmb3JiaWRkZW4gKGFsbCBi dXQgODI1OTgpLg0KPiA+ID4gPiA+ID4+ICAgICAqICB0eF9yc190aHJlc2ggbXVzdCBiZSBncmVh dGVyIHRoYW4gMC4NCj4gPiA+ID4gPiA+PiAgICAgKiAgdHhfcnNfdGhyZXNoIG11c3QgYmUgbGVz cyB0aGFuIHRoZSBzaXplIG9mIHRoZSByaW5nDQo+ID4gbWludXMgMi4NCj4gPiA+ID4gPiA+PiAg ICAgKiAgdHhfcnNfdGhyZXNoIG11c3QgYmUgbGVzcyB0aGFuIG9yIGVxdWFsIHRvIHR4X2ZyZWVf dGhyZXNoLg0KPiA+ID4gPiA+ID4+IEBAIC0yMTIxLDkgKzIxMzEsMjAgQEAgaXhnYmVfZGV2X3R4 X3F1ZXVlX3NldHVwKHN0cnVjdA0KPiA+IHJ0ZV9ldGhfZGV2DQo+ID4gPiA+ID4gKmRldiwNCj4g PiA+ID4gPiA+PiAgICAgKiBXaGVuIHNldCB0byB6ZXJvIHVzZSBkZWZhdWx0IHZhbHVlcy4NCj4g PiA+ID4gPiA+PiAgICAgKi8NCj4gPiA+ID4gPiA+PiAgICB0eF9yc190aHJlc2ggPSAodWludDE2 X3QpKCh0eF9jb25mLT50eF9yc190aHJlc2gpID8NCj4gPiA+ID4gPiA+PiAtIHR4X2NvbmYtPnR4 X3JzX3RocmVzaCA6IERFRkFVTFRfVFhfUlNfVEhSRVNIKTsNCj4gPiA+ID4gPiA+PiArIHR4X2Nv bmYtPnR4X3JzX3RocmVzaCA6DQo+ID4gPiA+ID4gPj4gKyAocnNfZGVmZXJyaW5nX2FsbG93ZWQg PyBERUZBVUxUX1RYX1JTX1RIUkVTSCA6IDEpKTsNCj4gPiA+ID4gPiA+PiAgICB0eF9mcmVlX3Ro cmVzaCA9ICh1aW50MTZfdCkoKHR4X2NvbmYtPnR4X2ZyZWVfdGhyZXNoKSA/DQo+ID4gPiA+ID4g Pj4gdHhfY29uZi0+dHhfZnJlZV90aHJlc2ggOiBERUZBVUxUX1RYX0ZSRUVfVEhSRVNIKTsNCj4g PiA+ID4gPiA+PiArDQo+ID4gPiA+ID4gPj4gKyAgaWYgKCFyc19kZWZlcnJpbmdfYWxsb3dlZCAm JiB0eF9yc190aHJlc2ggPiAxKSB7DQo+ID4gPiA+ID4gPj4gKyAgICAgICAgICBQTURfSU5JVF9M T0coRVJSLCAidHhfcnNfdGhyZXNoIG11c3QgYmUgbGVzcyB0aGFuDQo+ID4gMiBzaW5jZSBSUw0K PiA+ID4gPiA+ICINCj4gPiA+ID4gPiA+PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICJt dXN0IGJlIHNldCBmb3IgZXZlcnkgcGFja2V0DQo+ID4gZm9yIHRoaXMgSFcuICINCj4gPiA+ID4g PiA+PiArICIodHhfcnNfdGhyZXNoPSV1IHBvcnQ9JWQgcXVldWU9JWQpIiwNCj4gPiA+ID4gPiA+ PiArICAgICAgICAgICAgICAgICAgICAgICAodW5zaWduZWQgaW50KXR4X3JzX3RocmVzaCwNCj4g PiA+ID4gPiA+PiArIChpbnQpZGV2LT5kYXRhLT5wb3J0X2lkLCAoaW50KXF1ZXVlX2lkeCk7DQo+ ID4gPiA+ID4gPj4gKyAgICAgICAgICByZXR1cm4gLShFSU5WQUwpOw0KPiA+ID4gPiA+ID4+ICsg IH0NCj4gPiA+ID4gPiA+PiArDQo+ID4gPiA+ID4gPj4gICAgaWYgKHR4X3JzX3RocmVzaCA+PSAo bmJfZGVzYyAtIDIpKSB7DQo+ID4gPiA+ID4gPj4gICAgICAgICAgICBQTURfSU5JVF9MT0coRVJS LCAidHhfcnNfdGhyZXNoIG11c3QgYmUgbGVzcyB0aGFuDQo+ID4gPiA+ID4gPj4gdGhlDQo+ID4g PiA+ID4gbnVtYmVyICINCj4gPiA+ID4gPiA+PiAgICAgICAgICAgICAgICAgICAgICAgICAib2Yg VFggZGVzY3JpcHRvcnMgbWludXMgMi4NCj4gPiAodHhfcnNfdGhyZXNoPSV1ICINCj4gPiA+ID4g PiA+PiAtLQ0KPiA+ID4gPiA+ID4+IDIuMS4wDQo+ID4gPiA+DQo+ID4NCg0K