From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 22278A00C5; Thu, 27 Oct 2022 11:22:13 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 0092B42B85; Thu, 27 Oct 2022 11:22:13 +0200 (CEST) Received: from smartserver.smartsharesystems.com (smartserver.smartsharesystems.com [77.243.40.215]) by mails.dpdk.org (Postfix) with ESMTP id 34940427F6 for ; Thu, 27 Oct 2022 11:22:11 +0200 (CEST) X-MimeOLE: Produced By Microsoft Exchange V6.5 Content-class: urn:content-classes:message MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Subject: RE: [PATCH] mempool: cache align mempool cache objects Date: Thu, 27 Oct 2022 11:22:07 +0200 Message-ID: <98CBD80474FA8B44BF855DF32C47DC35D87450@smartserver.smartshare.dk> In-Reply-To: X-MS-Has-Attach: X-MS-TNEF-Correlator: Thread-Topic: [PATCH] mempool: cache align mempool cache objects Thread-Index: Adjp3vppNXQMcM46TpqgFxhrmc4QHQAALfoQ References: <98CBD80474FA8B44BF855DF32C47DC35D8744E@smartserver.smartshare.dk> <20221026144436.71068-1-mb@smartsharesystems.com> From: =?utf-8?B?TW9ydGVuIEJyw7hydXA=?= To: "Olivier Matz" Cc: , , , , X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org PiBGcm9tOiBPbGl2aWVyIE1hdHogW21haWx0bzpvbGl2aWVyLm1hdHpANndpbmQuY29tXQ0KPiBT ZW50OiBUaHVyc2RheSwgMjcgT2N0b2JlciAyMDIyIDEwLjM1DQo+IA0KPiBIaSBNb3J0ZW4sDQo+ IA0KPiBPbiBXZWQsIE9jdCAyNiwgMjAyMiBhdCAwNDo0NDozNlBNICswMjAwLCBNb3J0ZW4gQnLD uHJ1cCB3cm90ZToNCj4gPiBBZGQgX19ydGVfY2FjaGVfYWxpZ25lZCB0byB0aGUgb2JqcyBhcnJh eS4NCj4gPg0KPiA+IEl0IG1ha2VzIG5vIGRpZmZlcmVuY2UgaW4gdGhlIGdlbmVyYWwgY2FzZSwg YnV0IGlmIGdldC9wdXQgb3BlcmF0aW9ucw0KPiBhcmUNCj4gPiBhbHdheXMgMzIgb2JqZWN0cywg aXQgd2lsbCByZWR1Y2UgdGhlIG51bWJlciBvZiBtZW1vcnkgKG9yIGxhc3QgbGV2ZWwNCj4gPiBj YWNoZSkgYWNjZXNzZXMgZnJvbSBmaXZlIHRvIGZvdXIgNjQgQiBjYWNoZSBsaW5lcyBmb3IgZXZl cnkgZ2V0L3B1dA0KPiA+IG9wZXJhdGlvbi4NCj4gPg0KPiA+IEZvciByZWFkYWJpbGl0eSByZWFz b25zLCBhbiBleGFtcGxlIHVzaW5nIDE2IG9iamVjdHMgZm9sbG93czoNCj4gPg0KPiA+IEN1cnJl bnRseSwgd2l0aCAxNiBvYmplY3RzICgxMjhCKSwgd2UgYWNjZXNzIHRvIDMNCj4gPiBjYWNoZSBs aW5lczoNCj4gPg0KPiA+ICAgICAgIOKUjOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUkA0KPiA+ ICAgICAgIOKUgmxlbiAgICAg4pSCDQo+ID4gY2FjaGUg4pSCKioqKioqKirilIItLS0NCj4gPiBs aW5lMCDilIIqKioqKioqKuKUgiBeDQo+ID4gICAgICAg4pSCKioqKioqKirilIIgfA0KPiA+ICAg ICAgIOKUnOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUpCB8IDE2IG9iamVjdHMNCj4gPiAgICAg ICDilIIqKioqKioqKuKUgiB8IDEyOEINCj4gPiBjYWNoZSDilIIqKioqKioqKuKUgiB8DQo+ID4g bGluZTEg4pSCKioqKioqKirilIIgfA0KPiA+ICAgICAgIOKUgioqKioqKioq4pSCIHwNCj4gPiAg ICAgICDilJzilIDilIDilIDilIDilIDilIDilIDilIDilKQgfA0KPiA+ICAgICAgIOKUgioqKioq Kioq4pSCX3ZfDQo+ID4gY2FjaGUg4pSCICAgICAgICDilIINCj4gPiBsaW5lMiDilIIgICAgICAg IOKUgg0KPiA+ICAgICAgIOKUgiAgICAgICAg4pSCDQo+ID4gICAgICAg4pSU4pSA4pSA4pSA4pSA 4pSA4pSA4pSA4pSA4pSYDQo+ID4NCj4gPiBXaXRoIHRoZSBhbGlnbm1lbnQsIGl0IGlzIGFsc28g MyBjYWNoZSBsaW5lczoNCj4gPg0KPiA+ICAgICAgIOKUjOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKU gOKUkA0KPiA+ICAgICAgIOKUgmxlbiAgICAg4pSCDQo+ID4gY2FjaGUg4pSCICAgICAgICDilIIN Cj4gPiBsaW5lMCDilIIgICAgICAgIOKUgg0KPiA+ICAgICAgIOKUgiAgICAgICAg4pSCDQo+ID4g ICAgICAg4pSc4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSkLS0tDQo+ID4gICAgICAg4pSCKioq KioqKirilIIgXg0KPiA+IGNhY2hlIOKUgioqKioqKioq4pSCIHwNCj4gPiBsaW5lMSDilIIqKioq KioqKuKUgiB8DQo+ID4gICAgICAg4pSCKioqKioqKirilIIgfA0KPiA+ICAgICAgIOKUnOKUgOKU gOKUgOKUgOKUgOKUgOKUgOKUgOKUpCB8IDE2IG9iamVjdHMNCj4gPiAgICAgICDilIIqKioqKioq KuKUgiB8IDEyOEINCj4gPiBjYWNoZSDilIIqKioqKioqKuKUgiB8DQo+ID4gbGluZTIg4pSCKioq KioqKirilIIgfA0KPiA+ICAgICAgIOKUgioqKioqKioq4pSCIHYNCj4gPiAgICAgICDilJTilIDi lIDilIDilIDilIDilIDilIDilIDilJgtLS0NCj4gPg0KPiA+IEhvd2V2ZXIsIGFjY2Vzc2luZyB0 aGUgb2JqZWN0cyBhdCB0aGUgYm90dG9tIG9mIHRoZSBtZW1wb29sIGNhY2hlIGlzDQo+IGENCj4g PiBzcGVjaWFsIGNhc2UsIHdoZXJlIGNhY2hlIGxpbmUwIGlzIGFsc28gdXNlZCBmb3Igb2JqZWN0 cy4NCj4gPg0KPiA+IENvbnNpZGVyIHRoZSBuZXh0IGJ1cnN0IChhbmQgYW55IGZvbGxvd2luZyBi dXJzdHMpOg0KPiA+DQo+ID4gQ3VycmVudDoNCj4gPiAgICAgICDilIzilIDilIDilIDilIDilIDi lIDilIDilIDilJANCj4gPiAgICAgICDilIJsZW4gICAgIOKUgg0KPiA+IGNhY2hlIOKUgiAgICAg ICAg4pSCDQo+ID4gbGluZTAg4pSCICAgICAgICDilIINCj4gPiAgICAgICDilIIgICAgICAgIOKU gg0KPiA+ICAgICAgIOKUnOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUpA0KPiA+ICAgICAgIOKU giAgICAgICAg4pSCDQo+ID4gY2FjaGUg4pSCICAgICAgICDilIINCj4gPiBsaW5lMSDilIIgICAg ICAgIOKUgg0KPiA+ICAgICAgIOKUgiAgICAgICAg4pSCDQo+ID4gICAgICAg4pSc4pSA4pSA4pSA 4pSA4pSA4pSA4pSA4pSA4pSkDQo+ID4gICAgICAg4pSCICAgICAgICDilIINCj4gPiBjYWNoZSDi lIIqKioqKioqKuKUgi0tLQ0KPiA+IGxpbmUyIOKUgioqKioqKioq4pSCIF4NCj4gPiAgICAgICDi lIIqKioqKioqKuKUgiB8DQo+ID4gICAgICAg4pSc4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSk IHwgMTYgb2JqZWN0cw0KPiA+ICAgICAgIOKUgioqKioqKioq4pSCIHwgMTI4Qg0KPiA+IGNhY2hl IOKUgioqKioqKioq4pSCIHwNCj4gPiBsaW5lMyDilIIqKioqKioqKuKUgiB8DQo+ID4gICAgICAg 4pSCKioqKioqKirilIIgfA0KPiA+ICAgICAgIOKUnOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKU pCB8DQo+ID4gICAgICAg4pSCKioqKioqKirilIJfdl8NCj4gPiBjYWNoZSDilIIgICAgICAgIOKU gg0KPiA+IGxpbmU0IOKUgiAgICAgICAg4pSCDQo+ID4gICAgICAg4pSCICAgICAgICDilIINCj4g PiAgICAgICDilJTilIDilIDilIDilIDilIDilIDilIDilIDilJgNCj4gPiA0IGNhY2hlIGxpbmVz IHRvdWNoZWQsIGluY2wuIGxpbmUwIGZvciBsZW4uDQo+ID4NCj4gPiBXaXRoIHRoZSBwcm9wb3Nl ZCBhbGlnbm1lbnQ6DQo+ID4gICAgICAg4pSM4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSQDQo+ ID4gICAgICAg4pSCbGVuICAgICDilIINCj4gPiBjYWNoZSDilIIgICAgICAgIOKUgg0KPiA+IGxp bmUwIOKUgiAgICAgICAg4pSCDQo+ID4gICAgICAg4pSCICAgICAgICDilIINCj4gPiAgICAgICDi lJzilIDilIDilIDilIDilIDilIDilIDilIDilKQNCj4gPiAgICAgICDilIIgICAgICAgIOKUgg0K PiA+IGNhY2hlIOKUgiAgICAgICAg4pSCDQo+ID4gbGluZTEg4pSCICAgICAgICDilIINCj4gPiAg ICAgICDilIIgICAgICAgIOKUgg0KPiA+ICAgICAgIOKUnOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKU gOKUpA0KPiA+ICAgICAgIOKUgiAgICAgICAg4pSCDQo+ID4gY2FjaGUg4pSCICAgICAgICDilIIN Cj4gPiBsaW5lMiDilIIgICAgICAgIOKUgg0KPiA+ICAgICAgIOKUgiAgICAgICAg4pSCDQo+ID4g ICAgICAg4pSc4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSkDQo+ID4gICAgICAg4pSCKioqKioq KirilIItLS0NCj4gPiBjYWNoZSDilIIqKioqKioqKuKUgiBeDQo+ID4gbGluZTMg4pSCKioqKioq KirilIIgfA0KPiA+ICAgICAgIOKUgioqKioqKioq4pSCIHwgMTYgb2JqZWN0cw0KPiA+ICAgICAg IOKUnOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUpCB8IDEyOEINCj4gPiAgICAgICDilIIqKioq KioqKuKUgiB8DQo+ID4gY2FjaGUg4pSCKioqKioqKirilIIgfA0KPiA+IGxpbmU0IOKUgioqKioq Kioq4pSCIHwNCj4gPiAgICAgICDilIIqKioqKioqKuKUgl92Xw0KPiA+ICAgICAgIOKUlOKUgOKU gOKUgOKUgOKUgOKUgOKUgOKUgOKUmA0KPiA+IE9ubHkgMyBjYWNoZSBsaW5lcyB0b3VjaGVkLCBp bmNsLiBsaW5lMCBmb3IgbGVuLg0KPiANCj4gSSB1bmRlcnN0YW5kIHlvdXIgbG9naWMsIGJ1dCBh cmUgd2Ugc3VyZSB0aGF0IGhhdmluZyBhbiBhcHBsaWNhdGlvbg0KPiB0aGF0DQo+IHdvcmtzIHdp dGggYnVsa3Mgb2YgMzIgbWVhbnMgdGhhdCB0aGUgY2FjaGUgd2lsbCBzdGF5IGFsaWduZWQgdG8g MzINCj4gZWxlbWVudHMgZm9yIHRoZSB3aG9sZSBsaWZlIG9mIHRoZSBhcHBsaWNhdGlvbj8NCj4g DQo+IEluIGFuIGFwcGxpY2F0aW9uLCB0aGUgYWxpZ25tZW50IG9mIHRoZSBjYWNoZSBjYW4gY2hh bmdlIGlmIHlvdSBoYXZlDQo+IGFueSBvZjoNCj4gLSBzb2Z0d2FyZSBxdWV1ZXMgKHJlYXNzZW1i bHkgZm9yIGluc3RhbmNlKQ0KPiAtIHBhY2tldCBkdXBsaWNhdGlvbiAoYnJpZGdlLCBtdWx0aWNh c3QpDQo+IC0gbG9jYWxseSBnZW5lcmF0ZWQgcGFja2V0cyAoa2VlcGFsaXZlLCBjb250cm9sIHBy b3RvY29sKQ0KPiAtIHBpcGVsaW5lIHRvIG90aGVyIGNvcmVzDQo+IA0KPiBFdmVuIHdpdGggdGVz dHBtZCwgd2hpY2ggd29yayBieSBidWxrIG9mIDMyLCBJIGNhbiBzZWUgdGhhdCB0aGUgc2l6ZQ0K PiBvZiB0aGUgY2FjaGUgZmlsbGluZyBpcyBub3QgYWxpZ25lZCB0byAzMi4gUmlnaHQgYWZ0ZXIg c3RhcnRpbmcgdGhlDQo+IGFwcGxpY2F0aW9uLCB3ZSBhbHJlYWR5IGhhdmUgdGhpczoNCj4gDQo+ ICAgaW50ZXJuYWwgY2FjaGUgaW5mb3M6DQo+ICAgICBjYWNoZV9zaXplPTI1MA0KPiAgICAgY2Fj aGVfY291bnRbMF09MjMxDQo+IA0KPiBUaGlzIGlzIHByb2JhYmx5IHJlbGF0ZWQgdG8gdGhlIGh3 IHJ4IHJpbmdzIHNpemUsIG51bWJlciBvZiBxdWV1ZXMsDQo+IG51bWJlciBvZiBwb3J0cy4NCj4g DQo+IFRoZSAiMjUwIiBkZWZhdWx0IHZhbHVlIGZvciBjYWNoZSBzaXplIGluIHRlc3RwbWQgaXMg cXVlc3Rpb25hYmxlLCBidXQNCj4gd2l0aCAtLW1iY2FjaGU9MjU2LCB0aGUgYmVoYXZpb3IgaXMg c2ltaWxhci4NCj4gDQo+IEFsc28sIHdoZW4gd2UgdHJhbnNtaXQgdG8gYSBOSUMsIHRoZSBtYnVm cyBhcmUgbm90IHJldHVybmVkIGltbWVkaWF0bHkNCj4gdG8gdGhlIHBvb2wsIHRoZXkgbWF5IHN0 YXkgaW4gdGhlIGh3IHR4IHJpbmcgZHVyaW5nIHNvbWUgdGltZSwgd2hpY2ggaXMNCj4gYSBkcml2 ZXIgZGVjaXNpb24uDQo+IA0KPiBBZnRlciBwcm9jZXNzaW5nIHRyYWZmaWMgb24gY29yZXMgOCBh bmQgMjQgd2l0aCB0aGlzIHRlc3RwbWQsIEkgZ2V0Og0KPiAgICAgY2FjaGVfY291bnRbMF09MjMx DQo+ICAgICBjYWNoZV9jb3VudFs4XT0xMjMNCj4gICAgIGNhY2hlX2NvdW50WzI0XT0xMjINCj4g DQo+IEluIG15IG9waW5pb24sIGl0IGlzIG5vdCByZWFsaXN0aWMgdG8gdGhpbmsgdGhhdCB0aGUg bWVtcG9vbCBjYWNoZSB3aWxsDQo+IHJlbWFpbiBhbGlnbmVkIHRvIGNhY2hlbGluZXMuIEluIHRo ZXNlIGNvbmRpdGlvbnMsIGl0IGxvb2tzIGJldHRlciB0bw0KPiBrZWVwIHRoZSBzdHJ1Y3R1cmUg cGFja2VkIHRvIGF2b2lkIHdhc3RpbmcgbWVtb3J5Lg0KDQpJIGFncmVlIHRoYXQgaXMgYSBzcGVj aWFsIHVzZSBjYXNlIHRvIG9ubHkgYWNjZXNzIHRoZSBtZW1wb29sIGNhY2hlIGluIGJ1cnN0cyBv ZiAzMiBvYmplY3RzLCBzbyB0aGUgYWNjZXNzZXMgYXJlIGFsd2F5cyBjYWNoZSBsaW5lIGFsaWdu ZWQuIChHZW5lcmFsaXplZCwgdGhlIGJ1cnN0IHNpemUgbXVzdCBub3QgYmUgMzI7IGEgYnVyc3Qg c2l6ZSB0aGF0IGlzIGEgbXVsdGlwbGUgb2YgUlRFX0NBQ0hFX0xJTkVfU0laRS9zaXplb2Yodm9p ZCopLCBpLmUuIGEgYnVyc3Qgc2l6ZSBvZiA4IG9uIGEgNjQtYml0IGFyY2hpdGVjdHVyZSwgd2ls bCBkby4pDQoNCkFkZGluZyBhIGhvbGUgb2YgNTIgYnl0ZSBwZXIgbWVtcG9vbCBjYWNoZSBpcyBu b3RoaW5nLCBjb25zaWRlcmluZyB0aGF0IHRoZSBtZW1wb29sIGNhY2hlIGFscmVhZHkgdXNlcyA4 IEtCIChSVEVfTUVNUE9PTF9DQUNIRV9NQVhfU0laRSAqIDIgKiBzaXplb2Yodm9pZCopID0gMTAy NCAqIDggYnl0ZSkgZm9yIHRoZSBvYmplY3RzLg0KDQpBbHNvIC0gYXNzdW1pbmcgdGhhdCBtZW1v cnkgYWxsb2NhdGlvbnMgYXJlIGNhY2hlIGxpbmUgYWxpZ25lZCAtIHRoZSA1MiBieXRlIG9mIHVu dXNlZCBtZW1vcnkgY2Fubm90IGJlIHVzZWQgcmVnYXJkbGVzcyBpZiB0aGV5IGFyZSBiZWZvcmUg b3IgYWZ0ZXIgdGhlIG9iamVjdHMuIEluc3RlYWQgb2YgaGF2aW5nIDUyIEIgdW51c2VkIGFmdGVy IHRoZSBvYmplY3RzLCB3ZSBtaWdodCBhcyB3ZWxsIGhhdmUgYSBob2xlIG9mIDUyIEIgdW51c2Vk IGJlZm9yZSB0aGUgb2JqZWN0cy4gSW4gb3RoZXIgd29yZHM6IFRoZXJlIGlzIHJlYWxseSBubyBk b3duc2lkZSB0byB0aGlzLg0KDQpKZXJpbiBhbHNvIHByZXNlbnRlZCBhIHNlcGFyYXRlIGFyZ3Vt ZW50IGZvciBtb3ZpbmcgdGhlIG9iamVjdHMgdG8gYW5vdGhlciBjYWNoZSBsaW5lIHRoYW4gdGhl IGxlbiBmaWVsZDogVGhlIHJpc2sgZm9yICJsb2FkLWFmdGVyLXN0b3JlIHN0YWxsIiB3aGVuIGxv YWRpbmcgdGhlIGxlbiBmaWVsZCBhZnRlciBzdG9yaW5nIG9iamVjdHMgaW4gY2FjaGUgbGluZTAg WzFdLg0KDQpbMV06IGh0dHA6Ly9pbmJveC5kcGRrLm9yZy9kZXYvQ0FMQkFFMVA0ekZZZEx3b1F1 a241US1WLW5UdmNfVUJXbVdqaGFWMnVWQlhRUnl0U1NBQG1haWwuZ21haWwuY29tLw0KDQpBIG5l dyBpZGVhIGp1c3QgcG9wcGVkIGludG8gbXkgaGVhZDogVGhlIGhvdCBkZWJ1ZyBzdGF0aXN0aWNz IGNvdW50ZXJzIChwdXRfYnVsaywgcHV0X29ianMsIGdldF9zdWNjZXNzX2J1bGssIGdldF9zdWNj ZXNzX29ianMpIGNvdWxkIGJlIG1vdmVkIHRvIHRoaXMgZnJlZSBzcGFjZSwgcmVkdWNpbmcgdGhl IG5lZWQgdG8gdG91Y2ggYW5vdGhlciBjYWNoZSBsaW5lIGZvciBkZWJ1ZyBjb3VudGVycy4gSSBo YXZlbuKAmXQgdGhvdWdodCB0aGlzIGlkZWEgdGhyb3VnaCB5ZXQ7IGl0IG1pZ2h0IGNvbmZsaWN0 IHdpdGggSmVyaW4ncyBjb21tZW50Lg0KDQo+IA0KPiBPbGl2aWVyDQo+IA0KPiANCj4gPg0KPiA+ IENyZWRpdHMgZ28gdG8gT2xpdmllciBNYXR6IGZvciB0aGUgbmljZSBBU0NJSSBncmFwaGljcy4N Cj4gPg0KPiA+IFNpZ25lZC1vZmYtYnk6IE1vcnRlbiBCcsO4cnVwIDxtYkBzbWFydHNoYXJlc3lz dGVtcy5jb20+DQo+ID4gLS0tDQo+ID4gIGxpYi9tZW1wb29sL3J0ZV9tZW1wb29sLmggfCA2ICsr KystLQ0KPiA+ICAxIGZpbGUgY2hhbmdlZCwgNCBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygt KQ0KPiA+DQo+ID4gZGlmZiAtLWdpdCBhL2xpYi9tZW1wb29sL3J0ZV9tZW1wb29sLmggYi9saWIv bWVtcG9vbC9ydGVfbWVtcG9vbC5oDQo+ID4gaW5kZXggMWY1NzA3ZjQ2YS4uMzcyNWE3Mjk1MSAx MDA2NDQNCj4gPiAtLS0gYS9saWIvbWVtcG9vbC9ydGVfbWVtcG9vbC5oDQo+ID4gKysrIGIvbGli L21lbXBvb2wvcnRlX21lbXBvb2wuaA0KPiA+IEBAIC04NiwxMSArODYsMTMgQEAgc3RydWN0IHJ0 ZV9tZW1wb29sX2NhY2hlIHsNCj4gPiAgCXVpbnQzMl90IHNpemU7CSAgICAgIC8qKjwgU2l6ZSBv ZiB0aGUgY2FjaGUgKi8NCj4gPiAgCXVpbnQzMl90IGZsdXNodGhyZXNoOyAvKio8IFRocmVzaG9s ZCBiZWZvcmUgd2UgZmx1c2ggZXhjZXNzDQo+IGVsZW1lbnRzICovDQo+ID4gIAl1aW50MzJfdCBs ZW47CSAgICAgIC8qKjwgQ3VycmVudCBjYWNoZSBjb3VudCAqLw0KPiA+IC0JLyoNCj4gPiArCS8q Kg0KPiA+ICsJICogQ2FjaGUgb2JqZWN0cw0KPiA+ICsJICoNCj4gPiAgCSAqIENhY2hlIGlzIGFs bG9jYXRlZCB0byB0aGlzIHNpemUgdG8gYWxsb3cgaXQgdG8gb3ZlcmZsb3cgaW4NCj4gY2VydGFp bg0KPiA+ICAJICogY2FzZXMgdG8gYXZvaWQgbmVlZGxlc3MgZW1wdHlpbmcgb2YgY2FjaGUuDQo+ ID4gIAkgKi8NCj4gPiAtCXZvaWQgKm9ianNbUlRFX01FTVBPT0xfQ0FDSEVfTUFYX1NJWkUgKiAy XTsgLyoqPCBDYWNoZSBvYmplY3RzICovDQo+ID4gKwl2b2lkICpvYmpzW1JURV9NRU1QT09MX0NB Q0hFX01BWF9TSVpFICogMl0gX19ydGVfY2FjaGVfYWxpZ25lZDsNCj4gPiAgfSBfX3J0ZV9jYWNo ZV9hbGlnbmVkOw0KPiA+DQo+ID4gIC8qKg0KPiA+IC0tDQo+ID4gMi4xNy4xDQo+ID4NCg0K