From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <dev-bounces@dpdk.org>
Received: from dpdk.org (dpdk.org [92.243.14.124])
	by inbox.dpdk.org (Postfix) with ESMTP id 513CDA04DE;
	Fri, 23 Oct 2020 07:10:00 +0200 (CEST)
Received: from [92.243.14.124] (localhost [127.0.0.1])
	by dpdk.org (Postfix) with ESMTP id 211CC6A68;
	Fri, 23 Oct 2020 07:09:59 +0200 (CEST)
Received: from mga06.intel.com (mga06.intel.com [134.134.136.31])
 by dpdk.org (Postfix) with ESMTP id 923746968
 for <dev@dpdk.org>; Fri, 23 Oct 2020 07:09:57 +0200 (CEST)
IronPort-SDR: o9NLSWd6BJ00N4aisd6I6SJHvAMQGtFINymiyDA3WnmpP7IQgEbCHE9uDvk3NLP+AbNmFA/vIn
 NwbpLHN59kDA==
X-IronPort-AV: E=McAfee;i="6000,8403,9782"; a="229264247"
X-IronPort-AV: E=Sophos;i="5.77,407,1596524400"; d="scan'208";a="229264247"
X-Amp-Result: SKIPPED(no attachment in message)
X-Amp-File-Uploaded: False
Received: from fmsmga006.fm.intel.com ([10.253.24.20])
 by orsmga104.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 22 Oct 2020 22:09:55 -0700
IronPort-SDR: tlu83QAwi1Ay4orTZ149woGJi7ilNhOCErnFE1ut+2/87dkcj5FxV/6XfKc7UNuSJaBvB5eWF9
 lodwC2gd8qNA==
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="5.77,407,1596524400"; d="scan'208";a="523381780"
Received: from fmsmsx603.amr.corp.intel.com ([10.18.126.83])
 by fmsmga006.fm.intel.com with ESMTP; 22 Oct 2020 22:09:55 -0700
Received: from shsmsx606.ccr.corp.intel.com (10.109.6.216) by
 fmsmsx603.amr.corp.intel.com (10.18.126.83) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.1.1713.5; Thu, 22 Oct 2020 22:09:54 -0700
Received: from shsmsx606.ccr.corp.intel.com (10.109.6.216) by
 SHSMSX606.ccr.corp.intel.com (10.109.6.216) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.1.1713.5; Fri, 23 Oct 2020 13:09:52 +0800
Received: from shsmsx606.ccr.corp.intel.com ([10.109.6.216]) by
 SHSMSX606.ccr.corp.intel.com ([10.109.6.216]) with mapi id 15.01.1713.004;
 Fri, 23 Oct 2020 13:09:52 +0800
From: "Ling, WeiX" <weix.ling@intel.com>
To: "Guo, Jia" <jia.guo@intel.com>, "Wu, Jingjing" <jingjing.wu@intel.com>,
 "Zhang, Qi Z" <qi.z.zhang@intel.com>, "Xing, Beilei" <beilei.xing@intel.com>, 
 "Wang, Haiyue" <haiyue.wang@intel.com>, "Yang, Qiming"
 <qiming.yang@intel.com>
CC: "dev@dpdk.org" <dev@dpdk.org>, "Yigit, Ferruh" <ferruh.yigit@intel.com>,
 "mb@smartsharesystems.com" <mb@smartsharesystems.com>,
 "stephen@networkplumber.org" <stephen@networkplumber.org>, "barbette@kth.se"
 <barbette@kth.se>, "Feifei.wang2@arm.com" <Feifei.wang2@arm.com>,
 "Richardson, Bruce" <bruce.richardson@intel.com>, "Guo, Jia"
 <jia.guo@intel.com>, "Zhang, Helin" <helin.zhang@intel.com>
Thread-Topic: [dpdk-dev] [PATCH v5 5/5] net/iavf: fix vector rx burst for iavf
Thread-Index: AQHWo6I3tgE1dkamy0ixKocsP3xcjamkriMQ
Date: Fri, 23 Oct 2020 05:09:51 +0000
Message-ID: <6068c0af487348f79d1921582d4bd948@intel.com>
References: <20200827075452.1751-1-jia.guo@intel.com>
 <20201016094431.96889-1-jia.guo@intel.com>
 <20201016094431.96889-6-jia.guo@intel.com>
