From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by dpdk.space (Postfix) with ESMTP id 8362FA05D3 for ; Wed, 27 Mar 2019 03:33:13 +0100 (CET) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id CC2A11B116; Wed, 27 Mar 2019 03:33:12 +0100 (CET) Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by dpdk.org (Postfix) with ESMTP id DAF201B113 for ; Wed, 27 Mar 2019 03:33:10 +0100 (CET) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga005.fm.intel.com ([10.253.24.32]) by fmsmga104.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 26 Mar 2019 19:33:09 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.60,274,1549958400"; d="scan'208";a="332357432" Received: from fmsmsx107.amr.corp.intel.com ([10.18.124.205]) by fmsmga005.fm.intel.com with ESMTP; 26 Mar 2019 19:33:09 -0700 Received: from FMSMSX109.amr.corp.intel.com (10.18.116.9) by fmsmsx107.amr.corp.intel.com (10.18.124.205) with Microsoft SMTP Server (TLS) id 14.3.408.0; Tue, 26 Mar 2019 19:33:09 -0700 Received: from bgsmsx103.gar.corp.intel.com (10.223.4.130) by fmsmsx109.amr.corp.intel.com (10.18.116.9) with Microsoft SMTP Server (TLS) id 14.3.408.0; Tue, 26 Mar 2019 19:33:09 -0700 Received: from bgsmsx101.gar.corp.intel.com ([169.254.1.171]) by BGSMSX103.gar.corp.intel.com ([169.254.4.38]) with mapi id 14.03.0415.000; Wed, 27 Mar 2019 08:03:05 +0530 From: "Varghese, Vipin" To: "Harris, James R" , "Howell, Seth" , "dev@dpdk.org" Thread-Topic: Aligned rte_mempool for storage applications Thread-Index: AdTjSAn8LkaY++b+RHO/HMbypNe5OgAB5YyAAAuuyoAAIMSwIAABIl8AAA/TdnA= Date: Wed, 27 Mar 2019 02:33:04 +0000 Message-ID: <4C9E0AB70F954A408CC4ADDBF0F8FA7D4D3265CB@BGSMSX101.gar.corp.intel.com> References: <4C9E0AB70F954A408CC4ADDBF0F8FA7D4D325E91@BGSMSX101.gar.corp.intel.com> <06C0B6E8-83E6-4513-BF5C-7EDAB50D1E1E@intel.com> In-Reply-To: <06C0B6E8-83E6-4513-BF5C-7EDAB50D1E1E@intel.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ctpclassification: CTP_NT x-titus-metadata-40: eyJDYXRlZ29yeUxhYmVscyI6IiIsIk1ldGFkYXRhIjp7Im5zIjoiaHR0cDpcL1wvd3d3LnRpdHVzLmNvbVwvbnNcL0ludGVsMyIsImlkIjoiNTVkZmI5NTktOTYyNC00NjYyLWEyZTQtNWY3N2E5NzI1YTM0IiwicHJvcHMiOlt7Im4iOiJDVFBDbGFzc2lmaWNhdGlvbiIsInZhbHMiOlt7InZhbHVlIjoiQ1RQX05UIn1dfV19LCJTdWJqZWN0TGFiZWxzIjpbXSwiVE1DVmVyc2lvbiI6IjE3LjEwLjE4MDQuNDkiLCJUcnVzdGVkTGFiZWxIYXNoIjoiSkRPSVorMlVkWDhBTmRiS3JoVjZRaEdDVHRiNzVvMHd5eHRaV0paRFh0SWFYaHpHSkdjRUV4OFZXOEt1T01RWSJ9 dlp-product: dlpe-windows dlp-version: 11.0.400.15 dlp-reaction: no-action 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] Aligned rte_mempool for storage applications 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: , Errors-To: dev-bounces@dpdk.org Sender: "dev" Message-ID: <20190327023304.x0keTny07b55PgLYlNv4YvDU7gMXCXEaSHVhffd7mOk@z> VGhhbmtzIEppbSBmb3IgdGhlIGNvbnNpZGVyYXRpb24uIA0KDQpJIGh1bWJseSBzdWdnZXN0ZWQg dGhlIGlkZWFzLCBzaW5jZSB3ZSBoYWQgYSBzaW1pbGFyIGlzc3VlIHdoZW4gY3JlYXRpbmcgQUZf WERQX1pDIFBNRC4gSGFwcHkgdG8gc2hhcmUgaWRlYXMuDQoNClRoYW5rcw0KVmlwaW4gVmFyZ2hl c2UNCg0KPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBIYXJyaXMsIEphbWVz IFINCj4gU2VudDogV2VkbmVzZGF5LCBNYXJjaCAyNywgMjAxOSAxMjoyOSBBTQ0KPiBUbzogSG93 ZWxsLCBTZXRoIDxzZXRoLmhvd2VsbEBpbnRlbC5jb20+OyBWYXJnaGVzZSwgVmlwaW4NCj4gPHZp cGluLnZhcmdoZXNlQGludGVsLmNvbT47IGRldkBkcGRrLm9yZw0KPiBTdWJqZWN0OiBSZTogQWxp Z25lZCBydGVfbWVtcG9vbCBmb3Igc3RvcmFnZSBhcHBsaWNhdGlvbnMNCj4gDQo+IA0KPiANCj4g 77u/T24gMy8yNi8xOSwgMTE6MzQgQU0sICJIb3dlbGwsIFNldGgiIDxzZXRoLmhvd2VsbEBpbnRl bC5jb20+IHdyb3RlOg0KPiANCj4gICAgIEhpIFZpcGluLA0KPiANCj4gICAgIFRoYW5rcyBmb3Ig eW91ciBxdWljayByZXBseS4gSSB3aWxsIHJlc3BvbmQgdG8geW91ciBxdWVyaWVzIGluIG9yZGVy Lg0KPiAgICAgMS4gWWVzLCBpbiBhdCBsZWFzdCBvbmUgY2FzZSB3ZSBoYXZlIGJ1ZmZlcnMgb2Yg c2l6ZSA0MDk2IGJ5dGVzLiBTb21lIG9mIG91cg0KPiBvdGhlciBidWZmZXJzIGFyZSBtdWNoIGxh cmdlciAoPjY0S2lCKQ0KPiAgICAgMi4gVGhlc2UgYnVmZmVycyBhcmUgdXNlZCBpbiB0aGUgSS9P IHBhdGgsIHNvIHBlcmZvcm1hbmNlIGlzIHZlcnkgaW1wb3J0YW50Lg0KPiBBbGxvY2F0aW5nIGFu ZCBmcmVlaW5nIGEgYnVmZmVyIGVhY2ggdGltZSB3ZSB1c2UgaXQgY291bGQgYmUgcHJldHR5IGNv c3RseS4NCj4gDQo+IEkgdGhpbmsgVmlwaW4gbWF5IGhhdmUgYmVlbiBzdWdnZXN0aW5nIGFsbG9j YXRpbmcgb25lIChvciBtdWx0aXBsZSkgdmVyeSBsYXJnZQ0KPiBidWZmZXJzLCBhbmQgdGhlbiBz cGxpdHRpbmcgdGhhdCBidWZmZXIgb24gNEtCIGJvdW5kYXJpZXMgaW4gU1BESy4gIElmIHNvLCB0 aGF0DQo+IHdvdWxkIHN0aWxsIHJlcXVpcmUgU1BESyB0byBkZXZlbG9wIGl0cyBvd24gbWVtcG9v bC1saWtlIGZlYXR1cmUgdG8gaG9sZCB0aG9zZQ0KPiBidWZmZXJzLiAgV2UnZCByZWFsbHkgbGlr ZSB0byB1c2UgdGhlIERQREsgcnRlX21lbXBvb2wgaW1wbGVtZW50YXRpb24gcmF0aGVyDQo+IHRo YW4gaW52ZW50aW5nIG91ciBvd24uDQo+IA0KPiAgICAgMy4gQ291bGQgeW91IGRlc2NyaWJlIHRo ZSBpZGVhIG9mIGFuIGluZGlyZWN0IGJ1ZmZlciBpbiBtb3JlIGRldGFpbD8gSSBkb24ndCB0aGlu aw0KPiBJIHF1aXRlIHVuZGVyc3RhbmQgdGhhdCBjb25jZXB0LiBJIGtub3cgd2UgY291bGRuJ3Qg dXNlIG1idWZzIGJlY2F1c2Ugd2Ugb2Z0ZW4NCj4gaGF2ZSBidWZmZXJzIHRoYXQgYXJlIGxhcmdl ciB0aGFuIDY0ay4gSSB0aGluayB0aGVyZSBhcmUgbW9yZSByZWFzb25zIHdlIGRvbid0IHVzZQ0K PiB0aGUgbWJ1ZiBzdHJ1Y3R1cmUgaW4gb3VyIHVzZSBjYXNlLCBidXQgYW0gbm90IGZhbWlsaWFy IHdpdGggYWxsIG9mIHRoZW0uIE1heWJlDQo+IEppbSBjYW4gZXhwbGFpbiB0aG9zZSBpbiBtb3Jl IGRldGFpbC4NCj4gDQo+IFNQREsgZG9lc24ndCB1c2UgcnRlX21idWZzIChleGNlcHQgd2hlbiBh YnNvbHV0ZWx5IHJlcXVpcmVkIGZvciB0aGluZ3MgbGlrZQ0KPiBEUERLIGNyeXB0b2Rldi9jb21w cmVzc2RldikuICBNb3N0IG9mIHRoYXQgZGF0YSBzdHJ1Y3R1cmUgaXMgZmlsbGVkIHdpdGggbmV0 d29yaw0KPiBwYWNrZXQgcmVsYXRlZCBmaWVsZHMgdGhhdCB3b3VsZCBuZXZlciBiZSB1c2VkIGZv ciBzdG9yYWdlLiAgV2UgY291bGQgY3JlYXRlIG91cg0KPiBvd24gdmVyeSBzbWFsbCBkYXRhIHN0 cnVjdHVyZSBhbmQgZG8gc29tZXRoaW5nIHNpbWlsYXIgdG8gVmlwaW4ncyBpbmRpcmVjdCBtYnVm DQo+IHN1Z2dlc3Rpb24uICBBbmQgSSB0aGluayB0aGlzIGlzIHdoYXQgVmlwaW4gd2FzIHN0YXJ0 aW5nIHRvIGFsbHVkZSB0byBpbiBxdWVyeSAjMi4NCj4gDQo+IEl0IHdvdWxkIGJlIGxlc3Mgb3B0 aW1hbCB0aGFuIGEgbmF0aXZlIGFsaWduZWQgbWVtcG9vbCBiZWNhdXNlIHdlJ2QgYmUgYWRkaW5n DQo+IGFuIGV4dHJhIHBvaW50ZXIgZGVyZWZlcmVuY2Ugb24gZXZlcnkgZ2V0IGZyb20gdGhlIG1l bXBvb2wgLSBidXQgcHJvYmFibHkgb25seQ0KPiBzbGlnaHRseSBsZXNzIG9wdGltYWwuICBTZXRo IC0gbGV0J3Mgc3luYyB1cCBvZmZsaW5lIGFuZCBzZWUgaWYgd2UgY2FuIHF1aWNrbHkgY29sbGVj dA0KPiBzb21lIGJlbmNobWFya2luZyBkYXRhIHRvIG1lYXN1cmUgdGhlIHBlcmZvcm1hbmNlIGlt cGFjdCBvZiB0aGlzIGV4dHJhDQo+IGRlcmVmZXJlbmNlLg0KPiANCj4gVGhhbmtzIFZpcGluIC0g dGhpcyBkZWZpbml0ZWx5IGdpdmVzIHVzIGFuIGFsdGVybmF0aXZlIGRpcmVjdGlvbiB0byBpbnZl c3RpZ2F0ZSB0aGF0DQo+IHdlIGhhZG4ndCBjb25zaWRlcmVkLg0KPiANCj4gLUppbQ0KPiANCj4g DQo+IA0KPiAgICAgVGhhbmtzLA0KPiANCj4gICAgIFNldGgNCj4gICAgIC0tLS0tT3JpZ2luYWwg TWVzc2FnZS0tLS0tDQo+ICAgICBGcm9tOiBWYXJnaGVzZSwgVmlwaW4NCj4gICAgIFNlbnQ6IE1v bmRheSwgTWFyY2ggMjUsIDIwMTkgNzo1MyBQTQ0KPiAgICAgVG86IEhhcnJpcywgSmFtZXMgUiA8 amFtZXMuci5oYXJyaXNAaW50ZWwuY29tPjsgSG93ZWxsLCBTZXRoDQo+IDxzZXRoLmhvd2VsbEBp bnRlbC5jb20+OyBkZXZAZHBkay5vcmcNCj4gICAgIFN1YmplY3Q6IFJFOiBBbGlnbmVkIHJ0ZV9t ZW1wb29sIGZvciBzdG9yYWdlIGFwcGxpY2F0aW9ucw0KPiANCj4gICAgIEhpIFNldGgsDQo+IA0K PiAgICAgSWYgSSBtYXkgSSB3b3VsZCBsaWtlIHRvIHN1Z2dlc3QgYW5kIGFzayBhIHF1ZXJ5IG9u IHRoZSBtZW1wb29sIGFsaWdubWVudA0KPiBkZXRhaWxzLiBQbGVhc2UgZmluZCBteSBzdWdnZXN0 aW9uIGFuZCBxdWVyeSBpbmxpbmUgdG8gdGhlIGVtYWlsLg0KPiANCj4gICAgIFNuaXBwZWQNCj4g ICAgID4NCj4gICAgID4gICAgIEluIFNQREssIHdlIHVzZSB0aGUgcnRlX21lbXBvb2wgc3RydWN0 IGZvciBtYW55IGludGVybmFsIHN0cnVjdHVyZQ0KPiAgICAgPiBjb2xsZWN0aW9ucy4gVGhlIHBl ci10aHJlYWQgY2FjaGUgYW5kIGVhc2Ugb2YgYWxsb2NhdGlvbiBvZiBtZW1wb29scw0KPiAgICAg PiBhcmUgdmVyeSB1c2VmdWwgZmVhdHVyZXMuDQo+ICAgICA+ICAgICBTb21lIG9mIHRoZSBjb2xs ZWN0aW9ucyB3ZSBzdG9yZSBpbiBTUERLIGFyZSBwb29scyBvZiBJL08gYnVmZmVycy4NCj4gICAg ID4gVHlwaWNhbGx5LCB0aGVzZSBwb29scyBjb250YWluIGVsZW1lbnRzIG9mIGF0IGxlYXN0IDQw OTYgYnl0ZXMsIGFuZCB3ZQ0KPiAgICAgPiB3b3VsZCBsaWtlIHRoZW0gdG8gYmUgYWxpZ25lZCB0 byA0ayBmb3IgcGVyZm9ybWFuY2UgcmVhc29ucy4NCj4gICAgIFF1ZXJ5LTE+IGlzIHRoZSB0b3Rh bCBtZW1vcnkgcmVxdWlyZWQgdG8gYmUgNDA5NiBvbmx5IChkYXRhIHBvcnRpb24pPw0KPiANCj4g ICAgID4NCj4gICAgID4gW0ppbV0gSnVzdCB0byBjbGFyaWZ5IFNldGgncyBwb2ludCAtIHRoZSBw ZXJmb3JtYW5jZSByZWFzb25zIGFyZQ0KPiAgICAgPiBzcGVjaWZpY2FsbHkgdG8gYXZvaWQgd2Fz dGVmdWwgbWVtY29waWVzLiAgVGhlIHZhc3QgbWFqb3JpdHkgb2YgTlZNZQ0KPiAgICAgPiBTU0Rz IGluIHRoZSBtYXJrZXQgdG9kYXkgZG8gbm90IGhhdmUgZnVsbCBzY2F0dGVyL2dhdGhlciBzdXBw b3J0IC0NCj4gICAgID4gcmF0aGVyIHRoZXkgb25seSBzdXBwb3J0IHNvbWV0aGluZyBjYWxsZWQg UFJQIChQaHlzaWNhbCBSZWdpb24gUGFnZXMpDQo+ICAgICA+IHdoaWNoIHJlcXVpcmUgYWxsIHNj YXR0ZXIgZ2F0aGVyIGVsZW1lbnRzIGV4Y2VwdCB0aGUgZmlyc3QgdG8gYmUgNEtCDQo+ICAgICA+ IGFsaWduZWQuICBUaGVyZSBhcmUgb3RoZXIgc3RvcmFnZSBpbnRlcmZhY2VzIHN1Y2ggYXMgTGlu dXggQUlPIHRoYXQgYWxzbyBpbXBvc2UNCj4gYWxpZ25tZW50IHJlc3RyaWN0aW9ucy4NCj4gICAg ID4NCj4gICAgID4gLUppbQ0KPiAgICAgPg0KPiAgICAgPg0KPiAgICAgPiAgICAgQ3VycmVudGx5 LCB0aGUgcnRlX21lbXBvb2wgQVBJIGRvZXNuJ3Qgc3VwcG9ydCBhbGlnbmVkIG1lbXBvb2wNCj4g ICAgID4gb2JqZWN0cy4gVGhpcyBtZWFucyB0aGF0IHdoZW4gd2UgYWxsb2NhdGUgYSA0ayBidWZm ZXIgYW5kIHdhbnQgaXQNCj4gICAgID4gYWxpZ25lZCB0byA0aywgd2UgYWN0dWFsbHkgbmVlZCB0 byBhbGxvY2F0ZSBhbiA4ayBidWZmZXIgYW5kIGNhbGN1bGF0ZQ0KPiAgICAgPiBhbiBvZmZzZXQg aW50byBpdCBlYWNoIHRpbWUgd2Ugd2FudCB0byB1c2UgaXQuDQo+ICAgICBRdWVyeS0yPiB3aHkg bm90IGNyZWF0ZSBjb250aWd1b3VzIDRLIGFsaWduZWQgbWVtb3J5IHdpdGggcnRlX21hbGxvYz8N Cj4gDQo+ICAgICA+ICAgICBXZSByZWNlbnRseSBkaWQgYSBwcm9vZiBvZiBjb25jZXB0IHVzaW5n IHRoZSBydGVfbWVtcG9vbF9vcHMgaG9vaw0KPiAgICAgPiB3aGVyZSB3ZSBhbGxvY2F0ZWQgYSBt ZW1wb29sIGFuZCBwb3B1bGF0ZWQgaXQgd2l0aCBhbGlnbmVkIGVudHJpZXMuDQo+ICAgICA+IFRo aXMgYWxsb3dlZCB1cyB0byByZXRyaWV2ZSBhbGlnbmVkIGFkZHJlc3NlcyBkaXJlY3RseSBmcm9t DQo+ICAgICA+IHJ0ZV9tZW1wb29sX2dldCgpLCBidXQgZGlkbid0IGhlbHAgd2l0aCB0aGUgYWxs b2NhdGlvbiBzaXplLg0KPiAgICAgPiAgICAgQmVjYXVzZSB0aGUgcnRlX21lbXBvb2wgc3RydWN0 IGFzc3VtZXMgdGhhdCBlYWNoIGVsZW1lbnQgaGFzIGENCj4gICAgID4gaGVhZGVyIGF0dGFjaGVk IHRvIGl0LCB3ZSBzdGlsbCBuZWVkIHRvIGxpdmUgdXAgdG8gdGhhdCBhc3N1bXB0aW9uIGZvcg0K PiAgICAgPiBlYWNoIG9iamVjdCB3ZSBjcmVhdGUgaW4gYSBtZW1wb29sLiBUaGlzIG1lYW5zIHRo YXQgdGhlIGFjdHVhbCBzaXplIG9mDQo+ICAgICA+IGEgYnVmZmVyIGJlY29tZXMgNGsgKyAyNCBi eXRlcy4gSW4gb3JkZXIgdG8gZ2V0IHRvIG91ciBuZXh0IGFsaWduZWQNCj4gICAgID4gYWRkcmVz cywgd2UgbmVlZCB0byBhZGQgYWJvdXQgNGsgb2YgcGFkZGluZyB0byBlYWNoIGVsZW1lbnQuDQo+ ICAgICA+ICAgICBNb2RpZnlpbmcgdGhlIGN1cnJlbnQgcnRlX21lbXBvb2wgc3RydWN0IHRvIGFs bG93IGVudHJpZXMgd2l0aG91dA0KPiAgICAgPiBoZWFkZXJzIHNlZW1zIGltcG9zc2libGUgc2lu Y2UgaXQgd291bGQgYnJlYWsgcnRlX21lbXBvb2xfZm9yX29ial9pdGVyDQo+ICAgICA+IGFuZCBy dGVfbWVtcG9vbF9mcm9tX29iai4gSG93ZXZlciBJIHN0aWxsIHRoaW5rIHRoZXJlIGlzIGEgbG90 IG9mDQo+ICAgICA+IGJlbmVmaXQgdG8gYmUgZ2FpbmVkIGZyb20gYSBtZW1wb29sIHN0cnVjdHVy ZSB0aGF0IHN1cHBvcnRzIGFsaWduZWQgb2JqZWN0cw0KPiB3aXRob3V0IGhlYWRlcnMuDQo+ICAg ICA+ICAgICBJIGFtIHdvbmRlcmluZyBpZiBEUERLIHdvdWxkIGJlIG9wZW4gdG8gdXMgaW50cm9k dWNpbmcgYW4NCj4gICAgID4gcnRlX21lbXBvb2xfYWxpZ25lZCBzdHJ1Y3R1cmUuIFRoaXMgc3Ry dWN0dXJlIHdvdWxkIGVzc2VudGlhbGx5IGJlIGENCj4gICAgID4gd3JhcHBlciBhcm91bmQgYSBy ZWd1bGFyIG1lbXBvb2wgc3RydWN0LiBIb3dldmVyLCBpdCB3b3VsZCBub3QgcmVxdWlyZQ0KPiAg ICAgPiBoZWFkZXJzIG9yIHRyYWlsZXJzIGZvciBlYWNoIG9iamVjdCBpbiB0aGUgcG9vbC4NCj4g ICAgIFF1ZXJ5LTM+IHVzaW5nIG1lbXBvb2wgd2l0aCAwIHNpemUgZm9yIGRhdGEgcG9ydGlvbiB3 ZSBjYW4gZWl0aGVyIGNyZWF0ZSBhDQo+IGluZGlyZWN0IGJ1ZmZlciBvciB1c2UgZXh0ZXJuYWwg bWJ1ZiB0byBhdHRhY2ggTUJVRiB0byA0SyBhbGlnbmVkIHJ0ZV9tYWxsb2MNCj4gYXJlYXMuDQo+ IA0KPiAgICAgTm90ZTogd2UgZGlkIHNpbWlsYXIgdG8gdGhlIHByb3RvdHlwZSBmb3IgQUZfWERQ X1pDX1BNRCAocHJlc2VudGVkIGluIEJMUg0KPiBzdW1taXQgMjAxOSkuDQo+IA0KPiAgICAgQWR2 YW50YWdlOiBubyBjaGFuZ2UgaW4gbWVtcG9vbCBsaWJyYXJ5LCBtYnVmIGxpYnJhcnksIG9yIHJ0 ZV9tYWxsb2MuDQo+IEFwcGxpY2F0aW9uIHdvcmtzIHdpdGggemVybyBjaGFuZ2UuDQo+IA0KPiAg ICAgPg0KPiAgICAgPiAgICAgVGhpcyBzdHJ1Y3R1cmUgd291bGQgb25seSBiZSBhcHBsaWNhYmxl IHRvIGEgc3Vic2V0IG9mIG1lbXBvb2xzDQo+ICAgICA+IHdpdGggdGhlIGZvbGxvd2luZyBjaGFy YWN0ZXJpc3RpY3M6DQo+ICAgICA+ICAgICAJMS4gbWVtcG9vbHMgZm9yIHdoaWNoIHRoZSBmb2xs b3dpbmcgZmxhZ3Mgd2VyZSBzZXQ6DQo+ICAgICA+IE1FTVBPT0xfRl9OT19DQUNIRV9BTElHTkVE LCBNRU1QT09MX0ZfTk9fSU9WQV9DT05USUcgLA0KPiAgICAgPiBNRU1QT09MX0ZfTk9fU1BSRUFE DQo+ICAgICA+ICAgICAJMi4gbWVtcG9vbHMgdGhhdCBkbyBub3QgcmVxdWlyZSB0aGUgdXNlIG9m IHRoZSBmb2xsb3dpbmcNCj4gICAgID4gZnVuY3Rpb25zIHJ0ZV9tZW1wb29sX2Zyb21fb2JqIChy ZXF1aXJlcyBhIHBvaW50ZXIgdG8gdGhlIG1wIGluIHRoZQ0KPiAgICAgPiBoZWFkZXIgb2YgZWFj aCBvYmopLCBydGVfbWVtcG9vbF9mb3Jfb2JqX2l0ZXIuDQo+ICAgICA+ICAgICAJMy4gQW55IGF0 dGVtcHQgdG8gY3JlYXRlIHRoaXMgb2JqZWN0IHdoZW4NCj4gICAgID4gUlRFX0xJQlJURV9NRU1Q T09MX0RFQlVHIHdhcyBlbmFibGVkIHdvdWxkIG5lY2Vzc2FyaWx5IGZhaWwgc2luY2Ugd2UNCj4g ICAgID4gY2FuJ3QgY2hlY2sgdGhlIGhlYWRlciBjb29raWVzLg0KPiAgICAgPg0KPiAgICAgPiAg ICAgTXkgdGhvdWdodCB3b3VsZCBiZSB0aGF0IHdlIGNvdWxkIGltcGxlbWVudCB0aGlzIGRhdGEg c3RydWN0dXJlIGluDQo+ICAgICA+IGEgaGVhZGVyIGFuZCBpdCB3b3VsZCBsb29rIHNvbWV0aGlu ZyBsaWtlIHRoaXM6DQo+ICAgICA+DQo+ICAgICA+ICAgICBTdHJ1Y3QgcnRlX21lbXBvb2xfYWxp Z25lZCB7DQo+ICAgICA+ICAgICAJU3RydWN0IHJ0ZV9tZW1wb29sIG1wOw0KPiAgICAgPiAgICAg CVNpemVfdCBvYmpfYWxpZ25tZW50Ow0KPiAgICAgPiAgICAgfTsNCj4gICAgID4NCj4gICAgID4g ICAgIFRoZSByZXN0IG9mIHRoZSBmdW5jdGlvbnMgaW4gdGhlIGhlYWRlciB3b3VsZCBwcmltYXJp bHkgYmUNCj4gICAgID4gd3JhcHBlcnMgYXJvdW5kIHRoZSBvcmlnaW5hbCBmdW5jdGlvbnMuIE1v c3QgZnVuY3Rpb25zDQo+ICAgICA+IChydGVfbWVtcG9vbF9hbGxvYywgcnRlX21lbXBvb2xfZnJl ZSwgcnRlX21lbXBvb2xfZW5xdWV1ZS9kZXF1ZXVlLA0KPiAgICAgPiBydGVfbWVtcG9vbF9nZXRf Y291bnQsIGV0Yy4pIGNvdWxkIGJlIGltcGxlbWVudGVkIGRpcmVjdGx5IGFzDQo+ICAgICA+IHdy YXBwZXJzLCBhbmQgb3RoZXJzIHN1Y2ggYXMgcnRlX21lbXBvb2xfY3JlYXRlIGFuZCB0aGUgcG9w dWxhdGUNCj4gICAgID4gZnVuY3Rpb25zIHdvdWxkIGhhdmUgdG8gYmUgcmUtaW1wbGVtZW50ZWQg dG8gc29tZSBkZWdyZWUgaW4gdGhlIG5ldw0KPiAgICAgPiBoZWFkZXIuIFRoZSByZW1haW5pbmcg ZnVuY3Rpb25zIChjaGVja19jb29raWVzLCBmb3Jfb2JqX2l0ZXIpIHdvdWxkIG5vdCBiZQ0KPiBp bXBsZW1lbnRlZCBpbiB0aGUgcnRlX21lbXBvb2xfYWxpZ25lZC5oIGZpbGUuDQo+ICAgICA+DQo+ ICAgICA+ICAgICBXb3VsZCB0aGUgY29tbXVuaXR5IGJlIHdlbGNvbWluZyBvZiBhIG5ldyBydGVf bWVtcG9vbF9hbGlnbmVkDQo+ICAgICA+IHN0cnVjdD8gSWYgeW91IGRvbid0IGZlZWwgbGlrZSB0 aGlzIHdvdWxkIGJlIHRoZSB3YXkgdG8gZ28sIGFyZSB0aGVyZQ0KPiAgICAgPiBvdGhlciBvcHRp b25zIGluIERQREsgZm9yIGNyZWF0aW5nIGEgcG9vbCBvZiBwcmUtYWxsb2NhdGVkIGFsaWduZWQg b2JqZWN0cz8NCj4gICAgID4NCj4gICAgID4gICAgIFRoYW5rIHlvdSwNCj4gICAgID4NCj4gICAg ID4gICAgIFNldGggSG93ZWxsDQo+ICAgICA+DQo+ICAgICA+DQo+ICAgICA+DQo+IA0KPiANCg0K