From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by dpdk.org (Postfix) with ESMTP id EB3642956 for ; Wed, 31 Aug 2016 09:18:38 +0200 (CEST) Received: from fmsmga003.fm.intel.com ([10.253.24.29]) by orsmga101.jf.intel.com with ESMTP; 31 Aug 2016 00:18:37 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.30,261,1470726000"; d="scan'208";a="755333332" Received: from fmsmsx105.amr.corp.intel.com ([10.18.124.203]) by FMSMGA003.fm.intel.com with ESMTP; 31 Aug 2016 00:18:37 -0700 Received: from bgsmsx152.gar.corp.intel.com (10.224.48.50) by FMSMSX105.amr.corp.intel.com (10.18.124.203) with Microsoft SMTP Server (TLS) id 14.3.248.2; Wed, 31 Aug 2016 00:18:37 -0700 Received: from bgsmsx101.gar.corp.intel.com ([169.254.1.37]) by BGSMSX152.gar.corp.intel.com ([169.254.6.200]) with mapi id 14.03.0248.002; Wed, 31 Aug 2016 12:48:34 +0530 From: "Yang, Zhiyong" To: "dev@dpdk.org" CC: Panu Matilainen , "Liu, Yuanhan" , Thomas Monjalon , "Yao, Lei A" , "Yang, Zhiyong" , "Wang, Zhihong" Thread-Topic: [dpdk-dev] [PATCH] vhost: add pmd xstats Thread-Index: AQHR+hO/0GKKSwzbJkucXFCFALbCgKBUQ+sAgAHsE0D//8XvAIABT1AAgAAx4ICAAED+AIABq7ZAgAcdEgCAAATZgIAABSeAgAIhKOA= Date: Wed, 31 Aug 2016 07:18:33 +0000 Message-ID: References: <1471608966-39077-1-git-send-email-zhiyong.yang@intel.com> <45bf611c-fbd5-d485-566a-5752cd58ed7c@redhat.com> <20160824054602.GS30752@yliu-dev.sh.intel.com> <3180838.i4arGqJgvX@xps13> <2DBBFF226F7CF64BAFCA79B681719D9537E5DC35@shsmsx102.ccr.corp.intel.com> <82F45D86ADE5454A95A89742C8D1410E3911BB77@shsmsx102.ccr.corp.intel.com> <2DBBFF226F7CF64BAFCA79B681719D9537E5F462@shsmsx102.ccr.corp.intel.com> In-Reply-To: <2DBBFF226F7CF64BAFCA79B681719D9537E5F462@shsmsx102.ccr.corp.intel.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-titus-metadata-40: eyJDYXRlZ29yeUxhYmVscyI6IiIsIk1ldGFkYXRhIjp7Im5zIjoiaHR0cDpcL1wvd3d3LnRpdHVzLmNvbVwvbnNcL0ludGVsMyIsImlkIjoiNDNhYjQ1ODItZGVmNy00N2QyLTk2NjAtYTU4NGFhOThmYzEyIiwicHJvcHMiOlt7Im4iOiJDVFBDbGFzc2lmaWNhdGlvbiIsInZhbHMiOlt7InZhbHVlIjoiQ1RQX0lDIn1dfV19LCJTdWJqZWN0TGFiZWxzIjpbXSwiVE1DVmVyc2lvbiI6IjE1LjkuNi42IiwiVHJ1c3RlZExhYmVsSGFzaCI6IjdCdGVKdzZJaWlnNzQ1VGt0Z1FTTUYreFg2UHZVNXBzWEtCVjlHWG9qSHM9In0= x-ctpclassification: CTP_IC x-originating-ip: [10.223.10.10] Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 Subject: Re: [dpdk-dev] [PATCH] vhost: add pmd xstats 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: Wed, 31 Aug 2016 07:18:39 -0000 SGksIEFMTDoNCg0KUGh5c2ljYWwgTklDIGhhcyBhIHNldCBvZiBjb3VudGVycywgc3VjaCBhcyAN CnU2NCBwcmM2NDsNCnU2NCBwcmMxMjc7DQp1NjQgcHJjMjU1OyBldGMuDQpidXQgbm93LCBEUERL IGhhcyBjb3VudGVkIHRoZSBwcmM2NCBpbiB0d28gd2F5cy4gUGh5c2ljYWwgTklDIGNvdW50cw0K cHJjNjQgd2l0aCBDUkMgYnkgaGFyZHdhcmUuIFZpcnRpbyBjb21wdXRlcyB0aGUgY291bnRlciBs aWtlIHByYzY0DQp3aXRob3V0IENSQy4gVGhpcyB3aWxsIGNhdXNlIHRoZSBjb25mbGljdCwgd2hl biBhIDY0IHBhY2tldCBmcm9tIG91dGVyDQpuZXR3b3JrIGlzIHNlbnQgdG8gVk0odmlydGlvKSwg TklDIHdpbGwgc2hvdyBwcmM2NCArIDEsIHZpcnRpbyB3aWxsDQphY3R1YWxseSByZWNlaXZlIHRo ZSA2NC00KENSQykgPSA2MCBieXRlcyBwa3QsIHVuZGVyc2l6ZSg8NjQpIGNvdW50ZXINCndpbGwg YmUgaW5jcmVhc2VkLiBTaG91bGQgVmhvc3QgZG8gbGlrZSBOSUMncyBiZWhhdmlvciBvciB2aXJ0 aW8ncyBiZWhhdmlvcj8NCg0KQWNjb3JkaW5nIHRvIHJmYzI4MTkgZGVzY3JpcHRpb24gYXMgcmVm ZXJlY2UuDQpldGhlclN0YXRzUGt0czY0T2N0ZXRzIE9CSkVDVC1UWVBFDQpTWU5UQVggQ291bnRl cjMyDQpVTklUUyAiUGFja2V0cyINCiJUaGUgdG90YWwgbnVtYmVyIG9mIHBhY2tldHMgKGluY2x1 ZGluZyBiYWQgcGFja2V0cykgcmVjZWl2ZWQgdGhhdCB3ZXJlDQo2NCBvY3RldHMgaW4gbGVuZ3Ro IChleGNsdWRpbmcgZnJhbWluZyBiaXRzIGJ1dCBpbmNsdWRpbmcgRkNTIG9jdGV0cykuIg0KDQo+ IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IFlhbywgTGVpIEENCj4gU2VudDog VHVlc2RheSwgQXVndXN0IDMwLCAyMDE2IDExOjIyIEFNDQo+IFRvOiBYdSwgUWlhbiBRIDxxaWFu LnEueHVAaW50ZWwuY29tPjsgWWFuZywgWmhpeW9uZw0KPiA8emhpeW9uZy55YW5nQGludGVsLmNv bT47IFBhbnUgTWF0aWxhaW5lbiA8cG1hdGlsYWlAcmVkaGF0LmNvbT47DQo+IFRob21hcyBNb25q YWxvbiA8dGhvbWFzLm1vbmphbG9uQDZ3aW5kLmNvbT47IFl1YW5oYW4gTGl1DQo+IDx5dWFuaGFu LmxpdUBsaW51eC5pbnRlbC5jb20+DQo+IENjOiBkZXZAZHBkay5vcmcNCj4gU3ViamVjdDogUkU6 IFtkcGRrLWRldl0gW1BBVENIXSB2aG9zdDogYWRkIHBtZCB4c3RhdHMNCj4gDQo+IEhpLCBRaWFu DQo+IA0KPiBUaGUgdGVzdCBzZXR1cCBhdCBteSBzaWRlIGlzIFZob3N0L1ZpcnRJTyBsb29wYmFj ayB3aXRoIDY0QiBwYWNrZXRzLg0KPiANCj4gDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0t DQo+IEZyb206IFh1LCBRaWFuIFENCj4gU2VudDogVHVlc2RheSwgQXVndXN0IDMwLCAyMDE2IDEx OjAzIEFNDQo+IFRvOiBZYW8sIExlaSBBIDxsZWkuYS55YW9AaW50ZWwuY29tPjsgWWFuZywgWmhp eW9uZw0KPiA8emhpeW9uZy55YW5nQGludGVsLmNvbT47IFBhbnUgTWF0aWxhaW5lbiA8cG1hdGls YWlAcmVkaGF0LmNvbT47DQo+IFRob21hcyBNb25qYWxvbiA8dGhvbWFzLm1vbmphbG9uQDZ3aW5k LmNvbT47IFl1YW5oYW4gTGl1DQo+IDx5dWFuaGFuLmxpdUBsaW51eC5pbnRlbC5jb20+DQo+IENj OiBkZXZAZHBkay5vcmcNCj4gU3ViamVjdDogUkU6IFtkcGRrLWRldl0gW1BBVENIXSB2aG9zdDog YWRkIHBtZCB4c3RhdHMNCj4gDQo+IExlaQ0KPiBDb3VsZCB5b3UgbGlzdCB0aGUgdGVzdCBzZXR1 cCBmb3IgYmVsb3cgZmluZGluZ3M/IEkgdGhpbmsgd2UgbmVlZCBhdCBsZWFzdCB0bw0KPiBjaGVj ayBiZWxvdyB0ZXN0cyBmb3IgbWVyZ2VhYmxlPW9uL29mZiBwYXRoOg0KPiAxLiBWaG9zdC92aXJ0 aW8gbG9vcGJhY2sNCj4gMi4gUFZQIHRlc3QgOiB2aXJ0aW8tcG1kIElPIGZ3ZCBhbmQgdmlydGlv LW5ldCBJUFY0IGZ3ZA0KPiANCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTog ZGV2IFttYWlsdG86ZGV2LWJvdW5jZXNAZHBkay5vcmddIE9uIEJlaGFsZiBPZiBZYW8sIExlaSBB DQo+IFNlbnQ6IFR1ZXNkYXksIEF1Z3VzdCAzMCwgMjAxNiAxMDo0NiBBTQ0KPiBUbzogWWFuZywg WmhpeW9uZyA8emhpeW9uZy55YW5nQGludGVsLmNvbT47IFBhbnUgTWF0aWxhaW5lbg0KPiA8cG1h dGlsYWlAcmVkaGF0LmNvbT47IFRob21hcyBNb25qYWxvbg0KPiA8dGhvbWFzLm1vbmphbG9uQDZ3 aW5kLmNvbT47IFl1YW5oYW4gTGl1IDx5dWFuaGFuLmxpdUBsaW51eC5pbnRlbC5jb20+DQo+IENj OiBkZXZAZHBkay5vcmcNCj4gU3ViamVjdDogUmU6IFtkcGRrLWRldl0gW1BBVENIXSB2aG9zdDog YWRkIHBtZCB4c3RhdHMNCj4gDQo+IEhpLCBaaGl5b25nDQo+IA0KPiBJIGhhdmUgdGVzdGVkIG1v cmUgIHhzdGF0cyBwZXJmb3JtYW5jZSBkcm9wIGRhdGEgYXQgbXkgc2lkZS4NCj4gVmhvc3QgWHN0 YXRzIHBhdGNoICB3aXRoIG1lcmdlYWJsZSBvbiA6ICB+MyUgVmhvc3QgWHN0YXRzIHBhdGNoIHdp dGgNCj4gbWVyZ2VhYmxlIG9mZiA6IH45JQ0KPiANCj4gQmVjYXVzZSBaaGlob25nIGFsc28gc3Vi bWl0IHBhdGNoIHRvIGltcHJvdmUgdGhlIHBlcmZvcm1hbmNlIG9uIGZvciB0aGUNCj4gbWVyZ2Vh YmxlIG9uOiBodHRwOi8vZHBkay5vcmcvZGV2L3BhdGNod29yay9wYXRjaC8xNTI0NS8gICAgICB+ MTUyNDkuIElmDQo+IGJvdGggcGF0Y2ggaW50ZWdyYXRlZCwgdGhlIHBlcmZvcm1hbmNlIGRyb3Ag d2lsbCBiZSBtdWNoIGhpZ2hlcg0KPiBWaHNvdCBYc3RhdHMgcGF0Y2ggKyBWaG9zdCBtZXJnZWFi bGUgb24gcGF0Y2ggICB3aXRoIG1lcmdlYWJsZSBvbiA6IHRoZQ0KPiBwZXJmb3JtYW5jZSBkcm9w IGlzIGFyb3VuZCAgNiUNCj4gDQo+IA0KPiBCZXN0IFJlZ2FyZHMNCj4gTGVpDQo+IA0KPiAtLS0t LU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBkZXYgW21haWx0bzpkZXYtYm91bmNlc0Bk cGRrLm9yZ10gT24gQmVoYWxmIE9mIFlhbmcsIFpoaXlvbmcNCj4gU2VudDogVGh1cnNkYXksIEF1 Z3VzdCAyNSwgMjAxNiA1OjIyIFBNDQo+IFRvOiBQYW51IE1hdGlsYWluZW4gPHBtYXRpbGFpQHJl ZGhhdC5jb20+OyBUaG9tYXMgTW9uamFsb24NCj4gPHRob21hcy5tb25qYWxvbkA2d2luZC5jb20+ OyBZdWFuaGFuIExpdSA8eXVhbmhhbi5saXVAbGludXguaW50ZWwuY29tPg0KPiBDYzogZGV2QGRw ZGsub3JnDQo+IFN1YmplY3Q6IFJlOiBbZHBkay1kZXZdIFtQQVRDSF0gdmhvc3Q6IGFkZCBwbWQg eHN0YXRzDQo+IA0KPiANCj4gDQo+ID4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gPiBG cm9tOiBQYW51IE1hdGlsYWluZW4gW21haWx0bzpwbWF0aWxhaUByZWRoYXQuY29tXQ0KPiA+IFNl bnQ6IFdlZG5lc2RheSwgQXVndXN0IDI0LCAyMDE2IDg6MzcgUE0NCj4gPiBUbzogVGhvbWFzIE1v bmphbG9uIDx0aG9tYXMubW9uamFsb25ANndpbmQuY29tPjsgWXVhbmhhbiBMaXUNCj4gPiA8eXVh bmhhbi5saXVAbGludXguaW50ZWwuY29tPg0KPiA+IENjOiBkZXZAZHBkay5vcmc7IFlhbmcsIFpo aXlvbmcgPHpoaXlvbmcueWFuZ0BpbnRlbC5jb20+DQo+ID4gU3ViamVjdDogUmU6IFtkcGRrLWRl dl0gW1BBVENIXSB2aG9zdDogYWRkIHBtZCB4c3RhdHMNCj4gPg0KPiA+IE9uIDA4LzI0LzIwMTYg MTE6NDQgQU0sIFRob21hcyBNb25qYWxvbiB3cm90ZToNCj4gPiA+IDIwMTYtMDgtMjQgMTM6NDYs IFl1YW5oYW4gTGl1Og0KPiA+ID4+IE9uIFR1ZSwgQXVnIDIzLCAyMDE2IGF0IDEyOjQ1OjU0UE0g KzAzMDAsIFBhbnUgTWF0aWxhaW5lbiB3cm90ZToNCj4gPiA+Pj4+Pj4gU2luY2UgY29sbGVjdGlu ZyBkYXRhIG9mIHZob3N0X3VwZGF0ZV9wYWNrZXRfeHN0YXRzIHdpbGwgaGF2ZQ0KPiA+ID4+Pj4+ PiBzb21lIGVmZmVjdCBvbiBSWC9UWCBwZXJmb3JtYW5jZSwgc28sIFNldHRpbmcgY29tcGlsaW5n IHN3aXRjaA0KPiA+ID4+Pj4+PiBDT05GSUdfUlRFX0xJQlJURV9QTURfVkhPU1RfVVBEQVRFX1hT VEFUUz1uIGJ5IGRlZmF1bHQNCj4gPiBpbiB0aGUNCj4gPiA+Pj4+PiBmaWxlDQo+ID4gPj4+Pj4+ IGNvbmZpZy9jb21tb25fYmFzZSwgaWYgbmVlZGluZyB4c3RhdHMgZGF0YSwgeW91IGNhbiBlbmFi bGUgaXQoeSkuDQo+ID4gPj4+Pj4NCj4gPiA+Pj4+PiBOQUssIHN1Y2ggdGhpbmdzIG5lZWQgdG8g YmUgc3dpdGNoYWJsZSBhdCBydW4tdGltZS4NCj4gPiA+Pj4+Pg0KPiA+ID4+Pj4+IAktIFBhbnUg LQ0KPiA+ID4+Pj4NCj4gPiA+Pj4+IENvbnNpZGVyaW5nIHRoZSBmb2xsb3dpbmcgcmVhc29ucyB1 c2luZyB0aGUgY29tcGlsZXIgc3dpdGNoLCBub3QNCj4gPiA+Pj4+IGNvbW1hbmQtbGluZSBhdCBy dW4tdGltZS4NCj4gPiA+Pj4+DQo+ID4gPj4+PiAxLlNpbWlsYXIgeHN0YXRzIHVwZGF0ZSBmdW5j dGlvbnMgYXJlIGFsd2F5cyBjb2xsZWN0aW5nIHN0YXRzDQo+ID4gPj4+PiBkYXRhIGluIHRoZSBi YWNrZ3JvdW5kIHdoZW4gcngvdHggYXJlIHJ1bm5pbmcsIHN1Y2ggYXMgdGhlDQo+ID4gPj4+PiBw aHlzaWNhbCBOSUMgb3IgdmlydGlvLCB3aGljaCBoYXZlIG5vIHN3aXRjaC4gQ29tcGlsZXIgc3dp dGNoIGZvcg0KPiA+ID4+Pj4gdmhvc3QgcG1kIHhzdGF0cyBpcyBhZGRlZCBhcyBhIG9wdGlvbiB3 aGVuIHBlcmZvcm1hbmNlIGlzIHZpZXdlZA0KPiA+ID4+Pj4gYXMgY3JpdGljYWwNCj4gPiBmYWN0 b3IuDQo+ID4gPj4+Pg0KPiA+ID4+Pj4gMi4gTm8gZGF0YSBzdHJ1Y3R1cmUgYW5kIEFQSSBpbiBh bnkgbGF5ZXIgc3VwcG9ydCB0aGUgeHN0YXRzDQo+ID4gPj4+PiB1cGRhdGUgc3dpdGNoIGF0IHJ1 bi10aW1lLiBDb21tb24gZGF0YSBzdHJ1Y3R1cmUgKHN0cnVjdA0KPiA+ID4+Pj4gcnRlX2V0aF9k ZXZfZGF0YSkgaGFzIG5vIGRldmljZS1zcGVjaWZpYyBkYXRhIG1lbWJlciwgaWYNCj4gPiA+Pj4+ IGltcGxlbWVudGluZyBlbmFibGUvZGlzYWJsZSBvZiB2aG9zdF91cGRhdGUgX3BhY2tldF94c3Rh dHMgYXQNCj4gPiA+Pj4+IHJ1bi10aW1lLCBtdXN0IGRlZmluZSBhDQo+ID4gPj4+PiBmbGFnKGRl dmljZS1zcGVjaWZpYykgaW4gaXQsIGJlY2F1c2UgdGhlIGRlZmluaXRpb24gb2Ygc3RydWN0DQo+ ID4gPj4+PiB2aG9zdF9xdWV1ZSBpbiB0aGUgZHJpdmVyIGNvZGUgKGV0aF92aG9zdF9yeC9ldGhf dmhvc3RfdHgNCj4gPiBwcm9jZXNzaW5nKWlzIG5vdCB2aXNpYmxlIGZyb20gZGV2aWNlIHBlcnNw ZWN0aXZlLg0KPiA+ID4+Pj4NCj4gPiA+Pj4+IDMuIEkgdGVzdGVkIFJYL1RYIHdpdGggdjEgcGF0 Y2ggKHkpIGFzIHJlZmVyZW5jZSBiYXNlZCBvbg0KPiA+ID4+Pj4gSW50ZWwoUikNCj4gPiA+Pj4+ IFhlb24oUikgQ1BVIEU1LTI2OTkgdjMgQCAyLjMwR0h6LCBmb3IgNjRieXRzIHBhY2tldHMgaW4g YnVyc3QNCj4gPiA+Pj4+IG1vZGUsDQo+ID4gPj4+PiAzMiBwYWNrZXRzIGluIG9uZSBSWC9UWCBw cm9jZXNzaW5nLiBPdmVyaGVhZCBvZg0KPiA+ID4+Pj4gdmhvc3RfdXBkYXRlX3BhY2tldF94c3Rh dHMgaXMgbGVzcyB0aGFuIDMlIGZvciB0aGUgcngvdHgNCj4gPiA+Pj4+IHByb2Nlc3NpbmcuIEl0 IGxvb2tzIHRoYXQgdmhvc3RfdXBkYXRlX3BhY2tldF94c3RhdHMgaGFzIGENCj4gPiA+Pj4+IGxp bWl0ZWQNCj4gPiBlZmZlY3Qgb24gcGVyZm9ybWFuY2UgZHJvcC4NCj4gPiA+Pj4NCj4gPiA+Pj4g V2VsbCwgZWl0aGVyIHRoZSBwZXJmb3JtYW5jZSBvdmVyaGVhZCBpcyBhY2NlcHRhYmxlIGFuZCBp dCBzaG91bGQNCj4gPiA+Pj4gYWx3YXlzIGJlIG9uIChsaWtlIHdpdGggcGh5c2ljYWwgTklDcyBJ IHRoaW5rKS4gT3IgaXQgaXMgbm90LiBJbg0KPiA+ID4+PiB3aGljaCBjYXNlIGl0IG5lZWRzIHRv IGJlIHR1cm5hYmxlIG9uIGFuZCBvZmYsIGF0IHJ1bi10aW1lLg0KPiA+ID4+PiBSZWJ1aWxkaW5n IGlzIG5vdCBhbiBvcHRpb24gaW4gdGhlIHdvcmxkIG9mIGRpc3Ryb3MuDQo+ID4gPj4NCj4gPiA+ PiBJIHRoaW5rIHRoZSBsZXNzIHRoYW4gMyUgb3ZlcmhlYWQgaXMgYWNjZXB0YWJsZSBoZXJlLCB0 aGF0IEkgYWdyZWUNCj4gPiA+PiB3aXRoIFBhbnUgd2Ugc2hvdWxkIGFsd2F5cyBrZWVwIGl0IG9u LiBJZiBzb21lb25lIGNvbXBhaW5zIGl0IGxhdGVyDQo+ID4gPj4gdGhhdCBldmVuIDMlIGlzIHRv byBiaWcgZm9yIHRoZW0sIGxldCdzIGNvbnNpZGVyIHRvIG1ha2UgaXQgYmUNCj4gPiA+PiBzd2l0 Y2hhYmxlIGF0IHJ1bi10aW1lLiBFaXRoZXIgd2UgY291bGQgaW50cm9kdWNlIGEgZ2VuZXJpYyBl dGggQVBJDQo+ID4gPj4gZm9yIHRoYXQsIE9yIGp1c3QgaW50cm9kdWNlIGEgdmhvc3Qgb25lIGlm IHRoYXQgZG9lc24ndCBtYWtlIHRvbw0KPiA+ID4+IG11Y2ggc2Vuc2UgdG8gb3RoZXIgZXRoIGRy aXZlcnMuDQo+ID4gPg0KPiA+ID4gKzENCj4gPiA+IEl0IG1heSBoYXZlIHNlbnNlIHRvIGludHJv ZHVjZSBhIGdlbmVyaWMgcnVuLXRpbWUgb3B0aW9uIGZvciBzdGF0cy4NCj4gPiA+DQo+ID4NCj4g PiBZdXAsIHNvdW5kcyBnb29kLg0KPiA+DQo+IEl0IHNvdW5kcyBiZXR0ZXIgLCBpZiBEUERLIGNh biBhZGQgZ2VuZXJpYyBBUEkgYW5kIHN0cnVjdHVyZSB0byB0aGUgc3dpdGNoIG9mDQo+IHhzdGF0 cyB1cGRhdGUuIFNvLCBhbnkgZGV2aWNlIGNhbiB1c2UgaXQgYXQgcnVuIHRpbWUgaWYgbmVjZXNz YXJ5Lg0KPiANCj4gQ2FuIHdlIGRlZmluZSBvbmUgYml0IGRhdGEgbWVtYmVyICh4c3RhdHNfdXBk YXRlKSBpbiB0aGUgZGF0YSBzdHJ1Y3R1cmUNCj4gc3RydWN0IHJ0ZV9ldGhfZGV2X2RhdGE/DQo+ IHN1Y2ggYXM6DQo+IAl1aW50OF90IHByb21pc2N1b3VzIDogMSwgLyoqPCBSWCBwcm9taXNjdW91 cyBtb2RlIE9OKDEpIC8gT0ZGKDApLg0KPiAqLw0KPiAJc2NhdHRlcmVkX3J4IDogMSwgIC8qKjwg Ulggb2Ygc2NhdHRlcmVkIHBhY2tldHMgaXMgT04oMSkgLyBPRkYoMCkgKi8NCj4gCWFsbF9tdWx0 aWNhc3QgOiAxLCAvKio8IFJYIGFsbCBtdWx0aWNhc3QgbW9kZSBPTigxKSAvIE9GRigwKS4gKi8N Cj4gCWRldl9zdGFydGVkIDogMSwgICAvKio8IERldmljZSBzdGF0ZTogU1RBUlRFRCgxKSAvIFNU T1BQRUQoMCkuICovDQo+IAlscm8gICAgICAgICA6IDEsICAgLyoqPCBSWCBMUk8gaXMgT04oMSkg LyBPRkYoMCkgKi8NCj4gCXhzdGF0c191cGRhdGU6IDE7ICAgLyoqPCB4c3RhdHMgdXBkYXRlIGlz IE9OKDEpIC8gT0ZGKDApICovDQo+IA0KPiBEZWZpbmUgMyBmdW5jdGlvbnM6DQo+IA0KPiB2b2lk IHJ0ZV9ldGhfeHN0YXRzX3VwZGF0ZV9lbmFibGUodWludDhfdCBwb3J0X2lkKTsgdm9pZA0KPiBy dGVfZXRoX3hzdGF0c191cGRhdGVfZGlzYWJsZSh1aW50OF90IHBvcnRfaWQpOyBpbnQNCj4gcnRl X2V0aF94c3RhdHNfdXBkYXRlX2dldCh1aW50OF90IHBvcnRfaWQpOw0KPiANCj4gT3IgZGVmaW5l IHR3bzoNCj4gDQo+IC8qIHVpbnQ4X3QgeHN0YXRzX3VwZGF0ZSA7IDEgb24sIDAgb2ZmKi8gdm9p ZA0KPiBydGVfZXRoX3hzdGF0c191cGRhdGVfZW5hYmxlKHVpbnQ4X3QgcG9ydF9pZCwgdWludDhf dCB4c3RhdHNfdXBkYXRlKTsgaW50DQo+IHJ0ZV9ldGhfeHN0YXRzX3VwZGF0ZV9nZXQodWludDhf dCBwb3J0X2lkKTsNCj4gDQo+IEluIHRoZSBzdHJ1Y3QgZXRoX2Rldl9vcHMsIGFkZGluZyB0d28g ZnVuY3Rpb25zIHRvIHBhc3MgeHN0YXRzX3VwZGF0ZSB0bw0KPiBkcml2ZXIsIGJlY2F1c2UgdGhl IHJ4cS90eHEgY2FuJ3QgYWNjZXNzIHhzdGF0c191cGRhdGUgZGlyZWN0bHkuDQo+IFNvLCBhZGQg YSB4c3RhdHMgZmxhZyBwZXIgcXVldWUgZGF0YSBzdHJ1Y3R1cmUuDQo+IGZvciBleGFtcGxlDQo+ IHN0cnVjdCB2aG9zdF9xdWV1ZSB7DQo+IAkuLi4uLi4NCj4gCVVpbnQ2NF90ICB4c3RhdHNfZmxh ZzsNCj4gCS4uLi4uLg0KPiB9Ow0KPiB0eXBlZGVmIHVpbnQxNl90ICgqZXRoX3J4X2J1cnN0X3Qp KHZvaWQgKnJ4cSwNCj4gCQkJCSAgIHN0cnVjdCBydGVfbWJ1ZiAqKnJ4X3BrdHMsDQo+IAkJCQkg ICB1aW50MTZfdCBuYl9wa3RzKTsNCj4gdHlwZWRlZiB1aW50MTZfdCAoKmV0aF90eF9idXJzdF90 KSh2b2lkICp0eHEsDQo+IAkJCQkgICBzdHJ1Y3QgcnRlX21idWYgKip0eF9wa3RzLA0KPiAJCQkJ ICAgdWludDE2X3QgbmJfcGt0cyk7DQo+IA0KPiBzdHJ1Y3QgZXRoX2Rldl9vcHMgew0KPiAuLi4u Li4NCj4gCWV0aF94c3RhdHNfdXBkYXRlX2VuYWJsZV90ICB4c3RhdHNfdXBkYXRlX2VuYWJsZTsg LyoqPCB4c3RhdHMNCj4gT04uICovDQo+IAlldGhfeHN0YXRzX3VwZGF0ZV9kaXNhYmxlX3QgeHN0 YXRzX3VwZGF0ZV9kaXNhYmxlOy8qKjwgeHN0YXRzDQo+IE9GRi4gKi8gLi4uLi4uDQo+IH07DQo+ IA0KPiAJLS16aGl5b25nLS0NCg==