In-Reply-To: <20201016094431.96889-6-jia.guo@intel.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.239.127.36]
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
Subject: Re: [dpdk-dev] [PATCH v5 5/5] net/iavf: fix vector rx burst for iavf
X-BeenThere: dev@dpdk.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: DPDK patches and discussions <dev.dpdk.org>
List-Unsubscribe: <https://mails.dpdk.org/options/dev>,
 <mailto:dev-request@dpdk.org?subject=unsubscribe>
List-Archive: <http://mails.dpdk.org/archives/dev/>
List-Post: <mailto:dev@dpdk.org>
List-Help: <mailto:dev-request@dpdk.org?subject=help>
List-Subscribe: <https://mails.dpdk.org/listinfo/dev>,
 <mailto:dev-request@dpdk.org?subject=subscribe>
Errors-To: dev-bounces@dpdk.org
Sender: "dev" <dev-bounces@dpdk.org>

VGVzdGVkLWJ5OiBMaW5nLCBXZWkgPHdlaXgubGluZ0BpbnRlbC5jb20+DQoNClJlZ2FyZHMsDQpM
aW5nIFdlaQ0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IGRldiA8ZGV2
LWJvdW5jZXNAZHBkay5vcmc+IE9uIEJlaGFsZiBPZiBKZWZmIEd1bw0KPiBTZW50OiBGcmlkYXks
IE9jdG9iZXIgMTYsIDIwMjAgMDU6NDUgUE0NCj4gVG86IFd1LCBKaW5namluZyA8amluZ2ppbmcu
d3VAaW50ZWwuY29tPjsgWmhhbmcsIFFpIFoNCj4gPHFpLnouemhhbmdAaW50ZWwuY29tPjsgWGlu
ZywgQmVpbGVpIDxiZWlsZWkueGluZ0BpbnRlbC5jb20+OyBXYW5nLCBIYWl5dWUNCj4gPGhhaXl1
ZS53YW5nQGludGVsLmNvbT47IFlhbmcsIFFpbWluZyA8cWltaW5nLnlhbmdAaW50ZWwuY29tPg0K
PiBDYzogZGV2QGRwZGsub3JnOyBZaWdpdCwgRmVycnVoIDxmZXJydWgueWlnaXRAaW50ZWwuY29t
PjsNCj4gbWJAc21hcnRzaGFyZXN5c3RlbXMuY29tOyBzdGVwaGVuQG5ldHdvcmtwbHVtYmVyLm9y
ZzsNCj4gYmFyYmV0dGVAa3RoLnNlOyBGZWlmZWkud2FuZzJAYXJtLmNvbTsgUmljaGFyZHNvbiwg
QnJ1Y2UNCj4gPGJydWNlLnJpY2hhcmRzb25AaW50ZWwuY29tPjsgR3VvLCBKaWEgPGppYS5ndW9A
aW50ZWwuY29tPjsgWmhhbmcsIEhlbGluDQo+IDxoZWxpbi56aGFuZ0BpbnRlbC5jb20+DQo+IFN1
YmplY3Q6IFtkcGRrLWRldl0gW1BBVENIIHY1IDUvNV0gbmV0L2lhdmY6IGZpeCB2ZWN0b3Igcngg
YnVyc3QgZm9yIGlhdmYNCj4gDQo+IFRoZSBsaW1pdGF0aW9uIG9mIGJ1cnN0IHNpemUgaW4gdmVj
dG9yIHJ4IHdhcyByZW1vdmVkLCBzaW5jZSBpdCBzaG91bGQgcmV0cmlldmUNCj4gYXMgbXVjaCBy
ZWNlaXZlZCBwYWNrZXRzIGFzIHBvc3NpYmxlLiBBbmQgYWxzbyB0aGUgc2NhdHRlcmVkIHJlY2Vp
dmUgcGF0aA0KPiBzaG91bGQgdXNlIGEgd3JhcHBlciBmdW5jdGlvbiB0byBhY2hpZXZlIHRoZSBn
b2FsIG9mIGJ1cnN0IG1heGltaXppbmcuDQo+IA0KPiBCdWd6aWxsYSBJRDogNTE2DQo+IEZpeGVz
OiAzMTljNDIxZjM4OTAgKCJuZXQvYXZmOiBlbmFibGUgU1NFIFJ4IFR4IikNCj4gRml4ZXM6IDEx
NjJmNWEwZWYzMSAoIm5ldC9pYXZmOiBzdXBwb3J0IGZsZXhpYmxlIFJ4IGRlc2NyaXB0b3IgaW4g
U1NFIHBhdGgiKQ0KPiBGaXhlczogNWI2ZTg4NTkwODFkICgibmV0L2lhdmY6IHN1cHBvcnQgZmxl
eGlibGUgUnggZGVzY3JpcHRvciBpbiBBVlggcGF0aCIpDQo+IA0KPiBTaWduZWQtb2ZmLWJ5OiBK
ZWZmIEd1byA8amlhLmd1b0BpbnRlbC5jb20+DQo+IEFja2VkLWJ5OiBNb3J0ZW4gQnLDuHJ1cCA8
bWJAc21hcnRzaGFyZXN5c3RlbXMuY29tPg0KPiAtLS0NCj4gIGRyaXZlcnMvbmV0L2lhdmYvaWF2
Zl9yeHR4X3ZlY19zc2UuYyB8IDEwMyArKysrKysrKysrKysrKysrKysrKy0tLS0tLS0NCj4gIDEg
ZmlsZSBjaGFuZ2VkLCA3OCBpbnNlcnRpb25zKCspLCAyNSBkZWxldGlvbnMoLSkNCj4gDQo+IGRp
ZmYgLS1naXQgYS9kcml2ZXJzL25ldC9pYXZmL2lhdmZfcnh0eF92ZWNfc3NlLmMNCj4gYi9kcml2
ZXJzL25ldC9pYXZmL2lhdmZfcnh0eF92ZWNfc3NlLmMNCj4gaW5kZXggODVjNWJkNGFmMC4uMTFh
Y2FhMDI5ZSAxMDA2NDQNCj4gLS0tIGEvZHJpdmVycy9uZXQvaWF2Zi9pYXZmX3J4dHhfdmVjX3Nz
ZS5jDQo+ICsrKyBiL2RyaXZlcnMvbmV0L2lhdmYvaWF2Zl9yeHR4X3ZlY19zc2UuYw0KPiBAQCAt
Mzc5LDEwICszNzksMTIgQEAgZmxleF9kZXNjX3RvX3B0eXBlX3YoX19tMTI4aSBkZXNjc1s0XSwg
c3RydWN0DQo+IHJ0ZV9tYnVmICoqcnhfcGt0cywNCj4gIAlyeF9wa3RzWzNdLT5wYWNrZXRfdHlw
ZSA9DQo+IHR5cGVfdGFibGVbX21tX2V4dHJhY3RfZXBpMTYocHR5cGVfYWxsLCA3KV07ICB9DQo+
IA0KPiAtLyogTm90aWNlOg0KPiArLyoqDQo+ICsgKiB2UE1EIHJhdyByZWNlaXZlIHJvdXRpbmUs
IG9ubHkgYWNjZXB0KG5iX3BrdHMgPj0NCj4gK0lBVkZfVlBNRF9ERVNDU19QRVJfTE9PUCkNCj4g
KyAqDQo+ICsgKiBOb3RpY2U6DQo+ICAgKiAtIG5iX3BrdHMgPCBJQVZGX1ZQTURfREVTQ1NfUEVS
X0xPT1AsIGp1c3QgcmV0dXJuIG5vIHBhY2tldA0KPiAtICogLSBuYl9wa3RzID4gSUFWRl9WUE1E
X1JYX01BWF9CVVJTVCwgb25seSBzY2FuDQo+IElBVkZfVlBNRF9SWF9NQVhfQlVSU1QNCj4gLSAq
ICAgbnVtYmVycyBvZiBERCBiaXRzDQo+ICsgKiAtIGZsb29yIGFsaWduIG5iX3BrdHMgdG8gYSBJ
QVZGX1ZQTURfREVTQ1NfUEVSX0xPT1AgcG93ZXItb2YtdHdvDQo+ICAgKi8NCj4gIHN0YXRpYyBp
bmxpbmUgdWludDE2X3QNCj4gIF9yZWN2X3Jhd19wa3RzX3ZlYyhzdHJ1Y3QgaWF2Zl9yeF9xdWV1
ZSAqcnhxLCBzdHJ1Y3QgcnRlX21idWYgKipyeF9wa3RzLA0KPiBAQCAtNDEzLDkgKzQxNSw2IEBA
IF9yZWN2X3Jhd19wa3RzX3ZlYyhzdHJ1Y3QgaWF2Zl9yeF9xdWV1ZSAqcnhxLA0KPiBzdHJ1Y3Qg
cnRlX21idWYgKipyeF9wa3RzLA0KPiAgCQkJb2Zmc2V0b2Yoc3RydWN0IHJ0ZV9tYnVmLCByeF9k
ZXNjcmlwdG9yX2ZpZWxkczEpICsgOCk7DQo+ICAJX19tMTI4aSBkZF9jaGVjaywgZW9wX2NoZWNr
Ow0KPiANCj4gLQkvKiBuYl9wa3RzIHNoYWxsIGJlIGxlc3MgZXF1YWwgdGhhbiBJQVZGX1ZQTURf
UlhfTUFYX0JVUlNUICovDQo+IC0JbmJfcGt0cyA9IFJURV9NSU4obmJfcGt0cywgSUFWRl9WUE1E
X1JYX01BWF9CVVJTVCk7DQo+IC0NCj4gIAkvKiBuYl9wa3RzIGhhcyB0byBiZSBmbG9vci1hbGln
bmVkIHRvIElBVkZfVlBNRF9ERVNDU19QRVJfTE9PUA0KPiAqLw0KPiAgCW5iX3BrdHMgPSBSVEVf
QUxJR05fRkxPT1IobmJfcGt0cywNCj4gSUFWRl9WUE1EX0RFU0NTX1BFUl9MT09QKTsNCj4gDQo+
IEBAIC02MjcsMTAgKzYyNiwxMyBAQCBfcmVjdl9yYXdfcGt0c192ZWMoc3RydWN0IGlhdmZfcnhf
cXVldWUgKnJ4cSwNCj4gc3RydWN0IHJ0ZV9tYnVmICoqcnhfcGt0cywNCj4gIAlyZXR1cm4gbmJf
cGt0c19yZWNkOw0KPiAgfQ0KPiANCj4gLS8qIE5vdGljZToNCj4gKy8qKg0KPiArICogdlBNRCBy
YXcgcmVjZWl2ZSByb3V0aW5lIGZvciBmbGV4IFJ4RCwNCj4gKyAqIG9ubHkgYWNjZXB0KG5iX3Br
dHMgPj0gSUFWRl9WUE1EX0RFU0NTX1BFUl9MT09QKQ0KPiArICoNCj4gKyAqIE5vdGljZToNCj4g
ICAqIC0gbmJfcGt0cyA8IElBVkZfVlBNRF9ERVNDU19QRVJfTE9PUCwganVzdCByZXR1cm4gbm8g
cGFja2V0DQo+IC0gKiAtIG5iX3BrdHMgPiBJQVZGX1ZQTURfUlhfTUFYX0JVUlNULCBvbmx5IHNj
YW4NCj4gSUFWRl9WUE1EX1JYX01BWF9CVVJTVA0KPiAtICogICBudW1iZXJzIG9mIEREIGJpdHMN
Cj4gKyAqIC0gZmxvb3IgYWxpZ24gbmJfcGt0cyB0byBhIElBVkZfVlBNRF9ERVNDU19QRVJfTE9P
UCBwb3dlci1vZi10d28NCj4gICAqLw0KPiAgc3RhdGljIGlubGluZSB1aW50MTZfdA0KPiAgX3Jl
Y3ZfcmF3X3BrdHNfdmVjX2ZsZXhfcnhkKHN0cnVjdCBpYXZmX3J4X3F1ZXVlICpyeHEsIEBAIC02
ODgsOSArNjkwLDYNCj4gQEAgX3JlY3ZfcmF3X3BrdHNfdmVjX2ZsZXhfcnhkKHN0cnVjdCBpYXZm
X3J4X3F1ZXVlICpyeHEsDQo+ICAJY29uc3QgX19tMTI4aSBlb3BfY2hlY2sgPSBfbW1fc2V0X2Vw
aTY0eCgweDAwMDAwMDAyMDAwMDAwMDJMTCwNCj4gIAkJCQkJCSAweDAwMDAwMDAyMDAwMDAwMDJM
TCk7DQo+IA0KPiAtCS8qIG5iX3BrdHMgc2hhbGwgYmUgbGVzcyBlcXVhbCB0aGFuIElBVkZfVlBN
RF9SWF9NQVhfQlVSU1QgKi8NCj4gLQluYl9wa3RzID0gUlRFX01JTihuYl9wa3RzLCBJQVZGX1ZQ
TURfUlhfTUFYX0JVUlNUKTsNCj4gLQ0KPiAgCS8qIG5iX3BrdHMgaGFzIHRvIGJlIGZsb29yLWFs
aWduZWQgdG8gSUFWRl9WUE1EX0RFU0NTX1BFUl9MT09QDQo+ICovDQo+ICAJbmJfcGt0cyA9IFJU
RV9BTElHTl9GTE9PUihuYl9wa3RzLA0KPiBJQVZGX1ZQTURfREVTQ1NfUEVSX0xPT1ApOw0KPiAN
Cj4gQEAgLTk0NSwxNSArOTQ0LDE1IEBAIGlhdmZfcmVjdl9wa3RzX3ZlY19mbGV4X3J4ZCh2b2lk
ICpyeF9xdWV1ZSwNCj4gc3RydWN0IHJ0ZV9tYnVmICoqcnhfcGt0cywNCj4gIAlyZXR1cm4gX3Jl
Y3ZfcmF3X3BrdHNfdmVjX2ZsZXhfcnhkKHJ4X3F1ZXVlLCByeF9wa3RzLCBuYl9wa3RzLA0KPiBO
VUxMKTsgIH0NCj4gDQo+IC0vKiB2UE1EIHJlY2VpdmUgcm91dGluZSB0aGF0IHJlYXNzZW1ibGVz
IHNjYXR0ZXJlZCBwYWNrZXRzDQo+ICsvKioNCj4gKyAqIHZQTUQgcmVjZWl2ZSByb3V0aW5lIHRo
YXQgcmVhc3NlbWJsZXMgc2luZ2xlIGJ1cnN0IG9mIDMyIHNjYXR0ZXJlZA0KPiArcGFja2V0cw0K
PiArICoNCj4gICAqIE5vdGljZToNCj4gICAqIC0gbmJfcGt0cyA8IElBVkZfVlBNRF9ERVNDU19Q
RVJfTE9PUCwganVzdCByZXR1cm4gbm8gcGFja2V0DQo+IC0gKiAtIG5iX3BrdHMgPiBWUE1EX1JY
X01BWF9CVVJTVCwgb25seSBzY2FuDQo+IElBVkZfVlBNRF9SWF9NQVhfQlVSU1QNCj4gLSAqICAg
bnVtYmVycyBvZiBERCBiaXRzDQo+ICAgKi8NCj4gLXVpbnQxNl90DQo+IC1pYXZmX3JlY3Zfc2Nh
dHRlcmVkX3BrdHNfdmVjKHZvaWQgKnJ4X3F1ZXVlLCBzdHJ1Y3QgcnRlX21idWYgKipyeF9wa3Rz
LA0KPiAtCQkJICAgIHVpbnQxNl90IG5iX3BrdHMpDQo+ICtzdGF0aWMgdWludDE2X3QNCj4gK2lh
dmZfcmVjdl9zY2F0dGVyZWRfYnVyc3RfdmVjKHZvaWQgKnJ4X3F1ZXVlLCBzdHJ1Y3QgcnRlX21i
dWYgKipyeF9wa3RzLA0KPiArCQkJICAgICAgdWludDE2X3QgbmJfcGt0cykNCj4gIHsNCj4gIAlz
dHJ1Y3QgaWF2Zl9yeF9xdWV1ZSAqcnhxID0gcnhfcXVldWU7DQo+ICAJdWludDhfdCBzcGxpdF9m
bGFnc1tJQVZGX1ZQTURfUlhfTUFYX0JVUlNUXSA9IHswfTsgQEAgLTk4NiwxNg0KPiArOTg1LDQz
IEBAIGlhdmZfcmVjdl9zY2F0dGVyZWRfcGt0c192ZWModm9pZCAqcnhfcXVldWUsIHN0cnVjdCBy
dGVfbWJ1Zg0KPiAqKnJ4X3BrdHMsDQo+ICAJCSZzcGxpdF9mbGFnc1tpXSk7DQo+ICB9DQo+IA0K
PiAtLyogdlBNRCByZWNlaXZlIHJvdXRpbmUgdGhhdCByZWFzc2VtYmxlcyBzY2F0dGVyZWQgcGFj
a2V0cyBmb3IgZmxleCBSeEQNCj4gKy8qKg0KPiArICogdlBNRCByZWNlaXZlIHJvdXRpbmUgdGhh
dCByZWFzc2VtYmxlcyBzY2F0dGVyZWQgcGFja2V0cy4NCj4gKyAqLw0KPiArdWludDE2X3QNCj4g
K2lhdmZfcmVjdl9zY2F0dGVyZWRfcGt0c192ZWModm9pZCAqcnhfcXVldWUsIHN0cnVjdCBydGVf
bWJ1ZiAqKnJ4X3BrdHMsDQo+ICsJCQkgICAgIHVpbnQxNl90IG5iX3BrdHMpDQo+ICt7DQo+ICsJ
dWludDE2X3QgcmV0dmFsID0gMDsNCj4gKw0KPiArCXdoaWxlIChuYl9wa3RzID4gSUFWRl9WUE1E
X1JYX01BWF9CVVJTVCkgew0KPiArCQl1aW50MTZfdCBidXJzdDsNCj4gKw0KPiArCQlidXJzdCA9
IGlhdmZfcmVjdl9zY2F0dGVyZWRfYnVyc3RfdmVjKHJ4X3F1ZXVlLA0KPiArCQkJCQkJICAgICAg
cnhfcGt0cyArIHJldHZhbCwNCj4gKw0KPiBJQVZGX1ZQTURfUlhfTUFYX0JVUlNUKTsNCj4gKwkJ
cmV0dmFsICs9IGJ1cnN0Ow0KPiArCQluYl9wa3RzIC09IGJ1cnN0Ow0KPiArCQlpZiAoYnVyc3Qg
PCBJQVZGX1ZQTURfUlhfTUFYX0JVUlNUKQ0KPiArCQkJcmV0dXJuIHJldHZhbDsNCj4gKwl9DQo+
ICsNCj4gKwlyZXR1cm4gcmV0dmFsICsgaWF2Zl9yZWN2X3NjYXR0ZXJlZF9idXJzdF92ZWMocnhf
cXVldWUsDQo+ICsJCQkJCQkgICAgICByeF9wa3RzICsgcmV0dmFsLA0KPiArCQkJCQkJICAgICAg
bmJfcGt0cyk7DQo+ICt9DQo+ICsNCj4gKy8qKg0KPiArICogdlBNRCByZWNlaXZlIHJvdXRpbmUg
dGhhdCByZWFzc2VtYmxlcyBzaW5nbGUgYnVyc3Qgb2YgMzIgc2NhdHRlcmVkDQo+ICtwYWNrZXRz
DQo+ICsgKiBmb3IgZmxleCBSeEQNCj4gKyAqDQo+ICAgKiBOb3RpY2U6DQo+ICAgKiAtIG5iX3Br
dHMgPCBJQVZGX1ZQTURfREVTQ1NfUEVSX0xPT1AsIGp1c3QgcmV0dXJuIG5vIHBhY2tldA0KPiAt
ICogLSBuYl9wa3RzID4gVlBNRF9SWF9NQVhfQlVSU1QsIG9ubHkgc2Nhbg0KPiBJQVZGX1ZQTURf
UlhfTUFYX0JVUlNUDQo+IC0gKiAgIG51bWJlcnMgb2YgREQgYml0cw0KPiAgICovDQo+IC11aW50
MTZfdA0KPiAtaWF2Zl9yZWN2X3NjYXR0ZXJlZF9wa3RzX3ZlY19mbGV4X3J4ZCh2b2lkICpyeF9x
dWV1ZSwNCj4gLQkJCQkgICAgICBzdHJ1Y3QgcnRlX21idWYgKipyeF9wa3RzLA0KPiAtCQkJCSAg
ICAgIHVpbnQxNl90IG5iX3BrdHMpDQo+ICtzdGF0aWMgdWludDE2X3QNCj4gK2lhdmZfcmVjdl9z
Y2F0dGVyZWRfYnVyc3RfdmVjX2ZsZXhfcnhkKHZvaWQgKnJ4X3F1ZXVlLA0KPiArCQkJCSAgICAg
ICBzdHJ1Y3QgcnRlX21idWYgKipyeF9wa3RzLA0KPiArCQkJCSAgICAgICB1aW50MTZfdCBuYl9w
a3RzKQ0KPiAgew0KPiAgCXN0cnVjdCBpYXZmX3J4X3F1ZXVlICpyeHEgPSByeF9xdWV1ZTsNCj4g
IAl1aW50OF90IHNwbGl0X2ZsYWdzW0lBVkZfVlBNRF9SWF9NQVhfQlVSU1RdID0gezB9OyBAQCAt
MTAyOCw2DQo+ICsxMDU0LDMzIEBAIGlhdmZfcmVjdl9zY2F0dGVyZWRfcGt0c192ZWNfZmxleF9y
eGQodm9pZCAqcnhfcXVldWUsDQo+ICAJCSZzcGxpdF9mbGFnc1tpXSk7DQo+ICB9DQo+IA0KPiAr
LyoqDQo+ICsgKiB2UE1EIHJlY2VpdmUgcm91dGluZSB0aGF0IHJlYXNzZW1ibGVzIHNjYXR0ZXJl
ZCBwYWNrZXRzIGZvciBmbGV4IFJ4RA0KPiArKi8gdWludDE2X3QgaWF2Zl9yZWN2X3NjYXR0ZXJl
ZF9wa3RzX3ZlY19mbGV4X3J4ZCh2b2lkICpyeF9xdWV1ZSwNCj4gKwkJCQkgICAgICBzdHJ1Y3Qg
cnRlX21idWYgKipyeF9wa3RzLA0KPiArCQkJCSAgICAgIHVpbnQxNl90IG5iX3BrdHMpDQo+ICt7
DQo+ICsJdWludDE2X3QgcmV0dmFsID0gMDsNCj4gKw0KPiArCXdoaWxlIChuYl9wa3RzID4gSUFW
Rl9WUE1EX1JYX01BWF9CVVJTVCkgew0KPiArCQl1aW50MTZfdCBidXJzdDsNCj4gKw0KPiArCQli
dXJzdCA9IGlhdmZfcmVjdl9zY2F0dGVyZWRfYnVyc3RfdmVjX2ZsZXhfcnhkKHJ4X3F1ZXVlLA0K
PiArCQkJCQkJcnhfcGt0cyArIHJldHZhbCwNCj4gKw0KPiAJSUFWRl9WUE1EX1JYX01BWF9CVVJT
VCk7DQo+ICsJCXJldHZhbCArPSBidXJzdDsNCj4gKwkJbmJfcGt0cyAtPSBidXJzdDsNCj4gKwkJ
aWYgKGJ1cnN0IDwgSUFWRl9WUE1EX1JYX01BWF9CVVJTVCkNCj4gKwkJCXJldHVybiByZXR2YWw7
DQo+ICsJfQ0KPiArDQo+ICsJcmV0dXJuIHJldHZhbCArIGlhdmZfcmVjdl9zY2F0dGVyZWRfYnVy
c3RfdmVjX2ZsZXhfcnhkKHJ4X3F1ZXVlLA0KPiArCQkJCQkJICAgICAgcnhfcGt0cyArIHJldHZh
bCwNCj4gKwkJCQkJCSAgICAgIG5iX3BrdHMpOw0KPiArfQ0KPiArDQo+ICBzdGF0aWMgaW5saW5l
IHZvaWQNCj4gIHZ0eDEodm9sYXRpbGUgc3RydWN0IGlhdmZfdHhfZGVzYyAqdHhkcCwgc3RydWN0
IHJ0ZV9tYnVmICpwa3QsIHVpbnQ2NF90IGZsYWdzKQ0KPiB7DQo+IC0tDQo+IDIuMjAuMQ0KDQo=