From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-5.8 required=3.0 tests=DKIM_INVALID,DKIM_SIGNED, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY, SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,URIBL_SBL,URIBL_SBL_A autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 2FADBC7618B for ; Mon, 29 Jul 2019 13:33:24 +0000 (UTC) Received: from dpdk.org (dpdk.org [92.243.14.124]) by mail.kernel.org (Postfix) with ESMTP id 92923206BA for ; Mon, 29 Jul 2019 13:33:23 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (2048-bit key) header.d=marvell.com header.i=@marvell.com header.b="O2ueF2CP"; dkim=fail reason="signature verification failed" (1024-bit key) header.d=marvell.onmicrosoft.com header.i=@marvell.onmicrosoft.com header.b="WvO1Jw33" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 92923206BA Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=marvell.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=dev-bounces@dpdk.org Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id DE7811BF9D; Mon, 29 Jul 2019 15:33:22 +0200 (CEST) Received: from mx0b-0016f401.pphosted.com (mx0a-0016f401.pphosted.com [67.231.148.174]) by dpdk.org (Postfix) with ESMTP id 2C8151BF9C for ; Mon, 29 Jul 2019 15:33:21 +0200 (CEST) Received: from pps.filterd (m0045849.ppops.net [127.0.0.1]) by mx0a-0016f401.pphosted.com (8.16.0.42/8.16.0.42) with SMTP id x6TDVoKI000773; Mon, 29 Jul 2019 06:33:19 -0700 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=marvell.com; h=from : to : cc : subject : date : message-id : references : in-reply-to : content-type : content-transfer-encoding : mime-version; s=pfpt0818; bh=CE/R2dKV1AhXplfsSx0ws4Tp0FglnksFCGwPHymCEUY=; b=O2ueF2CPCKd1evXviKhiCpVQTib+Jkh156QpQsRCGUsh3G9wf0hBUTz5GC+05MoQfOMK MdX29eu9lzpvlnUbCI6n50JsfTbf06pzBuEw3sICEareoA6dvPK6x60/qXONIx+Iu7JQ 0hHRm1qoAbLY8kikZhp2pMPaaghwNK8slLYOVF9LvG0uQy28/NtfCn8/UVM+moBtBKco u3E0hnSLS74ow51idomuRc2I+8He9YnOwzRHuJR1xlgcH2BpmyAkfrbtvXcth3ZD6uri N7QG1RbeE40ZRGTKYwf9JwWD9PQaJRABMRaR8LT2v88EHg740Pyp9e0J9Nomi09cLYjz /w== Received: from sc-exch01.marvell.com ([199.233.58.181]) by mx0a-0016f401.pphosted.com with ESMTP id 2u0kyq0a8k-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-SHA384 bits=256 verify=NOT); Mon, 29 Jul 2019 06:33:19 -0700 Received: from SC-EXCH02.marvell.com (10.93.176.82) by SC-EXCH01.marvell.com (10.93.176.81) with Microsoft SMTP Server (TLS) id 15.0.1367.3; Mon, 29 Jul 2019 06:33:18 -0700 Received: from NAM02-SN1-obe.outbound.protection.outlook.com (104.47.36.54) by SC-EXCH02.marvell.com (10.93.176.82) with Microsoft SMTP Server (TLS) id 15.0.1367.3 via Frontend Transport; Mon, 29 Jul 2019 06:33:18 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=UjAaZ2sQ4hKA88HIh71/7Jz0H82C+lnFnzDAFRTHIUhrJhPehAP/q9kB7+vyj+SgABuq3FkDM9Uu0pE8T90jwURkVrg5ZNBJ5OYUwG2ZmqkZ2HOK4WEjtHSEM6sMLS4W98wQkBiga/9Te+Ekc90vLTWoWPFvVw+b3YXcDLvNf/MVLUOVVj9p35hLYYGRplSwREEKgw33iPPf3VhSRm9kjY6XhoN1R86zh0174Y20e+zQTIc5meVwc7yu7fMQgvVeRWxaq8xUB88tEZvgIptJhktHGBWK+3v6FCN7MK2d77h+5e28HZyJkNFfGtlCB3TOP4E7aIDCLc/MuAIiAQXR/g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=CE/R2dKV1AhXplfsSx0ws4Tp0FglnksFCGwPHymCEUY=; b=kHfsAZCUAEOR7SedBDWLL3k839xn4FBhBve/qKbalxGDdsMOl1GUBFUDH/5ugBtoEoT/qmef0fx2noZ0LQQqPG0zVjRuXnUQBGV9z8hPTGEQiV2R/Uz64tMUT2LUsurMGi36D3iGS74CPA2E9j9ooG3acZiiSqqXhg5Yx9y6Z9pJbDGbsupopx5pjccS3gZGbeSwuVsAzL3C9PGdmD0yKIRpc+WeaCi2/k7geNgJS/akIyY0+JD1hqsTDPM4nbOoF3aIjV/QAG35ZgSpNZpbuewrxspYqzE2so6NHAiMUfsLPcVPM3fE06AS46ZeLhhifCSGGlqNdV97RN+YzNZLWA== ARC-Authentication-Results: i=1; mx.microsoft.com 1;spf=pass smtp.mailfrom=marvell.com;dmarc=pass action=none header.from=marvell.com;dkim=pass header.d=marvell.com;arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=marvell.onmicrosoft.com; s=selector2-marvell-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=CE/R2dKV1AhXplfsSx0ws4Tp0FglnksFCGwPHymCEUY=; b=WvO1Jw33h4OeJoEzy6t8MfMQhF2Rn4ktl9HD5SI7LZAp9C0B6Mgmndchzt59odB1SFzX3DL1vS/8F+yjLNF38Cx8d1yZQEOJOeMmvbNHKR7W4vekfMja95MmqjbcOWJe4EMVNWqMWQCcTkA02Z2ilCT+jzvjq2WZnq3Xe4MgWss= Received: from CH2PR18MB3381.namprd18.prod.outlook.com (52.132.246.204) by CH2PR18MB3126.namprd18.prod.outlook.com (52.132.245.92) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2115.13; Mon, 29 Jul 2019 13:33:13 +0000 Received: from CH2PR18MB3381.namprd18.prod.outlook.com ([fe80::189c:3889:b207:8922]) by CH2PR18MB3381.namprd18.prod.outlook.com ([fe80::189c:3889:b207:8922%5]) with mapi id 15.20.2115.005; Mon, 29 Jul 2019 13:33:13 +0000 From: Vamsi Krishna Attunuru To: Andrew Rybchenko CC: "thomas@monjalon.net" , Jerin Jacob Kollanukkaran , "olivier.matz@6wind.com" , "ferruh.yigit@intel.com" , "anatoly.burakov@intel.com" , "Kiran Kumar Kokkilagadda" , "dev@dpdk.org" Thread-Topic: [EXT] Re: [dpdk-dev] [PATCH v9 1/5] mempool: populate mempool with the page sized chunks of memory Thread-Index: AQHVRgcMCT7r5Ap9uUWl4NGNnMXLmabhiesAgAANXTA= Date: Mon, 29 Jul 2019 13:33:12 +0000 Message-ID: References: <20190723053821.30227-1-vattunuru@marvell.com> <20190729121313.30639-1-vattunuru@marvell.com> <20190729121313.30639-2-vattunuru@marvell.com> <6d61077c-ff43-eab5-5907-fadf1d9b444b@solarflare.com> In-Reply-To: <6d61077c-ff43-eab5-5907-fadf1d9b444b@solarflare.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [103.227.98.232] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 0740f66d-59c3-41de-e06f-08d714294e21 x-microsoft-antispam: BCL:0; PCL:0; RULEID:(2390118)(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600148)(711020)(4605104)(1401327)(2017052603328)(7193020); SRVR:CH2PR18MB3126; x-ms-traffictypediagnostic: CH2PR18MB3126: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:8882; x-forefront-prvs: 01136D2D90 x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(4636009)(376002)(39850400004)(366004)(346002)(396003)(136003)(199004)(189003)(13464003)(6916009)(3846002)(446003)(6436002)(8676002)(26005)(6116002)(11346002)(486006)(86362001)(14444005)(476003)(186003)(68736007)(25786009)(229853002)(6246003)(81166006)(81156014)(8936002)(53936002)(256004)(4326008)(71190400001)(71200400001)(305945005)(76176011)(76116006)(99286004)(14454004)(7696005)(9686003)(66946007)(74316002)(54906003)(55016002)(66476007)(33656002)(102836004)(2906002)(66066001)(5660300002)(316002)(6506007)(478600001)(53546011)(7736002)(64756008)(66446008)(66556008)(52536014); DIR:OUT; SFP:1101; SCL:1; SRVR:CH2PR18MB3126; H:CH2PR18MB3381.namprd18.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX:1; received-spf: None (protection.outlook.com: marvell.com does not designate permitted sender hosts) x-ms-exchange-senderadcheck: 1 x-microsoft-antispam-message-info: UBK7rSlW6cVRENsx8ubH5kk+aM5i9tCPqwiN10wk3Xf6oLzu2o+nuja4DHatVDPElbcUA7lm6+TP9UvmoL7I+Qv3I0590wzDKojNC0FU/VsdJ2dW+HVtKllhGzpWGh6ogV8V+c6+SqgEEUpVbzAQcy4LmeVNm64ibB+OmXuLwKtrHemz6V7NDBJvWg+7lnXgggZNdNOPEc0pdADBp/18h6RReWaG/S2ko2oayuW2ZTERxTP+KHiwSzQKEjG/Q5IvL+9yMA1e4V5azO6J96IL6UXlZ4h+xYdCu167bl9cD3pISoEBntPzxCK66LTY3QS7iSrOqWAqY1FPq6aSk9GvMoPylTYm/vD9cSDQKoVWCc5pTV3c2+oS/Ss4/wDQ8u4ZXG6mYQO8P9xh0TADmvzOKHLTkWzWSylpjQO4uzv2Abs= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-CrossTenant-Network-Message-Id: 0740f66d-59c3-41de-e06f-08d714294e21 X-MS-Exchange-CrossTenant-originalarrivaltime: 29 Jul 2019 13:33:13.1353 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 70e1fb47-1155-421d-87fc-2e58f638b6e0 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: vattunuru@marvell.com X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH2PR18MB3126 X-OriginatorOrg: marvell.com X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:5.22.84,1.0.8 definitions=2019-07-29_07:2019-07-29,2019-07-29 signatures=0 Subject: Re: [dpdk-dev] [EXT] Re: [PATCH v9 1/5] mempool: populate mempool with the page sized chunks of memory 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" DQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogQW5kcmV3IFJ5YmNoZW5r byA8YXJ5YmNoZW5rb0Bzb2xhcmZsYXJlLmNvbT4NCj4gU2VudDogTW9uZGF5LCBKdWx5IDI5LCAy MDE5IDY6MTIgUE0NCj4gVG86IFZhbXNpIEtyaXNobmEgQXR0dW51cnUgPHZhdHR1bnVydUBtYXJ2 ZWxsLmNvbT47IGRldkBkcGRrLm9yZw0KPiBDYzogdGhvbWFzQG1vbmphbG9uLm5ldDsgSmVyaW4g SmFjb2IgS29sbGFudWtrYXJhbiA8amVyaW5qQG1hcnZlbGwuY29tPjsNCj4gb2xpdmllci5tYXR6 QDZ3aW5kLmNvbTsgZmVycnVoLnlpZ2l0QGludGVsLmNvbTsNCj4gYW5hdG9seS5idXJha292QGlu dGVsLmNvbTsgS2lyYW4gS3VtYXIgS29ra2lsYWdhZGRhDQo+IDxraXJhbmt1bWFya0BtYXJ2ZWxs LmNvbT4NCj4gU3ViamVjdDogW0VYVF0gUmU6IFtkcGRrLWRldl0gW1BBVENIIHY5IDEvNV0gbWVt cG9vbDogcG9wdWxhdGUgbWVtcG9vbA0KPiB3aXRoIHRoZSBwYWdlIHNpemVkIGNodW5rcyBvZiBt ZW1vcnkNCj4gDQo+IEV4dGVybmFsIEVtYWlsDQo+IA0KPiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQo+IE9uIDcv MjkvMTkgMzoxMyBQTSwgdmF0dHVudXJ1QG1hcnZlbGwuY29tIHdyb3RlOg0KPiA+IEZyb206IFZh bXNpIEF0dHVudXJ1IDx2YXR0dW51cnVAbWFydmVsbC5jb20+DQo+ID4NCj4gPiBQYXRjaCBhZGRz IGEgcm91dGluZSB0byBwb3B1bGF0ZSBtZW1wb29sIGZyb20gcGFnZSBhbGlnbmVkIGFuZCBwYWdl DQo+ID4gc2l6ZWQgY2h1bmtzIG9mIG1lbW9yeSB0byBlbnN1cmUgbWVtb3J5IG9ianMgZG8gbm90 IGZhbGwgYWNyb3NzIHRoZQ0KPiA+IHBhZ2UgYm91bmRhcmllcy4gSXQncyB1c2VmdWwgZm9yIGFw cGxpY2F0aW9ucyB0aGF0IHJlcXVpcmUgcGh5c2ljYWxseQ0KPiA+IGNvbnRpZ3VvdXMgbWJ1ZiBt ZW1vcnkgd2hpbGUgcnVubmluZyBpbiBJT1ZBPVZBIG1vZGUuDQo+ID4NCj4gPiBTaWduZWQtb2Zm LWJ5OiBWYW1zaSBBdHR1bnVydSA8dmF0dHVudXJ1QG1hcnZlbGwuY29tPg0KPiA+IFNpZ25lZC1v ZmYtYnk6IEtpcmFuIEt1bWFyIEsgPGtpcmFua3VtYXJrQG1hcnZlbGwuY29tPg0KPiANCj4gV2hl biB0d28gYmVsb3cgaXNzdWVzIGZpeGVkOg0KPiBBY2tlZC1ieTogQW5kcmV3IFJ5YmNoZW5rbyA8 YXJ5YmNoZW5rb0Bzb2xhcmZsYXJlLmNvbT4NCj4gDQo+IEFzIEkgdW5kZXJzdGFuZCBpdCBpcyBs aWtlbHkgdG8gYmUgYSB0ZW1wb3Jhcnkgc29sdXRpb24gdW50aWwgdGhlIHByb2JsZW0gaXMNCj4g Zml4ZWQgaW4gYSBnZW5lcmljIHdheS4NCj4gDQo+ID4gLS0tDQo+ID4gICBsaWIvbGlicnRlX21l bXBvb2wvcnRlX21lbXBvb2wuYyAgICAgICAgICAgfCA2NA0KPiArKysrKysrKysrKysrKysrKysr KysrKysrKysrKysNCj4gPiAgIGxpYi9saWJydGVfbWVtcG9vbC9ydGVfbWVtcG9vbC5oICAgICAg ICAgICB8IDE3ICsrKysrKysrDQo+ID4gICBsaWIvbGlicnRlX21lbXBvb2wvcnRlX21lbXBvb2xf dmVyc2lvbi5tYXAgfCAgMSArDQo+ID4gICAzIGZpbGVzIGNoYW5nZWQsIDgyIGluc2VydGlvbnMo KykNCj4gPg0KPiA+IGRpZmYgLS1naXQgYS9saWIvbGlicnRlX21lbXBvb2wvcnRlX21lbXBvb2wu Yw0KPiA+IGIvbGliL2xpYnJ0ZV9tZW1wb29sL3J0ZV9tZW1wb29sLmMNCj4gPiBpbmRleCA3MjYw Y2UwLi4wMDYxOWJkIDEwMDY0NA0KPiA+IC0tLSBhL2xpYi9saWJydGVfbWVtcG9vbC9ydGVfbWVt cG9vbC5jDQo+ID4gKysrIGIvbGliL2xpYnJ0ZV9tZW1wb29sL3J0ZV9tZW1wb29sLmMNCj4gPiBA QCAtNDE0LDYgKzQxNCw3MCBAQCBydGVfbWVtcG9vbF9wb3B1bGF0ZV92aXJ0KHN0cnVjdCBydGVf bWVtcG9vbA0KPiAqbXAsIGNoYXIgKmFkZHIsDQo+ID4gICAJcmV0dXJuIHJldDsNCj4gPiAgIH0N Cj4gPg0KPiA+ICsvKiBGdW5jdGlvbiB0byBwb3B1bGF0ZSBtZW1wb29sIGZyb20gcGFnZSBzaXpl ZCBtZW0gY2h1bmtzLCBhbGxvY2F0ZQ0KPiA+ICtwYWdlIHNpemUNCj4gPiArICogb2YgbWVtb3J5 IGluIG1lbXpvbmUgYW5kIHBvcHVsYXRlIHRoZW0uIFJldHVybiB0aGUgbnVtYmVyIG9mDQo+ID4g K29iamVjdHMgYWRkZWQsDQo+ID4gKyAqIG9yIGEgbmVnYXRpdmUgdmFsdWUgb24gZXJyb3IuDQo+ ID4gKyAqLw0KPiA+ICtpbnQNCj4gPiArcnRlX21lbXBvb2xfcG9wdWxhdGVfZnJvbV9wZ19zel9j aHVua3Moc3RydWN0IHJ0ZV9tZW1wb29sICptcCkgew0KPiA+ICsJY2hhciBtel9uYW1lW1JURV9N RU1aT05FX05BTUVTSVpFXTsNCj4gPiArCXNpemVfdCBhbGlnbiwgcGdfc3osIHBnX3NoaWZ0Ow0K PiA+ICsJY29uc3Qgc3RydWN0IHJ0ZV9tZW16b25lICptejsNCj4gPiArCXVuc2lnbmVkIGludCBt el9pZCwgbjsNCj4gPiArCXNpemVfdCBtaW5fY2h1bmtfc2l6ZTsNCj4gPiArCWludCByZXQ7DQo+ ID4gKw0KPiA+ICsJcmV0ID0gbWVtcG9vbF9vcHNfYWxsb2Nfb25jZShtcCk7DQo+ID4gKwlpZiAo cmV0ICE9IDApDQo+ID4gKwkJcmV0dXJuIHJldDsNCj4gPiArDQo+ID4gKwlpZiAobXAtPm5iX21l bV9jaHVua3MgIT0gMCkNCj4gPiArCQlyZXR1cm4gLUVFWElTVDsNCj4gPiArDQo+ID4gKwlwZ19z eiA9IGdldF9taW5fcGFnZV9zaXplKG1wLT5zb2NrZXRfaWQpOw0KPiA+ICsJcGdfc2hpZnQgPSBy dGVfYnNmMzIocGdfc3opOw0KPiA+ICsNCj4gPiArCWZvciAobXpfaWQgPSAwLCBuID0gbXAtPnNp emU7IG4gPiAwOyBtel9pZCsrLCBuIC09IHJldCkgew0KPiA+ICsNCj4gPiArCQlyZXQgPSBydGVf bWVtcG9vbF9vcHNfY2FsY19tZW1fc2l6ZShtcCwgbiwNCj4gPiArCQkJCXBnX3NoaWZ0LCAmbWlu X2NodW5rX3NpemUsICZhbGlnbik7DQo+ID4gKw0KPiA+ICsJCWlmIChyZXQgPCAwIHx8IG1pbl9j aHVua19zaXplID4gcGdfc3opDQo+IA0KPiBJZiBtaW5fY2h1bmtfc2l6ZSBpcyBncmVhdGVyIHRo YW4gcGdfc3osIHJldCBpcyAwIGFuZCBmdW5jdGlvbiByZXR1cm5zIHN1Y2Nlc3MuDQoNCkFjaywg d2lsbCBmaXggaXQgaW4gbmV4dCB2ZXJzaW9uLg0KDQo+IA0KPiA+ICsJCQlnb3RvIGZhaWw7DQo+ ID4gKw0KPiA+ICsJCXJldCA9IHNucHJpbnRmKG16X25hbWUsIHNpemVvZihtel9uYW1lKSwNCj4g PiArCQkJUlRFX01FTVBPT0xfTVpfRk9STUFUICJfJWQiLCBtcC0+bmFtZSwNCj4gbXpfaWQpOw0K PiA+ICsJCWlmIChyZXQgPCAwIHx8IHJldCA+PSAoaW50KXNpemVvZihtel9uYW1lKSkgew0KPiA+ ICsJCQlyZXQgPSAtRU5BTUVUT09MT05HOw0KPiA+ICsJCQlnb3RvIGZhaWw7DQo+ID4gKwkJfQ0K PiA+ICsNCj4gPiArCQlteiA9IHJ0ZV9tZW16b25lX3Jlc2VydmVfYWxpZ25lZChtel9uYW1lLA0K PiBtaW5fY2h1bmtfc2l6ZSwNCj4gPiArCQkJCW1wLT5zb2NrZXRfaWQsIDAsIGFsaWduKTsNCj4g PiArDQo+ID4gKwkJaWYgKG16ID09IE5VTEwpIHsNCj4gPiArCQkJcmV0ID0gLXJ0ZV9lcnJubzsN Cj4gPiArCQkJZ290byBmYWlsOw0KPiA+ICsJCX0NCj4gPiArDQo+ID4gKwkJcmV0ID0gcnRlX21l bXBvb2xfcG9wdWxhdGVfaW92YShtcCwgbXotPmFkZHIsDQo+ID4gKwkJCQltei0+aW92YSwgbXot PmxlbiwNCj4gPiArCQkJCXJ0ZV9tZW1wb29sX21lbWNodW5rX216X2ZyZWUsDQo+ID4gKwkJCQko dm9pZCAqKSh1aW50cHRyX3QpbXopOw0KPiA+ICsJCWlmIChyZXQgPCAwKSB7DQo+ID4gKwkJCXJ0 ZV9tZW16b25lX2ZyZWUobXopOw0KPiA+ICsJCQlnb3RvIGZhaWw7DQo+ID4gKwkJfQ0KPiA+ICsJ fQ0KPiA+ICsNCj4gPiArCXJldHVybiBtcC0+c2l6ZTsNCj4gPiArDQo+ID4gK2ZhaWw6DQo+ID4g KwlydGVfbWVtcG9vbF9mcmVlX21lbWNodW5rcyhtcCk7DQo+ID4gKwlyZXR1cm4gcmV0Ow0KPiA+ ICt9DQo+ID4gKw0KPiA+ICAgLyogRGVmYXVsdCBmdW5jdGlvbiB0byBwb3B1bGF0ZSB0aGUgbWVt cG9vbDogYWxsb2NhdGUgbWVtb3J5IGluDQo+IG1lbXpvbmVzLA0KPiA+ICAgICogYW5kIHBvcHVs YXRlIHRoZW0uIFJldHVybiB0aGUgbnVtYmVyIG9mIG9iamVjdHMgYWRkZWQsIG9yIGEgbmVnYXRp dmUNCj4gPiAgICAqIHZhbHVlIG9uIGVycm9yLg0KPiA+IGRpZmYgLS1naXQgYS9saWIvbGlicnRl X21lbXBvb2wvcnRlX21lbXBvb2wuaA0KPiA+IGIvbGliL2xpYnJ0ZV9tZW1wb29sL3J0ZV9tZW1w b29sLmgNCj4gPiBpbmRleCA4MDUzZjdhLi4zMDQ2ZTRmIDEwMDY0NA0KPiA+IC0tLSBhL2xpYi9s aWJydGVfbWVtcG9vbC9ydGVfbWVtcG9vbC5oDQo+ID4gKysrIGIvbGliL2xpYnJ0ZV9tZW1wb29s L3J0ZV9tZW1wb29sLmgNCj4gPiBAQCAtMTA2Miw2ICsxMDYyLDIzIEBAIHJ0ZV9tZW1wb29sX3Bv cHVsYXRlX3ZpcnQoc3RydWN0DQo+IHJ0ZV9tZW1wb29sICptcCwgY2hhciAqYWRkciwNCj4gPiAg IAl2b2lkICpvcGFxdWUpOw0KPiA+DQo+ID4gICAvKioNCj4gDQo+ICDCoCogQHdhcm5pbmcNCj4g IMKgKiBAYiBFWFBFUklNRU5UQUw6IHRoaXMgQVBJIG1heSBjaGFuZ2Ugd2l0aG91dCBwcmlvciBu b3RpY2UuDQo+IA0KPiBpcyBtaXNzaW5nDQoNCkFjaw0KDQo+IA0KPiA+ICsgKiBBZGQgbWVtb3J5 IGZyb20gcGFnZSBzaXplZCBtZW16b25lcyBmb3Igb2JqZWN0cyBpbiB0aGUgcG9vbCBhdA0KPiA+ ICtpbml0DQo+ID4gKyAqDQo+ID4gKyAqIFRoaXMgaXMgdGhlIGZ1bmN0aW9uIHVzZWQgdG8gcG9w dWxhdGUgdGhlIG1lbXBvb2wgd2l0aCBwYWdlDQo+ID4gK2FsaWduZWQgYW5kDQo+ID4gKyAqIHBh Z2Ugc2l6ZWQgbWVtem9uZSBtZW1vcnkgdG8gYXZvaWQgc3ByZWFkaW5nIG9iamVjdCBtZW1vcnkg YWNyb3NzDQo+ID4gK3R3byBwYWdlcw0KPiA+ICsgKiBhbmQgdG8gZW5zdXJlIGFsbCBtZW1wb29s IG9iamVjdHMgcmVzaWRlIG9uIHRoZSBwYWdlIG1lbW9yeS4NCj4gPiArICoNCj4gPiArICogQHBh cmFtIG1wDQo+ID4gKyAqICAgQSBwb2ludGVyIHRvIHRoZSBtZW1wb29sIHN0cnVjdHVyZS4NCj4g PiArICogQHJldHVybg0KPiA+ICsgKiAgIFRoZSBudW1iZXIgb2Ygb2JqZWN0cyBhZGRlZCBvbiBz dWNjZXNzLg0KPiA+ICsgKiAgIE9uIGVycm9yLCB0aGUgY2h1bmsgaXMgbm90IGFkZGVkIGluIHRo ZSBtZW1vcnkgbGlzdCBvZiB0aGUNCj4gPiArICogICBtZW1wb29sIGFuZCBhIG5lZ2F0aXZlIGVy cm5vIGlzIHJldHVybmVkLg0KPiA+ICsgKi8NCj4gPiArX19ydGVfZXhwZXJpbWVudGFsDQo+ID4g K2ludCBydGVfbWVtcG9vbF9wb3B1bGF0ZV9mcm9tX3BnX3N6X2NodW5rcyhzdHJ1Y3QgcnRlX21l bXBvb2wNCj4gKm1wKTsNCj4gPiArDQo+ID4gKy8qKg0KPiA+ICAgICogQWRkIG1lbW9yeSBmb3Ig b2JqZWN0cyBpbiB0aGUgcG9vbCBhdCBpbml0DQo+ID4gICAgKg0KPiA+ICAgICogVGhpcyBpcyB0 aGUgZGVmYXVsdCBmdW5jdGlvbiB1c2VkIGJ5IHJ0ZV9tZW1wb29sX2NyZWF0ZSgpIHRvDQo+ID4g cG9wdWxhdGUgZGlmZiAtLWdpdCBhL2xpYi9saWJydGVfbWVtcG9vbC9ydGVfbWVtcG9vbF92ZXJz aW9uLm1hcA0KPiA+IGIvbGliL2xpYnJ0ZV9tZW1wb29sL3J0ZV9tZW1wb29sX3ZlcnNpb24ubWFw DQo+ID4gaW5kZXggMTdjYmNhNC4uOWE2ZmU2NSAxMDA2NDQNCj4gPiAtLS0gYS9saWIvbGlicnRl X21lbXBvb2wvcnRlX21lbXBvb2xfdmVyc2lvbi5tYXANCj4gPiArKysgYi9saWIvbGlicnRlX21l bXBvb2wvcnRlX21lbXBvb2xfdmVyc2lvbi5tYXANCj4gPiBAQCAtNTcsNCArNTcsNSBAQCBFWFBF UklNRU5UQUwgew0KPiA+ICAgCWdsb2JhbDoNCj4gPg0KPiA+ICAgCXJ0ZV9tZW1wb29sX29wc19n ZXRfaW5mbzsNCj4gPiArCXJ0ZV9tZW1wb29sX3BvcHVsYXRlX2Zyb21fcGdfc3pfY2h1bmtzOw0K PiA+ICAgfTsNCg0K