From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mx0b-0016f401.pphosted.com (mx0b-0016f401.pphosted.com [67.231.156.173]) by dpdk.org (Postfix) with ESMTP id 94D4A3576 for ; Fri, 1 Mar 2019 09:45:38 +0100 (CET) Received: from pps.filterd (m0045851.ppops.net [127.0.0.1]) by mx0b-0016f401.pphosted.com (8.16.0.27/8.16.0.27) with SMTP id x218jcRQ014638; Fri, 1 Mar 2019 00:45:38 -0800 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-id : content-transfer-encoding : mime-version; s=pfpt0818; bh=lMZJMb35Lzc0QSgpjrKuDmFOgRtnp4XHQt4HOH7M/o8=; b=rmx2vSa3nhLLYkq+LXUTgMAMpYpK3fZikzjjHyyUZRZ2AUetyIU6dwhApHSuzx+VngDS p4vCv1tHKzFUocV2q6k0oZgUvhm+OOOuYIA0UWDw3zJsi1HEoG7fORmAtHL7bfnDK48F IdMmHfA5+4RJ0xR1/7XkS2yrmuxacKVEyq/BnIMtViXeHjhRTErcZDExPMdGQwP0YBpP yKSmzkoinE0f3oZm00tH2BnOTdk/ToQB3H1kUAJX9mAZOp7zLIhXZ7VqFMxaY4v81Q18 BFqJf42rwzmFG8AW+RPz8iFzNMokB8yieDm+hQCo3RRsKx66xZgO9jKRSK9xRmYYZDwH PQ== Received: from sc-exch01.marvell.com ([199.233.58.181]) by mx0b-0016f401.pphosted.com with ESMTP id 2qxce632sp-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-SHA384 bits=256 verify=NOT); Fri, 01 Mar 2019 00:45:37 -0800 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; Fri, 1 Mar 2019 00:45:36 -0800 Received: from NAM01-BY2-obe.outbound.protection.outlook.com (104.47.34.57) by SC-EXCH02.marvell.com (10.93.176.82) with Microsoft SMTP Server (TLS) id 15.0.1367.3 via Frontend Transport; Fri, 1 Mar 2019 00:45:36 -0800 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=marvell.onmicrosoft.com; s=selector1-marvell-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=lMZJMb35Lzc0QSgpjrKuDmFOgRtnp4XHQt4HOH7M/o8=; b=X9Jg98iJYBI4dylNhWLmptzwsjABYuxk7/fZJ0bdQRTgVCFB0ezo+sVxeUMN0/r/KaFmcO+v8XL8r2NjKKwt56DY9xX7nBRTtpl6mk/Ejir8+K/fYocZTiiFSs4Bv3Vv829Kopym/IYXX2tfcXbZwthWVfDZJlUGJeZaxHCtff4= Received: from BN6PR1801MB1859.namprd18.prod.outlook.com (10.161.154.35) by BN6PR1801MB1939.namprd18.prod.outlook.com (10.161.157.15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1643.16; Fri, 1 Mar 2019 08:45:31 +0000 Received: from BN6PR1801MB1859.namprd18.prod.outlook.com ([10.161.154.35]) by BN6PR1801MB1859.namprd18.prod.outlook.com ([10.161.154.35]) with mapi id 15.20.1665.015; Fri, 1 Mar 2019 08:45:31 +0000 From: Pavan Nikhilesh Bhagavatula To: Jerin Jacob Kollanukkaran , "bernard.iremonger@intel.com" , "arybchenko@solarflare.com" , "wenzhuo.lu@intel.com" CC: "dev@dpdk.org" Thread-Topic: [EXT] Re: [dpdk-dev] [PATCH] app/testpmd: use mempool bulk get for txonly mode Thread-Index: AQHUz52tRP2hj/yT2UKL2QkX+00QgKX2ZE+AgAASsAA= Date: Fri, 1 Mar 2019 08:45:31 +0000 Message-ID: References: <20190228194128.14236-1-pbhagavatula@marvell.com> <46756fe9-ecc7-91eb-4c91-fea42f67a40c@solarflare.com> In-Reply-To: <46756fe9-ecc7-91eb-4c91-fea42f67a40c@solarflare.com> Accept-Language: en-IN, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [223.226.78.85] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 71156b28-4d63-4369-442a-08d69e22437c x-microsoft-antispam: BCL:0; PCL:0; RULEID:(2390118)(7020095)(4652040)(8989299)(4534185)(7168020)(4627221)(201703031133081)(201702281549075)(8990200)(5600127)(711020)(4605104)(2017052603328)(7153060)(7193020); SRVR:BN6PR1801MB1939; x-ms-traffictypediagnostic: BN6PR1801MB1939: x-microsoft-exchange-diagnostics: =?utf-8?B?MTtCTjZQUjE4MDFNQjE5Mzk7MjM6czFvQzBCWjgrUStYNE45ZFVWcUM4ZFNq?= =?utf-8?B?Y0NCTkdTTmoxbE51a3kxbTZlUXU4Y3lyWFZGOFlTUlJjRnFBSTFIamNXTHRX?= =?utf-8?B?bGpLTU1rakZxT1J4QU52VzBEYTVsTFd4YUQ0MWRldVE5TWtyMjUzWGZGdDdU?= =?utf-8?B?N3J3elkzdDZtR0lqUUdYaEkwdHZYM1k5YU9pcGRTSDFoeWxHYS9jWmRDRE1M?= =?utf-8?B?QXpUWXlMK1VhVnoyR1RxNWdpbWl6TkRMRVFzU1lmeTBoaUlzbld3YmZXdWJx?= =?utf-8?B?dk1KZ1VCenJvdHFqc1lEMnp5ZDdrK3dMWUFUWGpqVmsvYWJEQ3JNL25iVXlo?= =?utf-8?B?SWxDd2JWOXhvY1N0R0ZVSDVHQTcwanpnLzhiRGdkZDhmcHJXQU9udVFKMW1Z?= =?utf-8?B?RWIrSDFVWUJIQlY2czZMalNoL1g2S28vanEzZFFvZ1RiZWdjK2ptbjhoK2hP?= =?utf-8?B?TzRrdkl6RmxGTnREdXJiQ2RBY09zalJiVXhUMkZFQytjL2QwVURoV01nVDdC?= =?utf-8?B?RDJJOWlhcHoyUUQ2anFvMjVMUGV0RUx0V093TEs0WC9lT1pEa2hiekNFb2VF?= =?utf-8?B?RG0wVEhiNDNiWEMrTlpXd1dpR3ZjaUQySmVjRmt6VkRsbXpKSmRTOHNvTkZs?= =?utf-8?B?cEI1elo4eFdnckNZUDFaQnlidlkweHhsK09iT1dFNGJXZXgxMlJMeGJTd216?= =?utf-8?B?T3BCK0lIbTNvQzV2L0huSjh0cHphZzVkQkVVb2htdUJMcEIrVXhFc0JmYnhT?= =?utf-8?B?OElrckYzWjd0UUNnZkJ0cFZlaGlhSVdyZTBrckhRWmdNS1JuKzUvSnBqWWsy?= =?utf-8?B?ZmhvL0ZyTklzbFZWcmNpWUdDL0x4V20weldZdVJPSnNXMjRnNDVSdnhXamhY?= =?utf-8?B?K1hGTFBhWGZ4Z2tIT3pZNjRyQUYzM2NwaHg5RzUyNUpWQ015bW9Gb0QyQzk3?= =?utf-8?B?QVp5c25BQVFXbUpNaVRlSjFtejErdXVaU3hUek1RN1B4bVRjeWM0YVc5eCtR?= =?utf-8?B?eWRSa00xMGxQTURrcmIrUFJqKzlUTkJjNTRhSFlSMWs1aDlLdmtJMDZQUXpy?= =?utf-8?B?U29iOUtHWEgwd25POWxkWUVjVXcxY3VybkFDYzZaenRMOEVBTWVQeVhXZW0w?= =?utf-8?B?NTJMMWpUTzNmcTZFdC9QS1N5VTJkMFAyOUFldC9hSm0vNnMrNnBzbkpoeXdD?= =?utf-8?B?K1VVMWVoNEZOS2pmdnBwbUwvSDllMy83ZVQvQlVCamxWSHV2dmlmT29QelNU?= =?utf-8?B?cUtYYzRnV2JsK3FtRVV6d1NlKzh5eDhBZ3RQMi9OV1l6ODZpRkF6ZUFwcXdZ?= =?utf-8?B?M2J2cFRrRy9UUlJNVnkvQW1JRXZwUStCbzRGZUpDNGpDaVd2TkNKajRiK3Nt?= =?utf-8?B?Wk9HYVA0ZUUvdDBOWkJjUjdiRXdrNW1HUjZiOXMzWDRGVzZjRGFJZVhvNFln?= =?utf-8?B?cTRNbVJmUTRQbTJ0NjNHaHhMeHFyeGZ3QUlzWkxIKzNleWZkekV4VUJBTmg4?= =?utf-8?B?TTJnd2FxMHZ5a1VobVRmZGpxbVpUVm1XRGhTZ2duUlZCSXptRDI0UUpvUkhL?= =?utf-8?B?d1BHNlJETDlsOFZEaDhTcDhMdFAwc2x6SWE5MERScWFYSkx4NndvbkRuUTVG?= =?utf-8?B?WXVCQ284RzI1anRIeFZXS0FUNVZWanplNVM1cDhIeTlSL24xK3ZkdWxnTnQy?= =?utf-8?B?bFpDa25TVXNCc3BCQ3VHYmFaaVVYRVV0c3BJeDdKSkVzME93MklVU2FQTHVo?= =?utf-8?B?eC9qSjNWZFY0M1hObnNhRWI4SE9vcDhHcmdiTEtGdnFSUG5PQzhjNnVxZUZJ?= =?utf-8?B?dW5YZ2lld05vaExTVFZpQ0xpS3BFSnhIQmdzdDkyc1RMVW8wNncrZTUwRWp3?= =?utf-8?B?aWkrZjR3Z1JyM2MwU3ptQ1VLODF6NW5VbyttSnVEaTZFdHJWL0Y3ditjd25t?= =?utf-8?B?aldCeEI1L0hjVnc9PQ==?= x-microsoft-antispam-prvs: x-forefront-prvs: 09634B1196 x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(979002)(346002)(396003)(136003)(366004)(39860400002)(376002)(51914003)(189003)(199004)(6436002)(81166006)(6486002)(8936002)(118296001)(105586002)(7736002)(305945005)(71190400001)(71200400001)(229853002)(81156014)(8676002)(106356001)(36756003)(2501003)(68736007)(66066001)(2201001)(2906002)(76176011)(97736004)(3846002)(6116002)(6512007)(102836004)(53546011)(86362001)(6506007)(99286004)(26005)(77096007)(186003)(5660300002)(110136005)(55236004)(4326008)(14454004)(25786009)(478600001)(446003)(476003)(11346002)(256004)(14444005)(2616005)(6246003)(486006)(316002)(53936002)(969003)(989001)(999001)(1009001)(1019001); DIR:OUT; SFP:1101; SCL:1; SRVR:BN6PR1801MB1939; H:BN6PR1801MB1859.namprd18.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; MX:1; A: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: QKaIeyF9PS1p6rnyqwKELcpGrudOclg8Kj/GhtTqOJdQtvxMyxsXN9jeV1RU7cQkby/EqK1kpXuaXKwM/spf+pcBoTUfrwV0VmgAnLPe7JTxaZz+NFsFTuZEAZQchX0UR04mdj/Hf5bllzFQbzm7nN6S96uVLG6BiAnZkAJxlWqfJzp5tWjlH7Ldq/tMzIJbTDGU/c+eRpWEUBkd0pXpN2IPYEvHwqLMk5XzLLHuK0Xu/CTKSts7TEjV3peYAYf6tSAa6qLWv6e/FEXYivPJWQaegO0kpOxS7n9qdkeBKDuIIO9iB8GyW20T36inplpvYopbBGsvVFSv5Ddn11MgEipPZYfPpTXVXIkpKm+uDHpoiQenOCF5/SCzuK+9ypI6f01KtWDIPR2FT2RAosZLO3kco+NDdyEuQ09g6QHgRes= Content-Type: text/plain; charset="utf-8" Content-ID: <3E34AC4C17334B40B99AF506F2490A75@namprd18.prod.outlook.com> Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-CrossTenant-Network-Message-Id: 71156b28-4d63-4369-442a-08d69e22437c X-MS-Exchange-CrossTenant-originalarrivaltime: 01 Mar 2019 08:45:31.6837 (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-Transport-CrossTenantHeadersStamped: BN6PR1801MB1939 X-OriginatorOrg: marvell.com X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:, , definitions=2019-03-01_07:, , signatures=0 X-Proofpoint-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 malwarescore=0 suspectscore=0 phishscore=0 bulkscore=0 spamscore=0 clxscore=1011 lowpriorityscore=0 mlxscore=0 impostorscore=0 mlxlogscore=999 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1810050000 definitions=main-1903010062 Subject: Re: [dpdk-dev] [EXT] Re: [PATCH] app/testpmd: use mempool bulk get for txonly mode 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: Fri, 01 Mar 2019 08:45:38 -0000 T24gRnJpLCAyMDE5LTAzLTAxIGF0IDEwOjM4ICswMzAwLCBBbmRyZXcgUnliY2hlbmtvIHdyb3Rl Og0KPiBPbiAyLzI4LzE5IDEwOjQyIFBNLCBQYXZhbiBOaWtoaWxlc2ggQmhhZ2F2YXR1bGEgd3Jv dGU6DQo+ID4gRnJvbTogUGF2YW4gTmlraGlsZXNoIDxwYmhhZ2F2YXR1bGFAbWFydmVsbC5jb20+ DQo+ID4gDQo+ID4gVXNlIG1lbXBvb2wgYnVsayBnZXQgb3BzIHRvIGFsbG9jIGJ1cnN0IG9mIHBh Y2tldHMgYW5kIHByb2Nlc3MgdGhlbQ0KPiA+IGluc3RlYWQgb2YgY2FsbGluZyBwa3RhbGxvYyBm b3IgZXZlcnkgcGFja2V0Lg0KPiA+IA0KPiA+IFNpZ25lZC1vZmYtYnk6IFBhdmFuIE5pa2hpbGVz aCA8cGJoYWdhdmF0dWxhQG1hcnZlbGwuY29tPg0KPiA+IC0tLQ0KPiA+ICBhcHAvdGVzdC1wbWQv dHhvbmx5LmMgfCAxMzkgKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0NCj4g PiAtLS0tDQo+ID4gIDEgZmlsZSBjaGFuZ2VkLCA3MSBpbnNlcnRpb25zKCspLCA2OCBkZWxldGlv bnMoLSkNCj4gPiANCj4gPiBkaWZmIC0tZ2l0IGEvYXBwL3Rlc3QtcG1kL3R4b25seS5jIGIvYXBw L3Rlc3QtcG1kL3R4b25seS5jDQo+ID4gaW5kZXggMWYwOGI2ZWQzLi5lZWY4YjNhNDUgMTAwNjQ0 DQo+ID4gLS0tIGEvYXBwL3Rlc3QtcG1kL3R4b25seS5jDQo+ID4gKysrIGIvYXBwL3Rlc3QtcG1k L3R4b25seS5jDQo+ID4gQEAgLTE0Nyw2ICsxNDcsNjEgQEAgc2V0dXBfcGt0X3VkcF9pcF9oZWFk ZXJzKHN0cnVjdCBpcHY0X2hkcg0KPiA+ICppcF9oZHIsDQo+ID4gIAlpcF9oZHItPmhkcl9jaGVj a3N1bSA9ICh1aW50MTZfdCkgaXBfY2tzdW07DQo+ID4gIH0NCj4gPiAgDQo+ID4gK3N0YXRpYyBp bmxpbmUgYm9vbA0KPiA+ICtwa3RfYnVyc3RfcHJlcGFyZShzdHJ1Y3QgcnRlX21idWYgKnBrdCwg c3RydWN0IHJ0ZV9tZW1wb29sICptYnAsDQo+ID4gKwkJc3RydWN0IGV0aGVyX2hkciAqZXRoX2hk ciwgY29uc3QgdWludDE2X3Qgdmxhbl90Y2ksDQo+ID4gKwkJY29uc3QgdWludDE2X3Qgdmxhbl90 Y2lfb3V0ZXIsIGNvbnN0IHVpbnQ2NF90IG9sX2ZsYWdzKQ0KPiA+ICt7DQo+ID4gKwl1aW50MzJf dCBuYl9zZWdzLCBwa3RfbGVuID0gMDsNCj4gPiArCXN0cnVjdCBydGVfbWJ1ZiAqcGt0X3NlZzsN Cj4gPiArCXVpbnQ4X3QgaTsNCj4gPiArDQo+ID4gKwlpZiAodW5saWtlbHkodHhfcGt0X3NwbGl0 ID09IFRYX1BLVF9TUExJVF9STkQpKQ0KPiA+ICsJCW5iX3NlZ3MgPSByYW5kb20oKSAlIHR4X3Br dF9uYl9zZWdzICsgMTsNCj4gPiArCWVsc2UNCj4gPiArCQluYl9zZWdzID0gdHhfcGt0X25iX3Nl Z3M7DQo+ID4gKw0KPiA+ICsJcnRlX3BrdG1idWZfcmVzZXRfaGVhZHJvb20ocGt0KTsNCj4gPiAr CXBrdC0+ZGF0YV9sZW4gPSB0eF9wa3Rfc2VnX2xlbmd0aHNbMF07DQo+ID4gKwlwa3QtPm9sX2Zs YWdzID0gb2xfZmxhZ3M7DQo+ID4gKwlwa3QtPnZsYW5fdGNpID0gdmxhbl90Y2k7DQo+ID4gKwlw a3QtPnZsYW5fdGNpX291dGVyID0gdmxhbl90Y2lfb3V0ZXI7DQo+ID4gKwlwa3QtPmwyX2xlbiA9 IHNpemVvZihzdHJ1Y3QgZXRoZXJfaGRyKTsNCj4gPiArCXBrdC0+bDNfbGVuID0gc2l6ZW9mKHN0 cnVjdCBpcHY0X2hkcik7DQo+ID4gKw0KPiA+ICsJcGt0X3NlZyA9IHBrdDsNCj4gPiArCWZvciAo aSA9IDE7IGkgPCBuYl9zZWdzOyBpKyspIHsNCj4gPiArCQlwa3Rfc2VnLT5uZXh0ID0gcnRlX21i dWZfcmF3X2FsbG9jKG1icCk7DQo+ICANCj4gV2h5IGlzIGJ1bGsgYWxsb2NhdGlvbiBub3QgdXNl ZCBoZXJlPw0KDQpXaWxsIHVwZGF0ZSBpbiB2Mi4NCg0KPiANCj4gPiArCQlpZiAocGt0X3NlZy0+ bmV4dCA9PSBOVUxMKSB7DQo+ID4gKwkJCXBrdC0+bmJfc2VncyA9IGk7DQo+ID4gKwkJCXJ0ZV9w a3RtYnVmX2ZyZWUocGt0KTsNCj4gPiArCQkJcmV0dXJuIGZhbHNlOw0KPiA+ICsJCX0NCj4gPiAr CQlwa3Rfc2VnID0gcGt0X3NlZy0+bmV4dDsNCj4gPiArCQlwa3Rfc2VnLT5kYXRhX2xlbiA9IHR4 X3BrdF9zZWdfbGVuZ3Roc1tpXTsNCj4gPiArCQlwa3RfbGVuICs9IHBrdF9zZWctPmRhdGFfbGVu Ow0KPiA+ICsJfQ0KPiA+ICsJcGt0X3NlZy0+bmV4dCA9IE5VTEw7IC8qIExhc3Qgc2VnbWVudCBv ZiBwYWNrZXQuICovDQo+ID4gKwkvKg0KPiA+ICsJICogQ29weSBoZWFkZXJzIGluIGZpcnN0IHBh Y2tldCBzZWdtZW50KHMpLg0KPiA+ICsJICovDQo+ID4gKwljb3B5X2J1Zl90b19wa3QoZXRoX2hk ciwgc2l6ZW9mKGV0aF9oZHIpLCBwa3QsIDApOw0KPiA+ICsJY29weV9idWZfdG9fcGt0KCZwa3Rf aXBfaGRyLCBzaXplb2YocGt0X2lwX2hkciksIHBrdCwNCj4gPiArCQkJc2l6ZW9mKHN0cnVjdCBl dGhlcl9oZHIpKTsNCj4gPiArCWNvcHlfYnVmX3RvX3BrdCgmcGt0X3VkcF9oZHIsIHNpemVvZihw a3RfdWRwX2hkciksIHBrdCwNCj4gPiArCQkJc2l6ZW9mKHN0cnVjdCBldGhlcl9oZHIpICsNCj4g PiArCQkJc2l6ZW9mKHN0cnVjdCBpcHY0X2hkcikpOw0KPiA+ICsNCj4gPiArCS8qDQo+ID4gKwkg KiBDb21wbGV0ZSBmaXJzdCBtYnVmIG9mIHBhY2tldCBhbmQgYXBwZW5kIGl0IHRvIHRoZQ0KPiA+ ICsJICogYnVyc3Qgb2YgcGFja2V0cyB0byBiZSB0cmFuc21pdHRlZC4NCj4gPiArCSAqLw0KPiA+ ICsJcGt0LT5uYl9zZWdzID0gbmJfc2VnczsNCj4gPiArCXBrdC0+cGt0X2xlbiArPSBwa3RfbGVu Ow0KPiA+ICsNCj4gPiArCXJldHVybiB0cnVlOw0KPiA+ICt9DQo+ID4gKw0KPiA+ICAvKg0KPiA+ ICAgKiBUcmFuc21pdCBhIGJ1cnN0IG9mIG11bHRpLXNlZ21lbnRzIHBhY2tldHMuDQo+ID4gICAq Lw0KPiA+IEBAIC0xNTUsOCArMjEwLDYgQEAgcGt0X2J1cnN0X3RyYW5zbWl0KHN0cnVjdCBmd2Rf c3RyZWFtICpmcykNCj4gPiAgew0KPiA+ICAJc3RydWN0IHJ0ZV9tYnVmICpwa3RzX2J1cnN0W01B WF9QS1RfQlVSU1RdOw0KPiA+ICAJc3RydWN0IHJ0ZV9wb3J0ICp0eHA7DQo+ID4gLQlzdHJ1Y3Qg cnRlX21idWYgKnBrdDsNCj4gPiAtCXN0cnVjdCBydGVfbWJ1ZiAqcGt0X3NlZzsNCj4gPiAgCXN0 cnVjdCBydGVfbWVtcG9vbCAqbWJwOw0KPiA+ICAJc3RydWN0IGV0aGVyX2hkciBldGhfaGRyOw0K PiA+ICAJdWludDE2X3QgbmJfdHg7DQo+ID4gQEAgLTE2NCwxNCArMjE3LDEyIEBAIHBrdF9idXJz dF90cmFuc21pdChzdHJ1Y3QgZndkX3N0cmVhbSAqZnMpDQo+ID4gIAl1aW50MTZfdCB2bGFuX3Rj aSwgdmxhbl90Y2lfb3V0ZXI7DQo+ID4gIAl1aW50MzJfdCByZXRyeTsNCj4gPiAgCXVpbnQ2NF90 IG9sX2ZsYWdzID0gMDsNCj4gPiAtCXVpbnQ4X3QgIGk7DQo+ID4gIAl1aW50NjRfdCB0eF9vZmZs b2FkczsNCj4gPiAgI2lmZGVmIFJURV9URVNUX1BNRF9SRUNPUkRfQ09SRV9DWUNMRVMNCj4gPiAg CXVpbnQ2NF90IHN0YXJ0X3RzYzsNCj4gPiAgCXVpbnQ2NF90IGVuZF90c2M7DQo+ID4gIAl1aW50 NjRfdCBjb3JlX2N5Y2xlczsNCj4gPiAgI2VuZGlmDQo+ID4gLQl1aW50MzJfdCBuYl9zZWdzLCBw a3RfbGVuOw0KPiA+ICANCj4gPiAgI2lmZGVmIFJURV9URVNUX1BNRF9SRUNPUkRfQ09SRV9DWUNM RVMNCj4gPiAgCXN0YXJ0X3RzYyA9IHJ0ZV9yZHRzYygpOw0KPiA+IEBAIC0xODgsNzIgKzIzOSwy NCBAQCBwa3RfYnVyc3RfdHJhbnNtaXQoc3RydWN0IGZ3ZF9zdHJlYW0gKmZzKQ0KPiA+ICAJCW9s X2ZsYWdzIHw9IFBLVF9UWF9RSU5RX1BLVDsNCj4gPiAgCWlmICh0eF9vZmZsb2FkcyAmIERFVl9U WF9PRkZMT0FEX01BQ1NFQ19JTlNFUlQpDQo+ID4gIAkJb2xfZmxhZ3MgfD0gUEtUX1RYX01BQ1NF QzsNCj4gPiAtCWZvciAobmJfcGt0ID0gMDsgbmJfcGt0IDwgbmJfcGt0X3Blcl9idXJzdDsgbmJf cGt0KyspIHsNCj4gPiAtCQlwa3QgPSBydGVfbWJ1Zl9yYXdfYWxsb2MobWJwKTsNCj4gPiAtCQlp ZiAocGt0ID09IE5VTEwpIHsNCj4gPiAtCQlub21vcmVfbWJ1ZjoNCj4gPiAtCQkJaWYgKG5iX3Br dCA9PSAwKQ0KPiA+IC0JCQkJcmV0dXJuOw0KPiA+IC0JCQlicmVhazsNCj4gPiAtCQl9DQo+ID4g IA0KPiA+IC0JCS8qDQo+ID4gLQkJICogVXNpbmcgcmF3IGFsbG9jIGlzIGdvb2QgdG8gaW1wcm92 ZSBwZXJmb3JtYW5jZSwNCj4gPiAtCQkgKiBidXQgc29tZSBjb25zdW1lcnMgbWF5IHVzZSB0aGUg aGVhZHJvb20gYW5kIHNvDQo+ID4gLQkJICogZGVjcmVtZW50IGRhdGFfb2ZmLiBXZSBuZWVkIHRv IG1ha2Ugc3VyZSBpdCBpcw0KPiA+IC0JCSAqIHJlc2V0IHRvIGRlZmF1bHQgdmFsdWUuDQo+ID4g LQkJICovDQo+ID4gLQkJcnRlX3BrdG1idWZfcmVzZXRfaGVhZHJvb20ocGt0KTsNCj4gPiAtCQlw a3QtPmRhdGFfbGVuID0gdHhfcGt0X3NlZ19sZW5ndGhzWzBdOw0KPiA+IC0JCXBrdF9zZWcgPSBw a3Q7DQo+ID4gLQkJaWYgKHR4X3BrdF9zcGxpdCA9PSBUWF9QS1RfU1BMSVRfUk5EKQ0KPiA+IC0J CQluYl9zZWdzID0gcmFuZG9tKCkgJSB0eF9wa3RfbmJfc2VncyArIDE7DQo+ID4gLQkJZWxzZQ0K PiA+IC0JCQluYl9zZWdzID0gdHhfcGt0X25iX3NlZ3M7DQo+ID4gLQkJcGt0X2xlbiA9IHBrdC0+ ZGF0YV9sZW47DQo+ID4gLQkJZm9yIChpID0gMTsgaSA8IG5iX3NlZ3M7IGkrKykgew0KPiA+IC0J CQlwa3Rfc2VnLT5uZXh0ID0gcnRlX21idWZfcmF3X2FsbG9jKG1icCk7DQo+ID4gLQkJCWlmIChw a3Rfc2VnLT5uZXh0ID09IE5VTEwpIHsNCj4gPiAtCQkJCXBrdC0+bmJfc2VncyA9IGk7DQo+ID4g LQkJCQlydGVfcGt0bWJ1Zl9mcmVlKHBrdCk7DQo+ID4gLQkJCQlnb3RvIG5vbW9yZV9tYnVmOw0K PiA+IC0JCQl9DQo+ID4gLQkJCXBrdF9zZWcgPSBwa3Rfc2VnLT5uZXh0Ow0KPiA+IC0JCQlwa3Rf c2VnLT5kYXRhX2xlbiA9IHR4X3BrdF9zZWdfbGVuZ3Roc1tpXTsNCj4gPiAtCQkJcGt0X2xlbiAr PSBwa3Rfc2VnLT5kYXRhX2xlbjsNCj4gPiAtCQl9DQo+ID4gLQkJcGt0X3NlZy0+bmV4dCA9IE5V TEw7IC8qIExhc3Qgc2VnbWVudCBvZiBwYWNrZXQuICovDQo+ID4gLQ0KPiA+IC0JCS8qDQo+ID4g LQkJICogSW5pdGlhbGl6ZSBFdGhlcm5ldCBoZWFkZXIuDQo+ID4gLQkJICovDQo+ID4gLQkJZXRo ZXJfYWRkcl9jb3B5KCZwZWVyX2V0aF9hZGRyc1tmcy0NCj4gPiA+cGVlcl9hZGRyXSwmZXRoX2hk ci5kX2FkZHIpOw0KPiA+IC0JCWV0aGVyX2FkZHJfY29weSgmcG9ydHNbZnMtPnR4X3BvcnRdLmV0 aF9hZGRyLA0KPiA+ICZldGhfaGRyLnNfYWRkcik7DQo+ID4gLQkJZXRoX2hkci5ldGhlcl90eXBl ID0gcnRlX2NwdV90b19iZV8xNihFVEhFUl9UWVBFX0lQdjQpOw0KPiA+IC0NCj4gPiAtCQkvKg0K PiA+IC0JCSAqIENvcHkgaGVhZGVycyBpbiBmaXJzdCBwYWNrZXQgc2VnbWVudChzKS4NCj4gPiAt CQkgKi8NCj4gPiAtCQljb3B5X2J1Zl90b19wa3QoJmV0aF9oZHIsIHNpemVvZihldGhfaGRyKSwg cGt0LCAwKTsNCj4gPiAtCQljb3B5X2J1Zl90b19wa3QoJnBrdF9pcF9oZHIsIHNpemVvZihwa3Rf aXBfaGRyKSwgcGt0LA0KPiA+IC0JCQkJc2l6ZW9mKHN0cnVjdCBldGhlcl9oZHIpKTsNCj4gPiAt CQljb3B5X2J1Zl90b19wa3QoJnBrdF91ZHBfaGRyLCBzaXplb2YocGt0X3VkcF9oZHIpLCBwa3Qs DQo+ID4gLQkJCQlzaXplb2Yoc3RydWN0IGV0aGVyX2hkcikgKw0KPiA+IC0JCQkJc2l6ZW9mKHN0 cnVjdCBpcHY0X2hkcikpOw0KPiA+IC0NCj4gPiAtCQkvKg0KPiA+IC0JCSAqIENvbXBsZXRlIGZp cnN0IG1idWYgb2YgcGFja2V0IGFuZCBhcHBlbmQgaXQgdG8gdGhlDQo+ID4gLQkJICogYnVyc3Qg b2YgcGFja2V0cyB0byBiZSB0cmFuc21pdHRlZC4NCj4gPiAtCQkgKi8NCj4gPiAtCQlwa3QtPm5i X3NlZ3MgPSBuYl9zZWdzOw0KPiA+IC0JCXBrdC0+cGt0X2xlbiA9IHBrdF9sZW47DQo+ID4gLQkJ cGt0LT5vbF9mbGFncyA9IG9sX2ZsYWdzOw0KPiA+IC0JCXBrdC0+dmxhbl90Y2kgPSB2bGFuX3Rj aTsNCj4gPiAtCQlwa3QtPnZsYW5fdGNpX291dGVyID0gdmxhbl90Y2lfb3V0ZXI7DQo+ID4gLQkJ cGt0LT5sMl9sZW4gPSBzaXplb2Yoc3RydWN0IGV0aGVyX2hkcik7DQo+ID4gLQkJcGt0LT5sM19s ZW4gPSBzaXplb2Yoc3RydWN0IGlwdjRfaGRyKTsNCj4gPiAtCQlwa3RzX2J1cnN0W25iX3BrdF0g PSBwa3Q7DQo+ID4gKwkvKg0KPiA+ICsJICogSW5pdGlhbGl6ZSBFdGhlcm5ldCBoZWFkZXIuDQo+ ID4gKwkgKi8NCj4gPiArCWV0aGVyX2FkZHJfY29weSgmcGVlcl9ldGhfYWRkcnNbZnMtPnBlZXJf YWRkcl0sDQo+ID4gJmV0aF9oZHIuZF9hZGRyKTsNCj4gPiArCWV0aGVyX2FkZHJfY29weSgmcG9y dHNbZnMtPnR4X3BvcnRdLmV0aF9hZGRyLCAmZXRoX2hkci5zX2FkZHIpOw0KPiA+ICsJZXRoX2hk ci5ldGhlcl90eXBlID0gcnRlX2NwdV90b19iZV8xNihFVEhFUl9UWVBFX0lQdjQpOw0KPiA+ICsN Cj4gPiArCWlmIChydGVfbWVtcG9vbF9nZXRfYnVsayhtYnAsICh2b2lkICoqKXBrdHNfYnVyc3Qs DQo+ID4gbmJfcGt0X3Blcl9idXJzdCkpDQo+ID4gKwkJcmV0dXJuOw0KPiAgDQo+IEJlZm9yZSB0 aGUgcGF0Y2ggdGhlIGNvZGUgc3Vydml2ZWQgaW5zdWZmaWNpZW50IG9mIG1idWZzIGNvbmRpdGlv bg0KPiBhbmQNCj4gc2VudCBhcyBtdWNoIGFzIGl0IGNhbiBhbGxvY2F0ZS4gTm93IGl0IGlzIG5v dC4gSSBjYW4ndCBzYXkgZm9yIHN1cmUNCj4gaWYgdGhlDQo+IG5ldyBiZWhhdmlvdXIgaXMgYWNj ZXB0YWJsZSBvciBub3QgKEknZCBzYXkgbm8pLCBidXQgZXZlbiBpZiBpdCBpcw0KPiBhY2NlcHRh YmxlDQo+IGl0IHNob3VsZCBiZSBoaWdobGlnaHRlZCBpbiB0aGUgY2hhbmdlc2V0IGRlc2NyaXB0 aW9uLg0KPiANCg0KQWNrLg0KDQo+IFRha2luZyBzZWdtZW50cyBhbGxvY2F0aW9uIGludG8gYWNj b3VudCBtYXkgSSBzdWdnZXN0IHRvIGNvbnNpZGVyDQo+IGEgYml0IHNvcGhpc3RpY2F0ZWQgaW1w bGVtZW50YXRpb24gd2hpY2ggYWxsb2NhdGVzIHBhY2tldHMgaW4gYnVsa3MNCj4gd2l0aCBmYWxs YmFjayB0byBpbmRpdmlkdWFsIG1idWZzIGFsbG9jYXRpb24gYW5kIHVzYWdlIG9mIHRoZQ0KPiBt ZWNoYW5pc20NCj4gZm9yIGFsbCBzZWdtZW50cyAoaS5lLiBhbGxvY2F0ZSBidWxrLCB1c2UgaXQs IGFsbG9jYXRlIG5leHQsIHVzZSBpdCwNCj4gZXRjKS4NCg0KSSB0aGluayBzZWdtZW50IGFsbG9j YXRpb24gY2FuIGFsd2F5cyB1c2UgYnVsayBhcyBmYWlsdXJlIHNob3VsZCBhbHdheXMNCmZyZWUg dGhlIGVudGlyZSBwYWNrZXQgY2hhaW4uIA0KSSB3aWxsIHNlbmQgdjIgd2l0aCBmYWxsYmFjayB0 byBpbmRpdmlkdWFsIG1idWYgYWxsb2NzLiANCg0KPiANCj4gPiArDQo+ID4gKwlmb3IgKG5iX3Br dCA9IDA7IG5iX3BrdCA8IG5iX3BrdF9wZXJfYnVyc3Q7IG5iX3BrdCsrKSB7DQo+ID4gKwkJaWYg KHVubGlrZWx5KCFwa3RfYnVyc3RfcHJlcGFyZShwa3RzX2J1cnN0W25iX3BrdF0sDQo+ID4gbWJw LA0KPiA+ICsJCQkJJmV0aF9oZHIsIHZsYW5fdGNpLCB2bGFuX3RjaV9vdXRlciwNCj4gPiBvbF9m bGFncykpKQ0KPiA+ICsJCQlnb3RvIHR4X3BrdHM7DQo+ICANCj4gSWYgc2VnbWVudCBhbGxvY2F0 aW9uIGZhaWxzLCB3aG8gZnJlZXMgcmVtYWluaW5nIHBhY2tldHMgZnJvbSB0aGUNCj4gYnVsaz8N Cg0KTXkgYmFkLiBUaGFua3MgZm9yIHRoZSBoZWFkcyB1cC4NCg0KPiANCj4gPiAgCX0NCj4gPiAr dHhfcGt0czoNCj4gPiArDQo+ID4gIAluYl90eCA9IHJ0ZV9ldGhfdHhfYnVyc3QoZnMtPnR4X3Bv cnQsIGZzLT50eF9xdWV1ZSwgcGt0c19idXJzdCwNCj4gPiBuYl9wa3QpOw0KPiA+ICAJLyoNCj4g PiAgCSAqIFJldHJ5IGlmIG5lY2Vzc2FyeQ0KPiAgDQo=