From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <dev-bounces@dpdk.org>
Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124])
	by inbox.dpdk.org (Postfix) with ESMTP id AE9F043929;
	Mon, 22 Jan 2024 14:00:28 +0100 (CET)
Received: from mails.dpdk.org (localhost [127.0.0.1])
	by mails.dpdk.org (Postfix) with ESMTP id 5FF4F402C9;
	Mon, 22 Jan 2024 14:00:28 +0100 (CET)
Received: from frasgout.his.huawei.com (frasgout.his.huawei.com
 [185.176.79.56]) by mails.dpdk.org (Postfix) with ESMTP id 226CD4028B
 for <dev@dpdk.org>; Mon, 22 Jan 2024 14:00:27 +0100 (CET)
Received: from mail.maildlp.com (unknown [172.18.186.31])
 by frasgout.his.huawei.com (SkyGuard) with ESMTP id 4TJVcV4qntz6JB4t;
 Mon, 22 Jan 2024 20:57:30 +0800 (CST)
Received: from frapeml100008.china.huawei.com (unknown [7.182.85.131])
 by mail.maildlp.com (Postfix) with ESMTPS id EA98B140A70;
 Mon, 22 Jan 2024 21:00:24 +0800 (CST)
Received: from frapeml500007.china.huawei.com (7.182.85.172) by
 frapeml100008.china.huawei.com (7.182.85.131) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.1.2507.35; Mon, 22 Jan 2024 14:00:24 +0100
Received: from frapeml500007.china.huawei.com ([7.182.85.172]) by
 frapeml500007.china.huawei.com ([7.182.85.172]) with mapi id 15.01.2507.035;
 Mon, 22 Jan 2024 14:00:24 +0100
From: Konstantin Ananyev <konstantin.ananyev@huawei.com>
To: "jerinj@marvell.com" <jerinj@marvell.com>, "dev@dpdk.org" <dev@dpdk.org>, 
 Thomas Monjalon <thomas@monjalon.net>, Ferruh Yigit <ferruh.yigit@amd.com>,
 Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>
CC: "ferruh.yigit@xilinx.com" <ferruh.yigit@xilinx.com>,
 "ajit.khaparde@broadcom.com" <ajit.khaparde@broadcom.com>,
 "aboyer@pensando.io" <aboyer@pensando.io>, "beilei.xing@intel.com"
 <beilei.xing@intel.com>, "bruce.richardson@intel.com"
 <bruce.richardson@intel.com>, "chas3@att.com" <chas3@att.com>,
 "chenbo.xia@intel.com" <chenbo.xia@intel.com>, "ciara.loftus@intel.com"
 <ciara.loftus@intel.com>, "dsinghrawat@marvell.com"
 <dsinghrawat@marvell.com>, "ed.czeck@atomicrules.com"
 <ed.czeck@atomicrules.com>, "evgenys@amazon.com" <evgenys@amazon.com>,
 "grive@u256.net" <grive@u256.net>, "g.singh@nxp.com" <g.singh@nxp.com>,
 "haiyue.wang@intel.com" <haiyue.wang@intel.com>, "hkalra@marvell.com"
 <hkalra@marvell.com>, "heinrich.kuhn@corigine.com"
 <heinrich.kuhn@corigine.com>, "hemant.agrawal@nxp.com"
 <hemant.agrawal@nxp.com>, "hyonkim@cisco.com" <hyonkim@cisco.com>,
 "igorch@amazon.com" <igorch@amazon.com>, "irusskikh@marvell.com"
 <irusskikh@marvell.com>, "jgrajcia@cisco.com" <jgrajcia@cisco.com>,
 "jasvinder.singh@intel.com" <jasvinder.singh@intel.com>,
 "jianwang@trustnetic.com" <jianwang@trustnetic.com>,
 "jiawenwu@trustnetic.com" <jiawenwu@trustnetic.com>, "jingjing.wu@intel.com"
 <jingjing.wu@intel.com>, "johndale@cisco.com" <johndale@cisco.com>,
 "john.miller@atomicrules.com" <john.miller@atomicrules.com>,
 "linville@tuxdriver.com" <linville@tuxdriver.com>, "keith.wiles@intel.com"
 <keith.wiles@intel.com>, "kirankumark@marvell.com" <kirankumark@marvell.com>, 
 "lironh@marvell.com" <lironh@marvell.com>, "longli@microsoft.com"
 <longli@microsoft.com>, "mw@semihalf.com" <mw@semihalf.com>,
 "spinler@cesnet.cz" <spinler@cesnet.cz>, "matan@nvidia.com"
 <matan@nvidia.com>, "matt.peters@windriver.com" <matt.peters@windriver.com>,
 "maxime.coquelin@redhat.com" <maxime.coquelin@redhat.com>, "mk@semihalf.com"
 <mk@semihalf.com>, "humin (Q)" <humin29@huawei.com>, "pnalla@marvell.com"
 <pnalla@marvell.com>, "ndabilpuram@marvell.com" <ndabilpuram@marvell.com>,
 "qiming.yang@intel.com" <qiming.yang@intel.com>, "qi.z.zhang@intel.com"
 <qi.z.zhang@intel.com>, "radhac@marvell.com" <radhac@marvell.com>,
 "rahul.lakkireddy@chelsio.com" <rahul.lakkireddy@chelsio.com>,
 "rmody@marvell.com" <rmody@marvell.com>, "rosen.xu@intel.com"
 <rosen.xu@intel.com>, "sachin.saxena@oss.nxp.com"
 <sachin.saxena@oss.nxp.com>, "skoteshwar@marvell.com"
 <skoteshwar@marvell.com>, "shshaikh@marvell.com" <shshaikh@marvell.com>,
 "shaibran@amazon.com" <shaibran@amazon.com>, "shepard.siegel@atomicrules.com"
 <shepard.siegel@atomicrules.com>, "asomalap@amd.com" <asomalap@amd.com>,
 "somnath.kotur@broadcom.com" <somnath.kotur@broadcom.com>,
 "sthemmin@microsoft.com" <sthemmin@microsoft.com>,
 "steven.webster@windriver.com" <steven.webster@windriver.com>,
 "skori@marvell.com" <skori@marvell.com>, "mtetsuyah@gmail.com"
 <mtetsuyah@gmail.com>, "vburru@marvell.com" <vburru@marvell.com>,
 "viacheslavo@nvidia.com" <viacheslavo@nvidia.com>, "xiao.w.wang@intel.com"
 <xiao.w.wang@intel.com>, "Wangxiaoyun (Cloud)"
 <cloud.wangxiaoyun@huawei.com>, "Zhuangyuzeng (Yisen)"
 <yisen.zhuang@huawei.com>, "yongwang@vmware.com" <yongwang@vmware.com>,
 "Xuanziyang (William)" <william.xuanziyang@huawei.com>,
 "cristian.dumitrescu@intel.com" <cristian.dumitrescu@intel.com>,
 =?utf-8?B?TW9ydGVuIEJyw7hydXA=?= <mb@smartsharesystems.com>
