From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by dpdk.org (Postfix) with ESMTP id 0CFEB1B8CA for ; Wed, 27 Jun 2018 03:31:17 +0200 (CEST) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga003.jf.intel.com ([10.7.209.27]) by fmsmga101.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 26 Jun 2018 18:31:15 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.51,277,1526367600"; d="scan'208";a="62472128" Received: from fmsmsx106.amr.corp.intel.com ([10.18.124.204]) by orsmga003.jf.intel.com with ESMTP; 26 Jun 2018 18:31:15 -0700 Received: from fmsmsx113.amr.corp.intel.com (10.18.116.7) by FMSMSX106.amr.corp.intel.com (10.18.124.204) with Microsoft SMTP Server (TLS) id 14.3.319.2; Tue, 26 Jun 2018 18:31:15 -0700 Received: from shsmsx151.ccr.corp.intel.com (10.239.6.50) by FMSMSX113.amr.corp.intel.com (10.18.116.7) with Microsoft SMTP Server (TLS) id 14.3.319.2; Tue, 26 Jun 2018 18:31:14 -0700 Received: from shsmsx103.ccr.corp.intel.com ([169.254.4.51]) by SHSMSX151.ccr.corp.intel.com ([169.254.3.116]) with mapi id 14.03.0319.002; Wed, 27 Jun 2018 09:31:12 +0800 From: "Zhang, Qi Z" To: "Burakov, Anatoly" , "thomas@monjalon.net" CC: "Ananyev, Konstantin" , "dev@dpdk.org" , "Richardson, Bruce" , "Yigit, Ferruh" , "Shelton, Benjamin H" , "Vangati, Narender" Thread-Topic: [PATCH v4 06/24] ethdev: enable hotplug on multi-process Thread-Index: AQHUDRx7We7K/aoOz0ivwrGOyZX0naRx7K2AgACIkVD//4LDAIAAhpRw//+CHICAAIZKMP//gLeAABGrHwD//4rPgP/+5ANg Date: Wed, 27 Jun 2018 01:31:11 +0000 Message-ID: <039ED4275CED7440929022BC67E706115323EF8F@SHSMSX103.ccr.corp.intel.com> References: <20180607123849.14439-1-qi.z.zhang@intel.com> <20180626070832.3055-1-qi.z.zhang@intel.com> <20180626070832.3055-7-qi.z.zhang@intel.com> <969f0cb7-4186-d05c-442f-6341f1c44e93@intel.com> <039ED4275CED7440929022BC67E706115323E71A@SHSMSX103.ccr.corp.intel.com> <30b1c93c-1d7c-07d9-d41a-76e84f63d6a1@intel.com> <039ED4275CED7440929022BC67E706115323E7A5@SHSMSX103.ccr.corp.intel.com> <365fd549-14c6-ae72-84be-3ec7389eaa84@intel.com> <039ED4275CED7440929022BC67E706115323E7E2@SHSMSX103.ccr.corp.intel.com> <53fe3a3e-ae37-0765-f83d-c88a279028a1@intel.com> <039ED4275CED7440929022BC67E706115323E8B9@SHSMSX103.ccr.corp.intel.com> <0b7fffc1-9637-dcd8-e0a1-e8e6c73621b5@intel.com> In-Reply-To: <0b7fffc1-9637-dcd8-e0a1-e8e6c73621b5@intel.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-titus-metadata-40: eyJDYXRlZ29yeUxhYmVscyI6IiIsIk1ldGFkYXRhIjp7Im5zIjoiaHR0cDpcL1wvd3d3LnRpdHVzLmNvbVwvbnNcL0ludGVsMyIsImlkIjoiMGFjZGQyNjgtNDNmOC00MTQwLWEzNDEtY2JmYWZiZWU4YWRhIiwicHJvcHMiOlt7Im4iOiJDVFBDbGFzc2lmaWNhdGlvbiIsInZhbHMiOlt7InZhbHVlIjoiQ1RQX05UIn1dfV19LCJTdWJqZWN0TGFiZWxzIjpbXSwiVE1DVmVyc2lvbiI6IjE3LjEwLjE4MDQuNDkiLCJUcnVzdGVkTGFiZWxIYXNoIjoiQnplWkdtZklwNGc3VEZcL1lBeXQ0S3VcLzM5YjRRWU1zeVdGajFicmhjVkNUSWxaUFI0TGZJZ1wvcmVDbFFseHRtMiJ9 x-ctpclassification: CTP_NT dlp-product: dlpe-windows dlp-version: 11.0.200.100 dlp-reaction: no-action x-originating-ip: [10.239.127.40] Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 Subject: Re: [dpdk-dev] [PATCH v4 06/24] ethdev: enable hotplug on multi-process X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 27 Jun 2018 01:31:18 -0000 DQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogQnVyYWtvdiwgQW5hdG9s eQ0KPiBTZW50OiBUdWVzZGF5LCBKdW5lIDI2LCAyMDE4IDExOjEyIFBNDQo+IFRvOiBaaGFuZywg UWkgWiA8cWkuei56aGFuZ0BpbnRlbC5jb20+OyB0aG9tYXNAbW9uamFsb24ubmV0DQo+IENjOiBB bmFueWV2LCBLb25zdGFudGluIDxrb25zdGFudGluLmFuYW55ZXZAaW50ZWwuY29tPjsgZGV2QGRw ZGsub3JnOw0KPiBSaWNoYXJkc29uLCBCcnVjZSA8YnJ1Y2UucmljaGFyZHNvbkBpbnRlbC5jb20+ OyBZaWdpdCwgRmVycnVoDQo+IDxmZXJydWgueWlnaXRAaW50ZWwuY29tPjsgU2hlbHRvbiwgQmVu amFtaW4gSA0KPiA8YmVuamFtaW4uaC5zaGVsdG9uQGludGVsLmNvbT47IFZhbmdhdGksIE5hcmVu ZGVyDQo+IDxuYXJlbmRlci52YW5nYXRpQGludGVsLmNvbT4NCj4gU3ViamVjdDogUmU6IFtQQVRD SCB2NCAwNi8yNF0gZXRoZGV2OiBlbmFibGUgaG90cGx1ZyBvbiBtdWx0aS1wcm9jZXNzDQo+IA0K PiBPbiAyNi1KdW4tMTggMzoyNCBQTSwgWmhhbmcsIFFpIFogd3JvdGU6DQo+ID4NCj4gPg0KPiA+ PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+PiBGcm9tOiBCdXJha292LCBBbmF0b2x5 DQo+ID4+IFNlbnQ6IFR1ZXNkYXksIEp1bmUgMjYsIDIwMTggOTo0NiBQTQ0KPiA+PiBUbzogWmhh bmcsIFFpIFogPHFpLnouemhhbmdAaW50ZWwuY29tPjsgdGhvbWFzQG1vbmphbG9uLm5ldA0KPiA+ PiBDYzogQW5hbnlldiwgS29uc3RhbnRpbiA8a29uc3RhbnRpbi5hbmFueWV2QGludGVsLmNvbT47 IGRldkBkcGRrLm9yZzsNCj4gPj4gUmljaGFyZHNvbiwgQnJ1Y2UgPGJydWNlLnJpY2hhcmRzb25A aW50ZWwuY29tPjsgWWlnaXQsIEZlcnJ1aA0KPiA+PiA8ZmVycnVoLnlpZ2l0QGludGVsLmNvbT47 IFNoZWx0b24sIEJlbmphbWluIEgNCj4gPj4gPGJlbmphbWluLmguc2hlbHRvbkBpbnRlbC5jb20+ OyBWYW5nYXRpLCBOYXJlbmRlcg0KPiA+PiA8bmFyZW5kZXIudmFuZ2F0aUBpbnRlbC5jb20+DQo+ ID4+IFN1YmplY3Q6IFJlOiBbUEFUQ0ggdjQgMDYvMjRdIGV0aGRldjogZW5hYmxlIGhvdHBsdWcg b24gbXVsdGktcHJvY2Vzcw0KPiA+Pg0KPiA+PiBPbiAyNi1KdW4tMTggMjoyNSBQTSwgWmhhbmcs IFFpIFogd3JvdGU6DQo+ID4+Pg0KPiA+Pj4NCj4gPj4+PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2Ut LS0tLQ0KPiA+Pj4+IEZyb206IEJ1cmFrb3YsIEFuYXRvbHkNCj4gPj4+PiBTZW50OiBUdWVzZGF5 LCBKdW5lIDI2LCAyMDE4IDk6MjEgUE0NCj4gPj4+PiBUbzogWmhhbmcsIFFpIFogPHFpLnouemhh bmdAaW50ZWwuY29tPjsgdGhvbWFzQG1vbmphbG9uLm5ldA0KPiA+Pj4+IENjOiBBbmFueWV2LCBL b25zdGFudGluIDxrb25zdGFudGluLmFuYW55ZXZAaW50ZWwuY29tPjsNCj4gPj4+PiBkZXZAZHBk ay5vcmc7IFJpY2hhcmRzb24sIEJydWNlIDxicnVjZS5yaWNoYXJkc29uQGludGVsLmNvbT47DQo+ ID4+Pj4gWWlnaXQsIEZlcnJ1aCA8ZmVycnVoLnlpZ2l0QGludGVsLmNvbT47IFNoZWx0b24sIEJl bmphbWluIEgNCj4gPj4+PiA8YmVuamFtaW4uaC5zaGVsdG9uQGludGVsLmNvbT47IFZhbmdhdGks IE5hcmVuZGVyDQo+ID4+Pj4gPG5hcmVuZGVyLnZhbmdhdGlAaW50ZWwuY29tPg0KPiA+Pj4+IFN1 YmplY3Q6IFJlOiBbUEFUQ0ggdjQgMDYvMjRdIGV0aGRldjogZW5hYmxlIGhvdHBsdWcgb24NCj4g Pj4+PiBtdWx0aS1wcm9jZXNzDQo+ID4+Pj4NCj4gPj4+PiBPbiAyNi1KdW4tMTggMTo1OCBQTSwg WmhhbmcsIFFpIFogd3JvdGU6DQo+ID4+Pj4+DQo+ID4+Pj4+IG15IHVuZGVyc3RhbmQgaXMgcGVl ciBpcyBpZGVudGlmaWVkIGJ5IGEgc3RyaW5nIChvciBmaWxlbmFtZSkgd2hhdA0KPiA+Pj4+PiBJ IG1lYW4gaXMgY2xvbmUgdGhlIGNvbnRlbnQgb2YgdGhlIGJ1ZmZlciB0aGF0IHBlZXIgcG9pbnQg dG8gLCBTbw0KPiA+Pj4+PiBJIGRvbid0IG5lZWQgdG8gd29ycnkgaWYgdGhlIG9yaWdpbmFsIHBl ZXIgYmUgdXNlZCB0byBwb2ludCB0bw0KPiA+Pj4+PiBzb21lIG90aGVyIGRhdGENCj4gPj4+Pj4N Cj4gPj4+Pg0KPiA+Pj4+IEFzIGZhciBhcyB0aGUgYXBwbGljYXRpb24gaXMgY29uY2VybmVkLCBw ZWVyIGlzIGFuIG9wYXF1ZSBwb2ludGVyLA0KPiA+Pj4+IGFuZCBzaG91bGQgYmUgdHJlYXRlZCBh cyBzdWNoLiBQZWVraW5nIGJlaGluZCBhIHZvaWQgcG9pbnRlciB0aGF0DQo+ID4+Pj4gaXMgbm90 IGRlc2lnbmVkIGZvciB0aGlzIHB1cnBvc2UgaXMgbm90IGEgZ29vZCBpZGVhLCBldmVuIGlmDQo+ ID4+Pj4gdGVjaG5pY2FsbHkgeW91DQo+ID4+IGtub3cgd2hhdCdzIGluIHRoZXJlLg0KPiA+Pj4N Cj4gPj4+IFdlIGNhbiBleHBvc2UgYSBjbG9uZSBpbnRlcmZhY2UsIGxpa2UgTVBfUEVFUl9DTE9O RSwgc28gd2UgZG9uJ3QNCj4gPj4+IG5lZWQgdG8NCj4gPj4ga25vdyB3aGF0J3MgaW5zaWRlLCBq dXN0IG5lZWQgdG8ga25vdyB0aGF0IGl0IGNhbiBiZSB1c2VkIG9uIGFub3RoZXINCj4gdGhyZWFk Pw0KPiA+Pj4NCj4gPj4NCj4gPj4gV2VsbCwgdGhhdCBjYW4gcHJvYmFibHkgd29yay4gRmVlbHMg bGlrZSBhIGhhY2t5IHdvcmthcm91bmQgdGhvdWdoLg0KPiA+Pg0KPiA+PiBBbm90aGVyIHdheSB0 byBkbyB0aGUgc2FtZSB0aGluZyB3b3VsZCBiZSB0byBzdG9yZSBwZWVyIGluZm9ybWF0aW9uDQo+ ID4+IHJpZ2h0IGluIHRoZSBtZXNzYWdlLCBhcyBvcHBvc2VkIHRvIHByb3ZpZGluZyBpdCBzZXBh cmF0ZWx5LiBTdGlsbCBhDQo+ID4+IGhhY2sgdGhvdWdoLCBhbmQgd2lsbCByZXF1aXJlIGZhciBt b3JlIGNoYW5nZXMsIGJ1dCBpdCBjb3VsZCBiZSBhDQo+ID4+IGJldHRlciBzb2x1dGlvbiBhcyAo aWYgZG9uZSByaWdodCkgaXQgd291bGQgYWxsb3cgaWRlbnRpZnlpbmcgd2hpY2ggcmVwbHkgY2Ft ZQ0KPiBmcm9tIHdoaWNoIHBlZXIuDQo+ID4+DQo+ID4+IE9mIGNvdXJzZSwgYW4gZXZlbiBiZXR0 ZXIgYXBwcm9hY2ggd291bGQgYmUgdG8gZGV2aXNlIHNvbWUga2luZCBvZg0KPiA+PiBhZGRyZXNz aW5nIHNjaGVtZSAodXVpZD8pLCBzbyB0aGF0IHBlZXIgYWRkcmVzc2VzIGFyZSBubyBsb25nZXIN Cj4gPj4gb3BhcXVlIHBvaW50ZXJzIGJ1dCByYXRoZXIgYXJlIHZhbGlkIGRhdGEgdHlwZXMuDQo+ ID4+DQo+ID4+IFRob3VnaHRzPw0KPiA+DQo+ID4gSSBtYXkgbm90IGdpdmUgaW5zaWdodCBjb21t ZW50IGZyb20gdGhlIElQQyBpbXBsZW1lbnRhdGlvbiwgYnV0IGZyb20NCj4gdXNlcidzIHZpZXcs IHdoYXQgcmVxdWlyZWQgaXMgYSB1bmlxdWUgdG9rZW4sDQo+ID4gICBpdCBjYW4gYmUgdXNlZCBm b3IgcmVwbHkgYXQgYW55d2hlcmUgYW5kIGF0IGFueSB0aW1lLCB0byBtZSwgY3VycmVudGx5DQo+ IGltcGxlbWVudGF0aW9uIGxvb2tzIGxpa2UgbWlzc2luZyBzb21lIG1hcHBpbmcgbWFuYWdlbWVu dCBiZXR3ZWVuIGFuDQo+IGFic3RyYWN0IHRva2VuIHRvIGl0cyByZWFsIGRhdGEuDQo+ID4NCj4g DQo+IFdlbGwsIHRoZSBpZGVhIHdhcyB0byBub3QgcHJvdmlkZSB0aGF0IDopIFdlIHdhbnRlZCB0 byBrZWVwIGl0IHNpbXBsZSBhbmQNCj4gYWN0aXZlbHkgZGlzY291cmFnZSBhbnkgYXR0ZW1wdHMg dG8ga25vdyB3aGljaCBwZWVyIHlvdSdyZSBjb21tdW5pY2F0aW5nDQo+IHdpdGgsIGFzIGFsbG93 aW5nIHRoYXQgd291bGQgaW1wbHkgc29tZSBraW5kIG9mIGFkZHJlc3Npbmcgc2NoZW1lLCBwZWVy DQo+IGRpc2NvdmVyeSBhbmQgdGhpbmdzIGxpa2UgdGhhdCwgd2hpY2ggd2UgZG9uJ3Qgd2FudCB0 byBib3RoZXIgd2l0aC4gSWYgeW91IHdhbnQNCj4gcmVwbGllcywgeW91IHVzZSBjYWxsYmFja3Ms IHdoaWNoIHByb3ZpZGUgeW91IHdpdGggYSBwZWVyIGFkZHJlc3MuDQo+IA0KPiBPbiB0aGUgb25l IGhhbmQsIGkgdW5kZXJzdGFuZCB0aGUgZnJ1c3RyYXRpb24gb2YgYmVpbmcgZm9yY2VkIHRvIGRl YWwgd2l0aA0KPiBkZWxpYmVyYXRlIHNpbXBsaWNpdHkgb2YgSVBDIEFQSSBhbmQgdG8gY3JlYXRl IHdvcmthcm91bmRzIGxpa2UgZG9pbmcgc2VuZG1zZygpDQo+IGFuZCBzdG9yaW5nIHJlcXVlc3Rz IHRoYXQgeW91J3JlIHdhaXRpbmcgb24gaW5zaWRlIHRoZSBhcHBsaWNhdGlvbiBhbmQNCj4gbGF1 bmNoaW5nIGludGVycnVwdCB0aHJlYWRzLCBhbGwgZm9yIHRoaW5ncyB0aGF0IHNob3VsZCBKdXN0 IFdvcmsgaW4gYW4gSVBDIEFQSS4NCj4gQmVsaWV2ZSBtZSwgaSBrbm93IGFib3V0IGl0cyBkZWZp Y2llbmNpZXMgbW9yZSB0aGFuIG1vc3QgcGVvcGxlIDopDQo+IA0KPiBPbiB0aGUgb3RoZXIgaGFu ZCwgd2UgZG9uJ3Qgd2FudCB0byBpbnRyb2R1Y2UgaGFja3MgdG8gc29sdmUgYSBzcGVjaWZpYw0K PiBwcm9ibGVtLiBJZiB3ZSBhcmUgdG8gc29sdmUgdGhpcyBpbiBJUEMsIHdlIHNob3VsZCBkbyBp dCBwcm9wZXJseS4gSSBkb24ndCB0aGluaw0KPiBhZGRpbmcgYSB3b3JrYXJvdW5kIHdpdGggImNs b25pbmciIHBlZXIgYWRkcmVzcyBpcyB0aGUgc29sdXRpb24uIEEgcHJvcGVyDQo+IHNvbHV0aW9u IHdvdWxkJ3ZlIGJlZW4gdG8gaW1wbGVtZW50IGFkZHJlc3Npbmcgc2NoZW1lLCBzbyB0aGF0IGFu eQ0KPiByZXNwb25zZSBjb3VsZCBiZSBzdWJtaXR0ZWQgYXQgYW55IHRpbWUuDQo+IA0KPiBUaGUg aGFyZCByb3V0ZSB3b3VsZCBiZSB0byBhZGQgcGVlciBkaXNjb3ZlcnksIGV0Yy4gVGhlIGVhc3kg cm91dGUgd291bGQgYmUNCj4gdG8ganVzdCBjaGFuZ2UgdGhlIHBlZXIgYWRkcmVzcyB0byBzb21l dGhpbmcgdHlwZWQsIHNvbWV0aGluZyB0aGF0IHdlIGNhbg0KPiB1c2UgdG8gcmVjb25zdHJ1Y3Qg dGhlIG9yaWdpbmFsIHBlZXIgaWQuIEEgZ3JlYXQgY2FuZGlkYXRlIGZvciB0aGlzIGlzIHRoZSB1 dWlkLA0KPiBidXQgaXQncyBhbiBleHRlcm5hbCBkZXBlbmRlbmN5LiBBIHdvcmthcm91bmQgZm9y IHRoaXMgd291bGQgYmUgdG8ganVzdCB1c2UgYQ0KPiB1aW50NjQgdmFsdWUgb2J0YWluZWQgdGhy b3VnaCBzb21lIG1hZ2ljIHRoYXQgaXMgcGFydCBvZiBzb2NrZXQgcGF0aC4gRm9yDQo+IGV4YW1w bGUsIHJlcGxhY2UgIi92YXIvcnVuL2RwZGsvcnRlL21wX3NvY2tldF9waWRfcmR0c2MiIHdpdGgg c29tZXRoaW5nDQo+IGp1c3QgYXMgKGxpa2VseSkgdW5pcXVlLCBidXQgc29tZXRoaW5nIHRoYXQg Y2FuIGJlIHB1dCBpbnRvIGEgdWludDY0Lg0KPiANCj4gV2l0aG91dCBzaWduaWZpY2FudGx5IGNo YW5naW5nIHRoZSBBUEkgYW5kIHRoZSBpbnRlcm5hbHMsIGkgdGhpbmsgdGhpcyBpcyB0aGUgYmVz dA0KPiB3ZSB3aWxsIGJlIGFibGUgdG8gZG8uDQoNCk9rLCBsZXQgbWUgc3VtbWFyaXplIHRoaXMu DQoNCkN1cnJlbnQgc3luYyBJUEMgZG9lcyBub3Qgc3VwcG9ydCByZXBseSB0byBhIHN5bmMgcmVx dWVzdCBvdXRzaWRlIHRoZSBjYWxsYmFjayBmdW5jdGlvbiwgDQpPZiBjYXVzZSBpdCB3aWxsIG5v dCBzdXBwb3J0IHJlcGx5IG9uIHNlcGFyYXRlIHRocmVhZCB3aGljaCByZXF1aXJlZCBieSBtcCBo b3RwbHVnIGltcGxlbWVudGF0aW9uLg0KDQpTbywgdGhlIHF1ZXN0aW9uIGlzIGRvIHdlIGFncmVl IHRoYXQgSVBDIHNob3VsZCBzdXBwb3J0IGEgbW9yZSByZWxheCBzeW5jIHJlcGx5PyANCkZvciBt eSBvcHRpb24sIEkgdGhpbmsgdGhlIHJlcXVpcmVtZW50IGlzIHJlYXNvbmFibGUsIGJlY2F1c2Ug aXQgZ3JlYXRseSBzaW1wbGlmaWVkIHRoZSBpbXBsZW1lbnRhdGlvbiBvZiB0aGUgY2FzZSB3aGVu IHRoZSByZWNlaXZlciBuZWVkIHRvIGRvIHNvbWUgdGFzayBvbiBhIHNlcGFyYXRlIHRocmVhZCBh bmQgcmVwbHkgb24gdGhhdCB0aHJlYWQuKG5vdGUsIHRoaXMgaXMgdHlwaWNhbCBjYXNlIHNpbmNl IHRoZSBJUEMgZGVhZGxvY2sgbGltaXRhdGlvbikNCg0KSWYgdGhlIGFuc3dlciBpcyB5ZXM6DQoN CglUaGUgcXVlc3Rpb24gaXMgd2lsbCB3ZSBhYmxlIHRvIGVuYWJsZSB0aGlzIGluIHRoaXMgcmVs ZWFzZT8NCglGb3IgbWUgSSB0aGluayBJIG1heSBub3QgYWJsZSB0byBzb2x2ZSB0aGlzIHF1aWNr bHksIEkgbmVlZCBtb3JlIHRpbWUgdG8gcmV2aWV3IHRoZSBpbXBsZW1lbnRhdGlvbiBkZXRhaWwg b2YgSVBDICwgbm90IHN1cmUgaWYgeW91IGNhbiBjb3ZlciB0aGlzIG9uIHlvdXIgbmV3IHBhdGNo c2V0IGZvciBJUEMuIA0KCWlmIHllcywgSSBhc3N1bWUgSSBkb24ndCBuZWVkIHRvIGNoYW5nZSBh bnkgY29kZSAob3IgYSBsaXR0bGUgYml0KSBvZiBjdXJyZW50IG1wIGltcGxlbWVudGF0aW9uLCAJ DQoJYmVjYXVzZSAicGVlciIob3Igd2hhdGV2ZXIpIGFzIGFuIGlkZW50aXR5IG9mIHJlcGx5IHRh cmdldCBjYW4gYmUgcGFyc2VkIHRvIG90aGVyIHRocmVhZA0KDQoJSWYgbm90LCB3ZSBjYW4gdGFr ZSB3b3JrYXJvdW5kIGZvciBtcCBob3RwbHVnLCANCgkJc2luY2UgaXQgaXMgd29ya2Fyb3VuZCBJ IHByZWZlciB0aGUgc2ltcGxlc3Qgd2F5IHdpdGggbGVzcyBpbXBhY3QgYW5kIGVub3VnaCBjb21t ZW50cywgc2luY2Ugd2Ugd2lsbCBmaXggdGhpcyBhbnl3YXkuDQoJCVllcywgY2xvbmUgaXMgdGhl IHNpbXBsZXN0IHdheSA6KSwgSSBjYW4ganVzdCBpbXBsZW1lbnQgaXQgaW5zaWRlIGV0aGRldl9t cC5jIGFuZCBhZGQgY29tbWVudCBzYXkgIkZpeCBtZSwgdGhpcyBpcyBoYWNrIi4sIHNvIGl0IHdp bGwgbm90IGltcGFjdCBvdGhlciBJUEMgdXNlcnMuDQoNCklmIHRoZSBhbnN3ZXIgaXMgTk8NCglJ IGhhdmUgdG8gZ2l2ZSB1cCBhbGwgc3luYyBJUEMsIGFuZCB1c2Ugc2VuZG1zZyB0byByZXBsYWNl IHN5bmMgcmVxdWVzdCBhbmQgdG8gbWF0Y2ggcmVxdWVzdCAvIHJlcGx5IGluIGV0aGRldl9tcC5j ICwgdGhvdWdoIGl0IGxvb2tzIGxpa2Ugc2hvdWxkIGJlIGEgcGFydCBvZiBJUEMgYW5kIHRoaXMg bG9va3MgbGlrZSB3ZSBhcmUgZ29pbmcgdG8gZW5hYmxlIGFub3RoZXIgc2V0IG9mIHN5bmMgSVBD IHdoaWNoIHN1cHBvcnQgcmVwbHkgb24gYW5vdGhlciB0aHJlYWQuDQoNClRoYW5rcw0KUWkNCj4g DQo+ID4gVGhhbmtzDQo+ID4gUWkuDQo+ID4NCj4gPj4NCj4gPj4gLS0NCj4gPj4gVGhhbmtzLA0K PiA+PiBBbmF0b2x5DQo+IA0KPiANCj4gLS0NCj4gVGhhbmtzLA0KPiBBbmF0b2x5DQo=