Subject: RE: [dpdk-dev] [v2] ethdev: support Tx queue used count
Thread-Topic: [dpdk-dev] [v2] ethdev: support Tx queue used count
Thread-Index: AQHaSfOWG+giV8N4R0WrLus1V/b7u7Dl0LuQ
Date: Mon, 22 Jan 2024 13:00:24 +0000
Message-ID: <02136387f2374c428143ca432103e094@huawei.com>
References: <20240111151745.3800170-1-jerinj@marvell.com>
 <20240118094742.594900-1-jerinj@marvell.com>
In-Reply-To: <20240118094742.594900-1-jerinj@marvell.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.48.145.143]
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-BeenThere: dev@dpdk.org
X-Mailman-Version: 2.1.29
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

DQoNCj4gRnJvbTogSmVyaW4gSmFjb2IgPGplcmluakBtYXJ2ZWxsLmNvbT4NCj4gDQo+IEludHJv
ZHVjZSBhIG5ldyBBUEkgdG8gcmV0cmlldmUgdGhlIG51bWJlciBvZiB1c2VkIGRlc2NyaXB0b3Jz
DQo+IGluIGEgVHggcXVldWUuIEFwcGxpY2F0aW9ucyBjYW4gbGV2ZXJhZ2UgdGhpcyBBUEkgaW4g
dGhlIGZhc3QgcGF0aCB0bw0KPiBpbnNwZWN0IHRoZSBUeCBxdWV1ZSBvY2N1cGFuY3kgYW5kIHRh
a2UgYXBwcm9wcmlhdGUgYWN0aW9ucyBiYXNlZCBvbiB0aGUNCj4gYXZhaWxhYmxlIGZyZWUgZGVz
Y3JpcHRvcnMuDQo+IA0KPiBBIG5vdGFibGUgdXNlIGNhc2UgY291bGQgYmUgaW1wbGVtZW50aW5n
IFJhbmRvbSBFYXJseSBEaXNjYXJkIChSRUQpDQo+IGluIHNvZnR3YXJlIGJhc2VkIG9uIFR4IHF1
ZXVlIG9jY3VwYW5jeS4NCj4gDQo+IFNpZ25lZC1vZmYtYnk6IEplcmluIEphY29iIDxqZXJpbmpA
bWFydmVsbC5jb20+DQo+IFJldmlld2VkLWJ5OiBBbmRyZXcgUnliY2hlbmtvIDxhbmRyZXcucnli
Y2hlbmtvQG9rdGV0bGFicy5ydT4NCj4gQWNrZWQtYnk6IE1vcnRlbiBCcsO4cnVwIDxtYkBzbWFy
dHNoYXJlc3lzdGVtcy5jb20+DQo+IC0tLQ0KPiAgZGV2dG9vbHMvbGliYWJpZ2FpbC5hYmlnbm9y
ZSAgICAgICAgICAgfCAgMyArDQo+ICBkb2MvZ3VpZGVzL25pY3MvZmVhdHVyZXMucnN0ICAgICAg
ICAgICB8IDEwICsrKysNCj4gIGRvYy9ndWlkZXMvbmljcy9mZWF0dXJlcy9kZWZhdWx0LmluaSAg
IHwgIDEgKw0KPiAgZG9jL2d1aWRlcy9yZWxfbm90ZXMvcmVsZWFzZV8yNF8wMy5yc3QgfCAgNSAr
Kw0KPiAgbGliL2V0aGRldi9ldGhkZXZfZHJpdmVyLmggICAgICAgICAgICAgfCAgMiArDQo+ICBs
aWIvZXRoZGV2L2V0aGRldl9wcml2YXRlLmMgICAgICAgICAgICB8ICAxICsNCj4gIGxpYi9ldGhk
ZXYvZXRoZGV2X3RyYWNlX3BvaW50cy5jICAgICAgIHwgIDMgKw0KPiAgbGliL2V0aGRldi9ydGVf
ZXRoZGV2LmggICAgICAgICAgICAgICAgfCA4MCArKysrKysrKysrKysrKysrKysrKysrKysrKw0K
PiAgbGliL2V0aGRldi9ydGVfZXRoZGV2X2NvcmUuaCAgICAgICAgICAgfCAgNyArKy0NCj4gIGxp
Yi9ldGhkZXYvcnRlX2V0aGRldl90cmFjZV9mcC5oICAgICAgIHwgIDggKysrDQo+ICBsaWIvZXRo
ZGV2L3ZlcnNpb24ubWFwICAgICAgICAgICAgICAgICB8ICAxICsNCj4gIDExIGZpbGVzIGNoYW5n
ZWQsIDEyMCBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pDQo+IA0KPiB2MjoNCj4gLSBSZW5h
bWUgX25pY19mZWF0dXJlc190eF9xdWV1ZV91c2VkX2NvdW50IHRvIF9uaWNfZmVhdHVyZXNfdHhf
cXVldWVfY291bnQNCj4gLSBGaXggdHJhY2UgZW1pc3Npb24gb2YgY2FzZSBmb3BzLT50eF9xdWV1
ZV9jb3VudCA9PSBOVUxMDQo+IC0gUmVuYW1lIHR4X3F1ZXVlX2lkIHRvIHF1ZXVlX2lkIGluIGlt
cGxlbWVudGF0aW9uIHN5bWJvbHMgYW5kIHByaW50cw0KPiAtIEFkZGVkICJnb3RvIG91dCIgZm9y
IGJldHRlciBlcnJvciBoYW5kbGluZw0KPiAtIEFkZCByZWxlYXNlIG5vdGUNCj4gLSBBZGRlZCBs
aWJhYmlnYWlsIHN1cHByZXNzaW9uIHJ1bGUgZm9yIHRoZSByZXNlcnZlZDIgZmllbGQgdXBkYXRl
DQo+IC0gRml4IGFsbCBvcmRlcmluZyBhbmQgZ3JvdXBpbmcsIGVtcHR5IGxpbmUgY29tbWVudCBm
cm9tIEZlcnJ1aA0KPiAtIEFkZGVkIGZvbGxvd2luZyBub3RlcyBpbiBkb3h5Z2VuIGRvY3VtZW50
YXRpb24gZm9yIGJldHRlciBjbGFyaXR5IG9uIEFQSSB1c2FnZQ0KPiAgKiBAbm90ZSBUaGVyZSBp
cyBubyByZXF1aXJlbWVudCB0byBjYWxsIHRoaXMgZnVuY3Rpb24gYmVmb3JlIHJ0ZV9ldGhfdHhf
YnVyc3QoKSBpbnZvY2F0aW9uLg0KPiAgKiBAbm90ZSBVdGlsaXplIHRoaXMgZnVuY3Rpb24gZXhj
bHVzaXZlbHkgd2hlbiB0aGUgY2FsbGVyIG5lZWRzIHRvIGRldGVybWluZSB0aGUgdXNlZCBxdWV1
ZSBjb3VudA0KPiAgKiBhY3Jvc3MgYWxsIGRlc2NyaXB0b3JzIG9mIGEgVHggcXVldWUuIElmIHRo
ZSB1c2UgY2FzZSBvbmx5IGludm9sdmVzIGNoZWNraW5nIHRoZSBzdGF0dXMgb2YgYQ0KPiAgKiBz
cGVjaWZpYyBkZXNjcmlwdG9yIHNsb3QsIG9wdCBmb3IgcnRlX2V0aF90eF9kZXNjcmlwdG9yX3N0
YXR1cygpIGluc3RlYWQuDQo+IA0KPiByZmMuLnYxOg0KPiAtIFVwZGF0ZWQgQVBJIHNpbWlsYXIg
dG8gcnRlX2V0aF9yeF9xdWV1ZV9jb3VudCgpIHdoZXJlIGl0IHJldHVybnMNCj4gInVzZWQiIGNv
dW50IGluc3RlYWQgb2YgImZyZWUiIGNvdW50DQo+IA0KPiBkaWZmIC0tZ2l0IGEvZGV2dG9vbHMv
bGliYWJpZ2FpbC5hYmlnbm9yZSBiL2RldnRvb2xzL2xpYmFiaWdhaWwuYWJpZ25vcmUNCj4gaW5k
ZXggMjFiOGNkNjExMy4uZDZlOThjNmY1MiAxMDA2NDQNCj4gLS0tIGEvZGV2dG9vbHMvbGliYWJp
Z2FpbC5hYmlnbm9yZQ0KPiArKysgYi9kZXZ0b29scy9saWJhYmlnYWlsLmFiaWdub3JlDQo+IEBA
IC0zMywzICszMyw2IEBADQo+ICA7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7
Ozs7Ozs7Ozs7Ozs7Ozs7DQo+ICA7IFRlbXBvcmFyeSBleGNlcHRpb25zIHRpbGwgbmV4dCBtYWpv
ciBBQkkgdmVyc2lvbiA7DQo+ICA7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7
Ozs7Ozs7Ozs7Ozs7Ozs7DQo+ICtbc3VwcHJlc3NfdHlwZV0NCj4gKwluYW1lID0gcnRlX2V0aF9m
cF9vcHMNCj4gKwloYXNfZGF0YV9tZW1iZXJfaW5zZXJ0ZWRfYmV0d2VlbiA9IHtvZmZzZXRfb2Yo
cmVzZXJ2ZWQyKSwgZW5kfQ0KPiBkaWZmIC0tZ2l0IGEvZG9jL2d1aWRlcy9uaWNzL2ZlYXR1cmVz
LnJzdCBiL2RvYy9ndWlkZXMvbmljcy9mZWF0dXJlcy5yc3QNCj4gaW5kZXggZjdkOTk4MDg0OS4u
ZjM4OTQxYzcxOSAxMDA2NDQNCj4gLS0tIGEvZG9jL2d1aWRlcy9uaWNzL2ZlYXR1cmVzLnJzdA0K
PiArKysgYi9kb2MvZ3VpZGVzL25pY3MvZmVhdHVyZXMucnN0DQo+IEBAIC02OTcsNiArNjk3LDE2
IEBAIG9yICJVbmF2YWlsYWJsZS4iDQo+ICAqICoqW3JlbGF0ZWRdICAgIEFQSSoqOiBgYHJ0ZV9l
dGhfdHhfZGVzY3JpcHRvcl9zdGF0dXMoKWBgLg0KPiANCj4gDQo+ICsuLiBfbmljX2ZlYXR1cmVz
X3R4X3F1ZXVlX2NvdW50Og0KPiArDQo+ICtUeCBxdWV1ZSBjb3VudA0KPiArLS0tLS0tLS0tLS0t
LS0NCj4gKw0KPiArU3VwcG9ydHMgdG8gZ2V0IHRoZSBudW1iZXIgb2YgdXNlZCBkZXNjcmlwdG9y
cyBvZiBhIFR4IHF1ZXVlLg0KPiArDQo+ICsqICoqW2ltcGxlbWVudHNdIGV0aF9kZXZfb3BzKio6
IGBgdHhfcXVldWVfY291bnRgYC4NCj4gKyogKipbcmVsYXRlZF0gQVBJKio6IGBgcnRlX2V0aF90
eF9xdWV1ZV9jb3VudCgpYGAuDQo+ICsNCj4gIC4uIF9uaWNfZmVhdHVyZXNfYmFzaWNfc3RhdHM6
DQo+IA0KPiAgQmFzaWMgc3RhdHMNCj4gZGlmZiAtLWdpdCBhL2RvYy9ndWlkZXMvbmljcy9mZWF0
dXJlcy9kZWZhdWx0LmluaSBiL2RvYy9ndWlkZXMvbmljcy9mZWF0dXJlcy9kZWZhdWx0LmluaQ0K
PiBpbmRleCA2ZDUwMjM2MjkyLi41MTE1OTYzMTM2IDEwMDY0NA0KPiAtLS0gYS9kb2MvZ3VpZGVz
L25pY3MvZmVhdHVyZXMvZGVmYXVsdC5pbmkNCj4gKysrIGIvZG9jL2d1aWRlcy9uaWNzL2ZlYXR1
cmVzL2RlZmF1bHQuaW5pDQo+IEBAIC01OSw2ICs1OSw3IEBAIFBhY2tldCB0eXBlIHBhcnNpbmcg
ID0NCj4gIFRpbWVzeW5jICAgICAgICAgICAgID0NCj4gIFJ4IGRlc2NyaXB0b3Igc3RhdHVzID0N
Cj4gIFR4IGRlc2NyaXB0b3Igc3RhdHVzID0NCj4gK1R4IHF1ZXVlIGNvdW50ICAgICAgID0NCj4g
IEJhc2ljIHN0YXRzICAgICAgICAgID0NCj4gIEV4dGVuZGVkIHN0YXRzICAgICAgID0NCj4gIFN0
YXRzIHBlciBxdWV1ZSAgICAgID0NCj4gZGlmZiAtLWdpdCBhL2RvYy9ndWlkZXMvcmVsX25vdGVz
L3JlbGVhc2VfMjRfMDMucnN0IGIvZG9jL2d1aWRlcy9yZWxfbm90ZXMvcmVsZWFzZV8yNF8wMy5y
c3QNCj4gaW5kZXggYzRmYzhhZDU4My4uMTZkZDM2NzE3OCAxMDA2NDQNCj4gLS0tIGEvZG9jL2d1
aWRlcy9yZWxfbm90ZXMvcmVsZWFzZV8yNF8wMy5yc3QNCj4gKysrIGIvZG9jL2d1aWRlcy9yZWxf
bm90ZXMvcmVsZWFzZV8yNF8wMy5yc3QNCj4gQEAgLTY1LDYgKzY1LDExIEBAIE5ldyBGZWF0dXJl
cw0KPiAgICAqIEFkZGVkIGBgUlRFX0ZMT1dfSVRFTV9UWVBFX1JBTkRPTWBgIHRvIG1hdGNoIHJh
bmRvbSB2YWx1ZS4NCj4gICAgKiBBZGRlZCBgYFJURV9GTE9XX0ZJRUxEX1JBTkRPTWBgIHRvIHJl
cHJlc2VudCBpdCBpbiBmaWVsZCBJRCBzdHJ1Y3QuDQo+IA0KPiArKiAqKiBTdXBwb3J0IGZvciBn
ZXR0aW5nIHRoZSBudW1iZXIgb2YgdXNlZCBkZXNjcmlwdG9ycyBvZiBhIFR4IHF1ZXVlLiAqKg0K
PiArDQo+ICsgICogQWRkZWQgYSBmYXRoIHBhdGggZnVuY3Rpb24gYGBydGVfZXRoX3R4X3F1ZXVl
X2NvdW50YGAgdG8gZ2V0IHRoZSBudW1iZXIgb2YgdXNlZA0KPiArICAgIGRlc2NyaXB0b3JzIG9m
IGEgVHggcXVldWUuDQo+ICsNCj4gDQo+ICBSZW1vdmVkIEl0ZW1zDQo+ICAtLS0tLS0tLS0tLS0t
DQo+IGRpZmYgLS1naXQgYS9saWIvZXRoZGV2L2V0aGRldl9kcml2ZXIuaCBiL2xpYi9ldGhkZXYv
ZXRoZGV2X2RyaXZlci5oDQo+IGluZGV4IGI0ODJjZDEyYmIuLmYwNWY2OGE2N2MgMTAwNjQ0DQo+
IC0tLSBhL2xpYi9ldGhkZXYvZXRoZGV2X2RyaXZlci5oDQo+ICsrKyBiL2xpYi9ldGhkZXYvZXRo
ZGV2X2RyaXZlci5oDQo+IEBAIC01OCw2ICs1OCw4IEBAIHN0cnVjdCBydGVfZXRoX2RldiB7DQo+
ICAJZXRoX3J4X3F1ZXVlX2NvdW50X3QgcnhfcXVldWVfY291bnQ7DQo+ICAJLyoqIENoZWNrIHRo
ZSBzdGF0dXMgb2YgYSBSeCBkZXNjcmlwdG9yICovDQo+ICAJZXRoX3J4X2Rlc2NyaXB0b3Jfc3Rh
dHVzX3QgcnhfZGVzY3JpcHRvcl9zdGF0dXM7DQo+ICsJLyoqIEdldCB0aGUgbnVtYmVyIG9mIHVz
ZWQgVHggZGVzY3JpcHRvcnMgKi8NCj4gKwlldGhfdHhfcXVldWVfY291bnRfdCB0eF9xdWV1ZV9j
b3VudDsNCj4gIAkvKiogQ2hlY2sgdGhlIHN0YXR1cyBvZiBhIFR4IGRlc2NyaXB0b3IgKi8NCj4g
IAlldGhfdHhfZGVzY3JpcHRvcl9zdGF0dXNfdCB0eF9kZXNjcmlwdG9yX3N0YXR1czsNCj4gIAkv
KiogUG9pbnRlciB0byBQTUQgdHJhbnNtaXQgbWJ1ZnMgcmV1c2UgZnVuY3Rpb24gKi8NCj4gZGlm
ZiAtLWdpdCBhL2xpYi9ldGhkZXYvZXRoZGV2X3ByaXZhdGUuYyBiL2xpYi9ldGhkZXYvZXRoZGV2
X3ByaXZhdGUuYw0KPiBpbmRleCBhNjU2ZGYyOTNjLi42MjY1MjQ1NThhIDEwMDY0NA0KPiAtLS0g
YS9saWIvZXRoZGV2L2V0aGRldl9wcml2YXRlLmMNCj4gKysrIGIvbGliL2V0aGRldi9ldGhkZXZf
cHJpdmF0ZS5jDQo+IEBAIC0yNzMsNiArMjczLDcgQEAgZXRoX2Rldl9mcF9vcHNfc2V0dXAoc3Ry
dWN0IHJ0ZV9ldGhfZnBfb3BzICpmcG8sDQo+ICAJZnBvLT50eF9wa3RfcHJlcGFyZSA9IGRldi0+
dHhfcGt0X3ByZXBhcmU7DQo+ICAJZnBvLT5yeF9xdWV1ZV9jb3VudCA9IGRldi0+cnhfcXVldWVf
Y291bnQ7DQo+ICAJZnBvLT5yeF9kZXNjcmlwdG9yX3N0YXR1cyA9IGRldi0+cnhfZGVzY3JpcHRv
cl9zdGF0dXM7DQo+ICsJZnBvLT50eF9xdWV1ZV9jb3VudCA9IGRldi0+dHhfcXVldWVfY291bnQ7
DQo+ICAJZnBvLT50eF9kZXNjcmlwdG9yX3N0YXR1cyA9IGRldi0+dHhfZGVzY3JpcHRvcl9zdGF0
dXM7DQo+ICAJZnBvLT5yZWN5Y2xlX3R4X21idWZzX3JldXNlID0gZGV2LT5yZWN5Y2xlX3R4X21i
dWZzX3JldXNlOw0KPiAgCWZwby0+cmVjeWNsZV9yeF9kZXNjcmlwdG9yc19yZWZpbGwgPSBkZXYt
PnJlY3ljbGVfcnhfZGVzY3JpcHRvcnNfcmVmaWxsOw0KPiBkaWZmIC0tZ2l0IGEvbGliL2V0aGRl
di9ldGhkZXZfdHJhY2VfcG9pbnRzLmMgYi9saWIvZXRoZGV2L2V0aGRldl90cmFjZV9wb2ludHMu
Yw0KPiBpbmRleCA5MWY3MWQ4NjhiLi5iZDZkZDRlNzhhIDEwMDY0NA0KPiAtLS0gYS9saWIvZXRo
ZGV2L2V0aGRldl90cmFjZV9wb2ludHMuYw0KPiArKysgYi9saWIvZXRoZGV2L2V0aGRldl90cmFj
ZV9wb2ludHMuYw0KPiBAQCAtMzcsNiArMzcsOSBAQCBSVEVfVFJBQ0VfUE9JTlRfUkVHSVNURVIo
cnRlX2V0aF90cmFjZV9jYWxsX3J4X2NhbGxiYWNrcywNCj4gIFJURV9UUkFDRV9QT0lOVF9SRUdJ
U1RFUihydGVfZXRoX3RyYWNlX2NhbGxfdHhfY2FsbGJhY2tzLA0KPiAgCWxpYi5ldGhkZXYuY2Fs
bF90eF9jYWxsYmFja3MpDQo+IA0KPiArUlRFX1RSQUNFX1BPSU5UX1JFR0lTVEVSKHJ0ZV9ldGhf
dHJhY2VfdHhfcXVldWVfY291bnQsDQo+ICsJbGliLmV0aGRldi50eF9xdWV1ZV9jb3VudCkNCj4g
Kw0KPiAgUlRFX1RSQUNFX1BPSU5UX1JFR0lTVEVSKHJ0ZV9ldGhfdHJhY2VfaXRlcmF0b3JfaW5p
dCwNCj4gIAlsaWIuZXRoZGV2Lml0ZXJhdG9yX2luaXQpDQo+IA0KPiBkaWZmIC0tZ2l0IGEvbGli
L2V0aGRldi9ydGVfZXRoZGV2LmggYi9saWIvZXRoZGV2L3J0ZV9ldGhkZXYuaA0KPiBpbmRleCBi
N2Y1MmUwM2E1Li4yNjg3YzIzZmE2IDEwMDY0NA0KPiAtLS0gYS9saWIvZXRoZGV2L3J0ZV9ldGhk
ZXYuaA0KPiArKysgYi9saWIvZXRoZGV2L3J0ZV9ldGhkZXYuaA0KPiBAQCAtNjgyMyw2ICs2ODIz
LDg2IEBAIHJ0ZV9ldGhfcmVjeWNsZV9tYnVmcyh1aW50MTZfdCByeF9wb3J0X2lkLCB1aW50MTZf
dCByeF9xdWV1ZV9pZCwNCj4gIF9fcnRlX2V4cGVyaW1lbnRhbA0KPiAgaW50IHJ0ZV9ldGhfYnVm
ZmVyX3NwbGl0X2dldF9zdXBwb3J0ZWRfaGRyX3B0eXBlcyh1aW50MTZfdCBwb3J0X2lkLCB1aW50
MzJfdCAqcHR5cGVzLCBpbnQgbnVtKTsNCj4gDQo+ICsvKioNCj4gKyAqIEB3YXJuaW5nDQo+ICsg
KiBAYiBFWFBFUklNRU5UQUw6IHRoaXMgQVBJIG1heSBjaGFuZ2UsIG9yIGJlIHJlbW92ZWQsIHdp
dGhvdXQgcHJpb3Igbm90aWNlDQo+ICsgKg0KPiArICogR2V0IHRoZSBudW1iZXIgb2YgdXNlZCBk
ZXNjcmlwdG9ycyBvZiBhIFR4IHF1ZXVlDQo+ICsgKg0KPiArICogVGhpcyBmdW5jdGlvbiByZXRy
aWV2ZXMgdGhlIG51bWJlciBvZiB1c2VkIGRlc2NyaXB0b3JzIG9mIGEgdHJhbnNtaXQgcXVldWUu
DQo+ICsgKiBBcHBsaWNhdGlvbnMgY2FuIHVzZSB0aGlzIEFQSSBpbiB0aGUgZmFzdCBwYXRoIHRv
IGluc3BlY3QgVHggcXVldWUgb2NjdXBhbmN5IGFuZCB0YWtlDQo+ICsgKiBhcHByb3ByaWF0ZSBh
Y3Rpb25zIGJhc2VkIG9uIHRoZSBhdmFpbGFibGUgZnJlZSBkZXNjcmlwdG9ycy4NCj4gKyAqIEFu
IGV4YW1wbGUgYWN0aW9uIGNvdWxkIGJlIGltcGxlbWVudGluZyB0aGUgUmFuZG9tIEVhcmx5IERp
c2NhcmQgKFJFRCkuDQo+ICsgKg0KPiArICogU2luY2UgaXQncyBhIGZhc3QtcGF0aCBmdW5jdGlv
biwgbm8gY2hlY2sgaXMgcGVyZm9ybWVkIG9uIHBvcnRfaWQgYW5kDQo+ICsgKiBxdWV1ZV9pZC4g
VGhlIGNhbGxlciBtdXN0IHRoZXJlZm9yZSBlbnN1cmUgdGhhdCB0aGUgcG9ydCBpcyBlbmFibGVk
DQo+ICsgKiBhbmQgdGhlIHF1ZXVlIGlzIGNvbmZpZ3VyZWQgYW5kIHJ1bm5pbmcuDQo+ICsgKg0K
PiArICogQHBhcmFtIHBvcnRfaWQNCj4gKyAqICAgVGhlIHBvcnQgaWRlbnRpZmllciBvZiB0aGUg
ZGV2aWNlLg0KPiArICogQHBhcmFtIHF1ZXVlX2lkDQo+ICsgKiAgIFRoZSBpbmRleCBvZiB0aGUg
dHJhbnNtaXQgcXVldWUuDQo+ICsgKiAgIFRoZSB2YWx1ZSBtdXN0IGJlIGluIHRoZSByYW5nZSBb
MCwgbmJfdHhfcXVldWUgLSAxXSBwcmV2aW91c2x5IHN1cHBsaWVkDQo+ICsgKiAgIHRvIHJ0ZV9l
dGhfZGV2X2NvbmZpZ3VyZSgpLg0KPiArICogQHJldHVybg0KPiArICogIFRoZSBudW1iZXIgb2Yg
dXNlZCBkZXNjcmlwdG9ycyBpbiB0aGUgc3BlY2lmaWMgcXVldWUsIG9yOg0KPiArICogICAtICgt
RU5PREVWKSBpZiAqcG9ydF9pZCogaXMgaW52YWxpZC4gRW5hYmxlZCBvbmx5IHdoZW4gUlRFX0VU
SERFVl9ERUJVR19UWCBpcyBlbmFibGVkDQo+ICsgKiAgIC0gKC1FSU5WQUwpIGlmICpxdWV1ZV9p
ZCogaXMgaW52YWxpZC4gRW5hYmxlZCBvbmx5IHdoZW4gUlRFX0VUSERFVl9ERUJVR19UWCBpcyBl
bmFibGVkDQo+ICsgKiAgIC0gKC1FTk9UU1VQKSBpZiB0aGUgZGV2aWNlIGRvZXMgbm90IHN1cHBv
cnQgdGhpcyBmdW5jdGlvbi4NCj4gKyAqDQo+ICsgKiBAbm90ZSBUaGlzIGZ1bmN0aW9uIGlzIGRl
c2lnbmVkIGZvciBmYXN0LXBhdGggdXNlLg0KPiArICogQG5vdGUgVGhlcmUgaXMgbm8gcmVxdWly
ZW1lbnQgdG8gY2FsbCB0aGlzIGZ1bmN0aW9uIGJlZm9yZSBydGVfZXRoX3R4X2J1cnN0KCkgaW52
b2NhdGlvbi4NCj4gKyAqIEBub3RlIFV0aWxpemUgdGhpcyBmdW5jdGlvbiBleGNsdXNpdmVseSB3
aGVuIHRoZSBjYWxsZXIgbmVlZHMgdG8gZGV0ZXJtaW5lIHRoZSB1c2VkIHF1ZXVlIGNvdW50DQo+
ICsgKiBhY3Jvc3MgYWxsIGRlc2NyaXB0b3JzIG9mIGEgVHggcXVldWUuIElmIHRoZSB1c2UgY2Fz
ZSBvbmx5IGludm9sdmVzIGNoZWNraW5nIHRoZSBzdGF0dXMgb2YgYQ0KPiArICogc3BlY2lmaWMg
ZGVzY3JpcHRvciBzbG90LCBvcHQgZm9yIHJ0ZV9ldGhfdHhfZGVzY3JpcHRvcl9zdGF0dXMoKSBp
bnN0ZWFkLg0KPiArICovDQo+ICsNCj4gK19fcnRlX2V4cGVyaW1lbnRhbA0KPiArc3RhdGljIGlu
bGluZSBpbnQNCj4gK3J0ZV9ldGhfdHhfcXVldWVfY291bnQodWludDE2X3QgcG9ydF9pZCwgdWlu
dDE2X3QgcXVldWVfaWQpDQo+ICt7DQo+ICsJc3RydWN0IHJ0ZV9ldGhfZnBfb3BzICpmb3BzOw0K
PiArCXZvaWQgKnFkOw0KPiArCWludCByYzsNCj4gKw0KPiArI2lmZGVmIFJURV9FVEhERVZfREVC
VUdfVFgNCj4gKwlpZiAocG9ydF9pZCA+PSBSVEVfTUFYX0VUSFBPUlRTIHx8ICFydGVfZXRoX2Rl
dl9pc192YWxpZF9wb3J0KHBvcnRfaWQpKSB7DQo+ICsJCVJURV9FVEhERVZfTE9HX0xJTkUoRVJS
LCAiSW52YWxpZCBwb3J0X2lkPSV1IiwgcG9ydF9pZCk7DQo+ICsJCXJjID0gLUVOT0RFVjsNCj4g
KwkJZ290byBvdXQ7DQo+ICsJfQ0KPiArDQo+ICsJaWYgKHF1ZXVlX2lkID49IFJURV9NQVhfUVVF
VUVTX1BFUl9QT1JUKSB7DQo+ICsJCVJURV9FVEhERVZfTE9HX0xJTkUoRVJSLCAiSW52YWxpZCBx
dWV1ZV9pZD0ldSBmb3IgcG9ydF9pZD0ldSIsDQo+ICsJCQkJICAgIHF1ZXVlX2lkLCBwb3J0X2lk
KTsNCj4gKwkJcmMgPSAtRUlOVkFMOw0KPiArCQlnb3RvIG91dDsNCj4gKwl9DQo+ICsjZW5kaWYN
Cj4gKw0KPiArCS8qIEZldGNoIHBvaW50ZXIgdG8gVHggcXVldWUgZGF0YSAqLw0KPiArCWZvcHMg
PSAmcnRlX2V0aF9mcF9vcHNbcG9ydF9pZF07DQo+ICsJcWQgPSBmb3BzLT50eHEuZGF0YVtxdWV1
ZV9pZF07DQo+ICsNCj4gKyNpZmRlZiBSVEVfRVRIREVWX0RFQlVHX1RYDQo+ICsJaWYgKHFkID09
IE5VTEwpIHsNCj4gKwkJUlRFX0VUSERFVl9MT0dfTElORShFUlIsICJJbnZhbGlkIHF1ZXVlX2lk
PSV1IGZvciBwb3J0X2lkPSV1IiwNCj4gKwkJCQkgICAgcXVldWVfaWQsIHBvcnRfaWQpOw0KPiAr
CQlyYyA9IC1FSU5WQUw7DQo+ICsJCWdvdG8gb3V0Ow0KPiArCX0NCj4gKyNlbmRpZg0KPiArCWlm
IChmb3BzLT50eF9xdWV1ZV9jb3VudCA9PSBOVUxMKSB7DQo+ICsJCXJjID0gLUVOT1RTVVA7DQo+
ICsJCWdvdG8gb3V0Ow0KPiArCX0NCj4gKw0KPiArCXJjID0gZm9wcy0+dHhfcXVldWVfY291bnQo
cWQpOw0KPiArDQo+ICtvdXQ6DQo+ICsJcnRlX2V0aF90cmFjZV90eF9xdWV1ZV9jb3VudChwb3J0
X2lkLCBxdWV1ZV9pZCwgcmMpOw0KPiArCXJldHVybiByYzsNCj4gK30NCj4gICNpZmRlZiBfX2Nw
bHVzcGx1cw0KPiAgfQ0KPiAgI2VuZGlmDQo+IGRpZmYgLS1naXQgYS9saWIvZXRoZGV2L3J0ZV9l
dGhkZXZfY29yZS5oIGIvbGliL2V0aGRldi9ydGVfZXRoZGV2X2NvcmUuaA0KPiBpbmRleCA0YmZh
Zjc5YzZjLi5hMThmMjQyY2E0IDEwMDY0NA0KPiAtLS0gYS9saWIvZXRoZGV2L3J0ZV9ldGhkZXZf
Y29yZS5oDQo+ICsrKyBiL2xpYi9ldGhkZXYvcnRlX2V0aGRldl9jb3JlLmgNCj4gQEAgLTUwLDYg
KzUwLDkgQEAgdHlwZWRlZiB1aW50MzJfdCAoKmV0aF9yeF9xdWV1ZV9jb3VudF90KSh2b2lkICpy
eHEpOw0KPiAgLyoqIEBpbnRlcm5hbCBDaGVjayB0aGUgc3RhdHVzIG9mIGEgUnggZGVzY3JpcHRv
ciAqLw0KPiAgdHlwZWRlZiBpbnQgKCpldGhfcnhfZGVzY3JpcHRvcl9zdGF0dXNfdCkodm9pZCAq
cnhxLCB1aW50MTZfdCBvZmZzZXQpOw0KPiANCj4gKy8qKiBAaW50ZXJuYWwgR2V0IG51bWJlciBv
ZiB1c2VkIGRlc2NyaXB0b3JzIG9uIGEgdHJhbnNtaXQgcXVldWUuICovDQo+ICt0eXBlZGVmIGlu
dCAoKmV0aF90eF9xdWV1ZV9jb3VudF90KSh2b2lkICp0eHEpOw0KPiArDQo+ICAvKiogQGludGVy
bmFsIENoZWNrIHRoZSBzdGF0dXMgb2YgYSBUeCBkZXNjcmlwdG9yICovDQo+ICB0eXBlZGVmIGlu
dCAoKmV0aF90eF9kZXNjcmlwdG9yX3N0YXR1c190KSh2b2lkICp0eHEsIHVpbnQxNl90IG9mZnNl
dCk7DQo+IA0KPiBAQCAtMTE2LDcgKzExOSw5IEBAIHN0cnVjdCBydGVfZXRoX2ZwX29wcyB7DQo+
ICAJZXRoX3R4X2Rlc2NyaXB0b3Jfc3RhdHVzX3QgdHhfZGVzY3JpcHRvcl9zdGF0dXM7DQo+ICAJ
LyoqIENvcHkgdXNlZCBtYnVmcyBmcm9tIFR4IG1idWYgcmluZyBpbnRvIFJ4LiAqLw0KPiAgCWV0
aF9yZWN5Y2xlX3R4X21idWZzX3JldXNlX3QgcmVjeWNsZV90eF9tYnVmc19yZXVzZTsNCj4gLQl1
aW50cHRyX3QgcmVzZXJ2ZWQyWzJdOw0KPiArCS8qKiBHZXQgdGhlIG51bWJlciBvZiB1c2VkIFR4
IGRlc2NyaXB0b3JzLiAqLw0KPiArCWV0aF90eF9xdWV1ZV9jb3VudF90IHR4X3F1ZXVlX2NvdW50
Ow0KPiArCXVpbnRwdHJfdCByZXNlcnZlZDJbMV07DQo+ICAJLyoqQH0qLw0KPiANCj4gIH0gX19y
dGVfY2FjaGVfYWxpZ25lZDsNCj4gZGlmZiAtLWdpdCBhL2xpYi9ldGhkZXYvcnRlX2V0aGRldl90
cmFjZV9mcC5oIGIvbGliL2V0aGRldi9ydGVfZXRoZGV2X3RyYWNlX2ZwLmgNCj4gaW5kZXggMTg2
MjcxYzlmZi4uNDBiNmU0NzU2YiAxMDA2NDQNCj4gLS0tIGEvbGliL2V0aGRldi9ydGVfZXRoZGV2
X3RyYWNlX2ZwLmgNCj4gKysrIGIvbGliL2V0aGRldi9ydGVfZXRoZGV2X3RyYWNlX2ZwLmgNCj4g
QEAgLTczLDYgKzczLDE0IEBAIFJURV9UUkFDRV9QT0lOVF9GUCgNCj4gIAlydGVfdHJhY2VfcG9p
bnRfZW1pdF91NjQoY291bnQpOw0KPiAgKQ0KPiANCj4gK1JURV9UUkFDRV9QT0lOVF9GUCgNCj4g
KwlydGVfZXRoX3RyYWNlX3R4X3F1ZXVlX2NvdW50LA0KPiArCVJURV9UUkFDRV9QT0lOVF9BUkdT
KHVpbnQxNl90IHBvcnRfaWQsIHVpbnQxNl90IHF1ZXVlX2lkLCBpbnQgcmMpLA0KPiArCXJ0ZV90
cmFjZV9wb2ludF9lbWl0X3UxNihwb3J0X2lkKTsNCj4gKwlydGVfdHJhY2VfcG9pbnRfZW1pdF91
MTYocXVldWVfaWQpOw0KPiArCXJ0ZV90cmFjZV9wb2ludF9lbWl0X2ludChyYyk7DQo+ICspDQo+
ICsNCj4gICNpZmRlZiBfX2NwbHVzcGx1cw0KPiAgfQ0KPiAgI2VuZGlmDQo+IGRpZmYgLS1naXQg
YS9saWIvZXRoZGV2L3ZlcnNpb24ubWFwIGIvbGliL2V0aGRldi92ZXJzaW9uLm1hcA0KPiBpbmRl
eCBhMDUwYmFhYjBmLi43M2E3ODhkOTFhIDEwMDY0NA0KPiAtLS0gYS9saWIvZXRoZGV2L3ZlcnNp
b24ubWFwDQo+ICsrKyBiL2xpYi9ldGhkZXYvdmVyc2lvbi5tYXANCj4gQEAgLTMxOSw2ICszMTks
NyBAQCBFWFBFUklNRU5UQUwgew0KPiANCj4gIAkjIGFkZGVkIGluIDI0LjAzDQo+ICAJcnRlX2V0
aF9maW5kX3Jzc19hbGdvOw0KPiArCXJ0ZV9ldGhfdHhfcXVldWVfY291bnQ7DQo+ICB9Ow0KPiAN
Cj4gIElOVEVSTkFMIHsNCj4gLS0NCg0KQWNrZWQtYnk6IEtvbnN0YW50aW4gQW5hbnlldiA8a29u
c3RhbnRpbi5hbmFueWV2QGh1YXdlaS5jb20+DQoNCj4gMi40My4wDQoNCg==