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 4CF25A04B6;
	Mon, 12 Oct 2020 22:22:38 +0200 (CEST)
Received: from [92.243.14.124] (localhost [127.0.0.1])
	by dpdk.org (Postfix) with ESMTP id B86511D9CE;
	Mon, 12 Oct 2020 22:22:36 +0200 (CEST)
Received: from nat-hk.nvidia.com (nat-hk.nvidia.com [203.18.50.4])
 by dpdk.org (Postfix) with ESMTP id 6F2B21D9CB
 for <dev@dpdk.org>; Mon, 12 Oct 2020 22:22:34 +0200 (CEST)
Received: from HKMAIL103.nvidia.com (Not Verified[10.18.92.9]) by
 nat-hk.nvidia.com (using TLS: TLSv1.2, AES256-SHA)
 id <B5f84bb080000>; Tue, 13 Oct 2020 04:22:32 +0800
Received: from HKMAIL103.nvidia.com (10.18.16.12) by HKMAIL103.nvidia.com
 (10.18.16.12) with Microsoft SMTP Server (TLS) id 15.0.1473.3; Mon, 12 Oct
 2020 20:22:30 +0000
Received: from NAM11-BN8-obe.outbound.protection.outlook.com (104.47.58.176)
 by HKMAIL103.nvidia.com (10.18.16.12) with Microsoft SMTP Server (TLS) id
 15.0.1473.3 via Frontend Transport; Mon, 12 Oct 2020 20:22:30 +0000
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=kcIlW0CKPpVpmu60tGZ6VD8ZloaADw4QdJuJU3yBvJE1eNgQ+SLxHfAxTAeASQxiDsnLG8q6eOSTj6tWFCSdeWOBRv8SxWKH0Z4dHvpT2aK1vIRbF0AvXSnNz8mmgTD2tq4WCUKsCXt1JL2Dk0U/HmB6e1fNfQbhfdKH3HAz5CmstiHVW8SHPVqkv45IDCCMiy54nyBdTWLz1Zs9OillKP7kWYu44tZHl2Oz31050hviNd0IVNUBs4kWx0mI7HZp8AfIg/HXO97dgNjap+QoFxHJatFB8taEoHPB7bl8VUgW4ZzYFJEMzBV7QGJuhCl1pH1YQntf+uy/7LUkxPSz0w==
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=Qyf3AJBR6OhIdmw/C53lEVqUVKkZZ6UDvNS7jTAbaZ0=;
 b=h042wpykbPxz7ysnz8mNKEz2hZFyFwgy18VKeF+czXI52ZggNAkV2xauP6JskSDOB0OJf+Fp3XqWbx1SMBXsmcfmw8Ku6TYx/ILdKsgjkYe9etlK94tZpV185xP7xwNTc59xgvAYtJW67m7L9apCh3sX7eiChaVmDvZsdoqRrhmWbmRfg+5yVy6hvspz7x/DVeG+OjLzFYZRSDIj7pfRbAzX5fcqXfZpei0BBaQagRRu8py/Hnll+IejExaZgUaz/XCRhOL4cQjnrHTQlQ9cpZg5IqM9LO0BV5wACvh1a716ni2Emi7CYbnyHCPD9pLEbqp3H/O+LC5zH4IxQDGRbA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=nvidia.com; dmarc=pass action=none header.from=nvidia.com;
 dkim=pass header.d=nvidia.com; arc=none
Received: from MWHPR12MB1360.namprd12.prod.outlook.com (2603:10b6:300:12::7)
 by MWHPR12MB1806.namprd12.prod.outlook.com (2603:10b6:300:10d::21) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3455.23; Mon, 12 Oct
 2020 20:22:27 +0000
Received: from MWHPR12MB1360.namprd12.prod.outlook.com
 ([fe80::711e:ec6f:ba28:d3d0]) by MWHPR12MB1360.namprd12.prod.outlook.com
 ([fe80::711e:ec6f:ba28:d3d0%5]) with mapi id 15.20.3455.030; Mon, 12 Oct 2020
 20:22:26 +0000
From: Slava Ovsiienko <viacheslavo@nvidia.com>
To: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>, "NBU-Contact-Thomas
 Monjalon" <thomas@monjalon.net>
CC: "dev@dpdk.org" <dev@dpdk.org>, "stephen@networkplumber.org"
 <stephen@networkplumber.org>, "ferruh.yigit@intel.com"
 <ferruh.yigit@intel.com>, "olivier.matz@6wind.com" <olivier.matz@6wind.com>,
 "jerinjacobk@gmail.com" <jerinjacobk@gmail.com>, "maxime.coquelin@redhat.com"
 <maxime.coquelin@redhat.com>, "david.marchand@redhat.com"
 <david.marchand@redhat.com>
Thread-Topic: [dpdk-dev] [PATCH v3 1/9] ethdev: introduce Rx buffer split
Thread-Index: AQHWoLRD6ZtbU0K9g0WnG2yXDCqjCamUKsIAgAAG6QCAAAJDAIAAMz4Q
Date: Mon, 12 Oct 2020 20:22:26 +0000
Message-ID: <MWHPR12MB1360A72176EEBAD6DCE1BC82DF070@MWHPR12MB1360.namprd12.prod.outlook.com>
References: <MWHPR12MB136076E652230CEBD6EE6562DF5F0@MWHPR12MB1360.namprd12.prod.outlook.com>
 <1602519585-5194-2-git-send-email-viacheslavo@nvidia.com>
 <6a04882a-4c4c-b515-9499-2ef7b20e94b2@oktetlabs.ru>
 <228932926.FOKgLshO0b@thomas>
 <e38e4ef6-baef-bd73-55ca-0936d03bbdc2@oktetlabs.ru>
In-Reply-To: <e38e4ef6-baef-bd73-55ca-0936d03bbdc2@oktetlabs.ru>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
authentication-results: oktetlabs.ru; dkim=none (message not signed)
 header.d=none;oktetlabs.ru; dmarc=none action=none header.from=nvidia.com;
x-originating-ip: [95.164.10.10]
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: f028c0a8-3d43-447f-8bac-08d86eec8960
x-ms-traffictypediagnostic: MWHPR12MB1806:
x-ld-processed: 43083d15-7273-40c1-b7db-39efd9ccc17a,ExtAddr
x-microsoft-antispam-prvs: <MWHPR12MB1806D79E9EB8CF0F1BD65C7ADF070@MWHPR12MB1806.namprd12.prod.outlook.com>
x-ms-oob-tlc-oobclassifiers: OLM:4714;
x-ms-exchange-senderadcheck: 1
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: A21ERKsL6ZDmj+K5A9KhWmXv5bd2exxkLMx5pqe3jZ5lbk1ESFLKUrDvhdhSHDGTWJZlJOvvGcC96qq5qdK0dv244Mm3qCU1ps2nZUuZdTeiw9MLJi/oeQAN5rsmDApDPAyscjMSi52XgO5/DcXe9m+tcvaD2G4bcES1HtZPhT7wwmuJzfy+VFZYNGwcb4WBeYkMYcAt76x+GoyP/EvvRG1/W2H9HFaWpAyJNF6X9QCW1dG+i+RUtQl/Tir68D6iAO1zLuu32oK8Hkrws2H8F+YLrYTzuCcp61rb49cdxprh2w6JXk1gnapxfdcl7Q34/mo86S4QKM5t8sguzgqQug==
x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:;
 IPV:NLI; SFV:NSPM; H:MWHPR12MB1360.namprd12.prod.outlook.com; PTR:; CAT:NONE;
 SFS:(4636009)(346002)(376002)(366004)(396003)(136003)(39860400002)(2906002)(186003)(316002)(26005)(8936002)(66946007)(76116006)(66556008)(66476007)(64756008)(9686003)(66446008)(53546011)(7696005)(83380400001)(110136005)(54906003)(6506007)(33656002)(8676002)(478600001)(55016002)(4326008)(52536014)(5660300002)(71200400001)(86362001);
 DIR:OUT; SFP:1101; 
x-ms-exchange-antispam-messagedata: w1yspMxOvjAeaeabHiqtF6VbA5PUDIDCciZRbYOemNDFI8Kof+1BKtUb14BHLWAJZMmv9NFFThmXHKf+8uswmwpTznRlHvqrX47kx4TjAw/S+G48SOQ2giK6Ltr4CiWVdJ0v9QqgqBGv4N1jil9WlBFA+gE77uKNUiehsFP07nmUenneu7A5pFaqZeX9Jz2ArhTSldi+zv8JnI+59M9V+5RcGUgDP8GY7F6ESCeJQqRFR5156I9FpCjjScseVGcfY87veqnP8j1mZSDWYOsWSJSqaDg3DIl9l1//iKpSgeeTqvec0s+hTNim72TgoqhX8UW9Gp1ujopzKX8ZR9BY12K6MM7ib2YfN/3OHcg9lNXyYy5TG5S3lM1GfKbG866H+DrsHjLaymvn8S2uE14jZennTb5rKFHvDNkEHj8gQP5AkGL1kpE1HnaxBA4ysqsEKuUaM7Pbaiy+q/Tvmk/vzl17mvemuaNn/atn7X+BoHNhy1yb5Sl7ohIefg8KlB9A/5RVwox79XppUbWJKxwnbTe9iq2+lYrVQN6oDZe905BFCvz4djWjyJ7qSWXKWIkSjwo3CiuOS5V+4Ktue/FZ82ZNxzt7lnjvFaTHNonc9mhjYC26qwWsNATVaKPPbxmbt+hLbWy3ozNm8J2Xu1Cp9Q==
x-ms-exchange-transport-forked: True
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: MWHPR12MB1360.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: f028c0a8-3d43-447f-8bac-08d86eec8960
X-MS-Exchange-CrossTenant-originalarrivaltime: 12 Oct 2020 20:22:26.6729 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 43083d15-7273-40c1-b7db-39efd9ccc17a
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: ukKJwGNwqzFSSlMgnSNbycbsDQzburhErtoCfn4iKkzH81pjPKp+k1pv4b5ex4b2zmdfZmUIE25OPaMKA8Nspg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MWHPR12MB1806
X-OriginatorOrg: Nvidia.com
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nvidia.com; s=n1;
 t=1602534152; bh=Qyf3AJBR6OhIdmw/C53lEVqUVKkZZ6UDvNS7jTAbaZ0=;
 h=ARC-Seal:ARC-Message-Signature:ARC-Authentication-Results:From:To:
 CC:Subject:Thread-Topic:Thread-Index:Date:Message-ID:References:
 In-Reply-To:Accept-Language:Content-Language:X-MS-Has-Attach:
 X-MS-TNEF-Correlator:authentication-results:x-originating-ip:
 x-ms-publictraffictype:x-ms-office365-filtering-correlation-id:
 x-ms-traffictypediagnostic:x-ld-processed:
 x-microsoft-antispam-prvs:x-ms-oob-tlc-oobclassifiers:
 x-ms-exchange-senderadcheck:x-microsoft-antispam:
 x-microsoft-antispam-message-info:x-forefront-antispam-report:
 x-ms-exchange-antispam-messagedata:x-ms-exchange-transport-forked:
 Content-Type:Content-Transfer-Encoding:MIME-Version:
 X-MS-Exchange-CrossTenant-AuthAs:
 X-MS-Exchange-CrossTenant-AuthSource:
 X-MS-Exchange-CrossTenant-Network-Message-Id:
 X-MS-Exchange-CrossTenant-originalarrivaltime:
 X-MS-Exchange-CrossTenant-fromentityheader:
 X-MS-Exchange-CrossTenant-id:X-MS-Exchange-CrossTenant-mailboxtype:
 X-MS-Exchange-CrossTenant-userprincipalname:
 X-MS-Exchange-Transport-CrossTenantHeadersStamped:X-OriginatorOrg;
 b=HrExbMo4Q4BUoOOYrDnIKlwBkZkyt4zTPPtHLwkagIu3Glwv+kxArwGUPTDQDbt3d
 CFjYMnrD5TrUsMEPkKiuMxbKfDQLc7TK66FXF/kCN/ONcljOQ4BekwAwnkcNjQPdo+
 epVgIElThgqpUu/W9kvpRcXlFhE4t29Ux0AKuy5IsHIeaeiVqmm5TWkQkHBJf0Xd5L
 eiqVbbDUhC2ugY+hwTAkzd1dz7CbMQfON6QIC7TnAqnAOvreUZYimSgBOreT0I6sfO
 Ct+asjPAZEpOv3lETKIm7jRcNzSBX70JL8HL0Rkpdv4eBw2EEVJt46rLdXx5M1V9OH
 7bq27KV4mqB6Q==
Subject: Re: [dpdk-dev] [PATCH v3 1/9] ethdev: introduce Rx buffer split
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>

SGksIEFuZHJldw0KDQpZb3UgYXJlIHJpZ2h0IC0gdGhlIGNvZGUgZHVwbGljYXRpb24gb2YgcnRl
X2V0aF9yeF9xdWV1ZV9zZXR1cCgpIGNvZGUgd2FzIGxhcmdlDQphbmQgaXQgZGlkIG5vdCBsb29r
IHdlbGwgaW5kZWVkLg0KDQpJJ3ZlIHVwZGF0ZWQgdGhlIGNvZGUsIG5vdyBydGVfZXRoX3J4X3F1
ZXVlX3NldHVwKCkgYW5kIHJ0ZV9ldGhfcnhzZWdfcXVldWVfc2V0dXAoKQ0Kc2hhcmUgdGhlIHVu
ZGVybHlpbmcgaW50ZXJuYWwgcm91dGluZSBfX3J0ZV9ldGhfcnhfcXVldWVfc2V0dXAoKS4NCg0K
T2YgY291cnNlLCB0aGVyZSBpcyBzb21lIHJlZmFjdG9yaW5nLCBidXQgaXQgaXMgbWVyZWx5IHN0
cmFpZ2h0Zm9yd2FyZCwgYW5kIEkgaG9wZSB5b3UNCndpbGwgZmluZCBpdCBhY2NlcHRhYmxlLCBw
bGVhc2Ugc2VlIHRoZSB2NCBvZiB0aGUgcGF0Y2hzZXQuDQoNCkFzIEkgc2FpZCwgSSBkbyBub3Qg
c2VlIHRoZSBkZWNpc2lvbi1tYWtpbmcgY29uIG9yIHBybyBmb3IgdGhlIGNhc2UuDQpBbnl3YXks
IGlmIHdlIGRlY2lkZSB0byBtb3ZlIHRoZSBzZWdtZW50IGRlc2NyaXB0aW9ucyB0byB0aGUgY29u
ZmlnIHN0cnVjdCAtIHRoZXJlIGlzDQpqdXN0IHNtYWxsIHN0ZXAgcmVtYWluaW5nIG92ZXIgZXhp
c3RpbmcgY29kZSB0byBpbXBsZW1lbnQgeW91IHRoYXQgYXBwcm9hY2guDQoNCldpdGggYmVzdCBy
ZWdhcmRzLCBTbGF2YQ0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IEFu
ZHJldyBSeWJjaGVua28gPGFuZHJldy5yeWJjaGVua29Ab2t0ZXRsYWJzLnJ1Pg0KPiBTZW50OiBN
b25kYXksIE9jdG9iZXIgMTIsIDIwMjAgMjA6MTENCj4gVG86IE5CVS1Db250YWN0LVRob21hcyBN
b25qYWxvbiA8dGhvbWFzQG1vbmphbG9uLm5ldD47IFNsYXZhDQo+IE92c2lpZW5rbyA8dmlhY2hl
c2xhdm9AbnZpZGlhLmNvbT4NCj4gQ2M6IGRldkBkcGRrLm9yZzsgc3RlcGhlbkBuZXR3b3JrcGx1
bWJlci5vcmc7IGZlcnJ1aC55aWdpdEBpbnRlbC5jb207DQo+IG9saXZpZXIubWF0ekA2d2luZC5j
b207IGplcmluamFjb2JrQGdtYWlsLmNvbTsNCj4gbWF4aW1lLmNvcXVlbGluQHJlZGhhdC5jb207
IGRhdmlkLm1hcmNoYW5kQHJlZGhhdC5jb20NCj4gU3ViamVjdDogUmU6IFtkcGRrLWRldl0gW1BB
VENIIHYzIDEvOV0gZXRoZGV2OiBpbnRyb2R1Y2UgUnggYnVmZmVyIHNwbGl0DQo+IA0KPiBPbiAx
MC8xMi8yMCA4OjAzIFBNLCBUaG9tYXMgTW9uamFsb24gd3JvdGU6DQo+ID4gMTIvMTAvMjAyMCAx
ODozOCwgQW5kcmV3IFJ5YmNoZW5rbzoNCj4gPj4gT24gMTAvMTIvMjAgNzoxOSBQTSwgVmlhY2hl
c2xhdiBPdnNpaWVua28gd3JvdGU6DQo+ID4+PiAgaW50DQo+ID4+PiArcnRlX2V0aF9yeHNlZ19x
dWV1ZV9zZXR1cCh1aW50MTZfdCBwb3J0X2lkLCB1aW50MTZfdCByeF9xdWV1ZV9pZCwNCj4gPj4+
ICsJCQkgIHVpbnQxNl90IG5iX3J4X2Rlc2MsIHVuc2lnbmVkIGludCBzb2NrZXRfaWQsDQo+ID4+
PiArCQkJICBjb25zdCBzdHJ1Y3QgcnRlX2V0aF9yeGNvbmYgKnJ4X2NvbmYsDQo+ID4+PiArCQkJ
ICBjb25zdCBzdHJ1Y3QgcnRlX2V0aF9yeHNlZyAqcnhfc2VnLCB1aW50MTZfdCBuX3NlZykgew0K
PiA+Pj4gKwlpbnQgcmV0Ow0KPiA+Pj4gKwl1aW50MTZfdCBzZWdfaWR4Ow0KPiA+Pj4gKwl1aW50
MzJfdCBtYnBfYnVmX3NpemU7DQo+ID4+DQo+ID4+IDxzdGFydC1vZi1kdXA+DQo+ID4+DQo+ID4+
PiArCXN0cnVjdCBydGVfZXRoX2RldiAqZGV2Ow0KPiA+Pj4gKwlzdHJ1Y3QgcnRlX2V0aF9kZXZf
aW5mbyBkZXZfaW5mbzsNCj4gPj4+ICsJc3RydWN0IHJ0ZV9ldGhfcnhjb25mIGxvY2FsX2NvbmY7
DQo+ID4+PiArCXZvaWQgKipyeHE7DQo+ID4+PiArDQo+ID4+PiArCVJURV9FVEhfVkFMSURfUE9S
VElEX09SX0VSUl9SRVQocG9ydF9pZCwgLUVJTlZBTCk7DQo+ID4+PiArDQo+ID4+PiArCWRldiA9
ICZydGVfZXRoX2RldmljZXNbcG9ydF9pZF07DQo+ID4+PiArCWlmIChyeF9xdWV1ZV9pZCA+PSBk
ZXYtPmRhdGEtPm5iX3J4X3F1ZXVlcykgew0KPiA+Pj4gKwkJUlRFX0VUSERFVl9MT0coRVJSLCAi
SW52YWxpZCBSWCBxdWV1ZV9pZD0ldVxuIiwNCj4gcnhfcXVldWVfaWQpOw0KPiA+Pj4gKwkJcmV0
dXJuIC1FSU5WQUw7DQo+ID4+PiArCX0NCj4gPj4NCj4gPj4gPGVuZC1vZi1kdXA+DQo+ID4+DQo+
ID4+PiArDQo+ID4+PiArCWlmIChyeF9zZWcgPT0gTlVMTCkgew0KPiA+Pj4gKwkJUlRFX0VUSERF
Vl9MT0coRVJSLCAiSW52YWxpZCBudWxsIGRlc2NyaXB0aW9uIHBvaW50ZXJcbiIpOw0KPiA+Pj4g
KwkJcmV0dXJuIC1FSU5WQUw7DQo+ID4+PiArCX0NCj4gPj4+ICsNCj4gPj4+ICsJaWYgKG5fc2Vn
ID09IDApIHsNCj4gPj4+ICsJCVJURV9FVEhERVZfTE9HKEVSUiwgIkludmFsaWQgemVybyBkZXNj
cmlwdGlvbg0KPiBudW1iZXJcbiIpOw0KPiA+Pj4gKwkJcmV0dXJuIC1FSU5WQUw7DQo+ID4+PiAr
CX0NCj4gPj4+ICsNCj4gPj4+ICsJUlRFX0ZVTkNfUFRSX09SX0VSUl9SRVQoKmRldi0+ZGV2X29w
cy0+cnhzZWdfcXVldWVfc2V0dXAsDQo+ID4+PiArLUVOT1RTVVApOw0KPiA+Pj4gKw0KPiA+Pg0K
PiA+PiA8c3RhcnQtb2YtZHVwPg0KPiA+Pg0KPiA+Pj4gKwkvKg0KPiA+Pj4gKwkgKiBDaGVjayB0
aGUgc2l6ZSBvZiB0aGUgbWJ1ZiBkYXRhIGJ1ZmZlci4NCj4gPj4+ICsJICogVGhpcyB2YWx1ZSBt
dXN0IGJlIHByb3ZpZGVkIGluIHRoZSBwcml2YXRlIGRhdGEgb2YgdGhlIG1lbW9yeQ0KPiBwb29s
Lg0KPiA+Pj4gKwkgKiBGaXJzdCBjaGVjayB0aGF0IHRoZSBtZW1vcnkgcG9vbCBoYXMgYSB2YWxp
ZCBwcml2YXRlIGRhdGEuDQo+ID4+PiArCSAqLw0KPiA+Pj4gKwlyZXQgPSBydGVfZXRoX2Rldl9p
bmZvX2dldChwb3J0X2lkLCAmZGV2X2luZm8pOw0KPiA+Pj4gKwlpZiAocmV0ICE9IDApDQo+ID4+
PiArCQlyZXR1cm4gcmV0Ow0KPiA+Pg0KPiA+PiA8ZW5kLW9mLWR1cD4NCj4gPj4NCj4gPj4+ICsN
Cj4gPj4+ICsJZm9yIChzZWdfaWR4ID0gMDsgc2VnX2lkeCA8IG5fc2VnOyBzZWdfaWR4KyspIHsN
Cj4gPj4+ICsJCXN0cnVjdCBydGVfbWVtcG9vbCAqbXAgPSByeF9zZWdbc2VnX2lkeF0ubXA7DQo+
ID4+PiArDQo+ID4+PiArCQlpZiAobXAtPnByaXZhdGVfZGF0YV9zaXplIDwNCj4gPj4+ICsJCQkJ
c2l6ZW9mKHN0cnVjdCBydGVfcGt0bWJ1Zl9wb29sX3ByaXZhdGUpKSB7DQo+ID4+PiArCQkJUlRF
X0VUSERFVl9MT0coRVJSLCAiJXMgcHJpdmF0ZV9kYXRhX3NpemUgJWQgPA0KPiAlZFxuIiwNCj4g
Pj4+ICsJCQkJbXAtPm5hbWUsIChpbnQpbXAtPnByaXZhdGVfZGF0YV9zaXplLA0KPiA+Pj4gKwkJ
CQkoaW50KXNpemVvZihzdHJ1Y3QNCj4gcnRlX3BrdG1idWZfcG9vbF9wcml2YXRlKSk7DQo+ID4+
PiArCQkJcmV0dXJuIC1FTk9TUEM7DQo+ID4+PiArCQl9DQo+ID4+PiArDQo+ID4+PiArCQltYnBf
YnVmX3NpemUgPSBydGVfcGt0bWJ1Zl9kYXRhX3Jvb21fc2l6ZShtcCk7DQo+ID4+PiArCQlpZiAo
bWJwX2J1Zl9zaXplIDwgcnhfc2VnW3NlZ19pZHhdLmxlbmd0aCArDQo+ID4+PiArCQkJCSAgIHJ4
X3NlZ1tzZWdfaWR4XS5vZmZzZXQgKw0KPiA+Pj4gKwkJCQkgICAoc2VnX2lkeCA/IDAgOg0KPiA+
Pj4gKwkJCQkgICAgKHVpbnQzMl90KVJURV9QS1RNQlVGX0hFQURST09NKSkgew0KPiA+Pj4gKwkJ
CVJURV9FVEhERVZfTE9HKEVSUiwNCj4gPj4+ICsJCQkJIiVzIG1idWZfZGF0YV9yb29tX3NpemUg
JWQgPCAlZCINCj4gPj4+ICsJCQkJIiAoc2VnbWVudCBsZW5ndGg9JWQgKyBzZWdtZW50DQo+IG9m
ZnNldD0lZClcbiIsDQo+ID4+PiArCQkJCW1wLT5uYW1lLCAoaW50KW1icF9idWZfc2l6ZSwNCj4g
Pj4+ICsJCQkJKGludCkocnhfc2VnW3NlZ19pZHhdLmxlbmd0aCArDQo+ID4+PiArCQkJCSAgICAg
IHJ4X3NlZ1tzZWdfaWR4XS5vZmZzZXQpLA0KPiA+Pj4gKwkJCQkoaW50KXJ4X3NlZ1tzZWdfaWR4
XS5sZW5ndGgsDQo+ID4+PiArCQkJCShpbnQpcnhfc2VnW3NlZ19pZHhdLm9mZnNldCk7DQo+ID4+
PiArCQkJcmV0dXJuIC1FSU5WQUw7DQo+ID4+PiArCQl9DQo+ID4+PiArCX0NCj4gPj4+ICsNCj4g
Pj4NCj4gPj4gPHN0YXJ0LW9mLWh1Z2UtZHVwPg0KPiA+Pg0KPiA+Pj4gKwkvKiBVc2UgZGVmYXVs
dCBzcGVjaWZpZWQgYnkgZHJpdmVyLCBpZiBuYl9yeF9kZXNjIGlzIHplcm8gKi8NCj4gPj4+ICsJ
aWYgKG5iX3J4X2Rlc2MgPT0gMCkgew0KPiA+Pj4gKwkJbmJfcnhfZGVzYyA9IGRldl9pbmZvLmRl
ZmF1bHRfcnhwb3J0Y29uZi5yaW5nX3NpemU7DQo+ID4+PiArCQkvKiBJZiBkcml2ZXIgZGVmYXVs
dCBpcyBhbHNvIHplcm8sIGZhbGwgYmFjayBvbiBFQUwgZGVmYXVsdCAqLw0KPiA+Pj4gKwkJaWYg
KG5iX3J4X2Rlc2MgPT0gMCkNCj4gPj4+ICsJCQluYl9yeF9kZXNjID0NCj4gUlRFX0VUSF9ERVZf
RkFMTEJBQ0tfUlhfUklOR1NJWkU7DQo+ID4+PiArCX0NCj4gPj4+ICsNCj4gPj4+ICsJaWYgKG5i
X3J4X2Rlc2MgPiBkZXZfaW5mby5yeF9kZXNjX2xpbS5uYl9tYXggfHwNCj4gPj4+ICsJCQluYl9y
eF9kZXNjIDwgZGV2X2luZm8ucnhfZGVzY19saW0ubmJfbWluIHx8DQo+ID4+PiArCQkJbmJfcnhf
ZGVzYyAlIGRldl9pbmZvLnJ4X2Rlc2NfbGltLm5iX2FsaWduICE9IDApIHsNCj4gPj4+ICsNCj4g
Pj4+ICsJCVJURV9FVEhERVZfTE9HKEVSUiwNCj4gPj4+ICsJCQkiSW52YWxpZCB2YWx1ZSBmb3Ig
bmJfcnhfZGVzYyg9JWh1KSwgc2hvdWxkIGJlOiAiDQo+ID4+PiArCQkJIjw9ICVodSwgPj0gJWh1
LCBhbmQgYSBwcm9kdWN0IG9mICVodVxuIiwNCj4gPj4+ICsJCQluYl9yeF9kZXNjLCBkZXZfaW5m
by5yeF9kZXNjX2xpbS5uYl9tYXgsDQo+ID4+PiArCQkJZGV2X2luZm8ucnhfZGVzY19saW0ubmJf
bWluLA0KPiA+Pj4gKwkJCWRldl9pbmZvLnJ4X2Rlc2NfbGltLm5iX2FsaWduKTsNCj4gPj4+ICsJ
CXJldHVybiAtRUlOVkFMOw0KPiA+Pj4gKwl9DQo+ID4+PiArDQo+ID4+PiArCWlmIChkZXYtPmRh
dGEtPmRldl9zdGFydGVkICYmDQo+ID4+PiArCQkhKGRldl9pbmZvLmRldl9jYXBhICYNCj4gPj4+
ICsJCQlSVEVfRVRIX0RFVl9DQVBBX1JVTlRJTUVfUlhfUVVFVUVfU0VUVVApKQ0KPiA+Pj4gKwkJ
cmV0dXJuIC1FQlVTWTsNCj4gPj4+ICsNCj4gPj4+ICsJaWYgKGRldi0+ZGF0YS0+ZGV2X3N0YXJ0
ZWQgJiYNCj4gPj4+ICsJCShkZXYtPmRhdGEtPnJ4X3F1ZXVlX3N0YXRlW3J4X3F1ZXVlX2lkXSAh
PQ0KPiA+Pj4gKwkJCVJURV9FVEhfUVVFVUVfU1RBVEVfU1RPUFBFRCkpDQo+ID4+PiArCQlyZXR1
cm4gLUVCVVNZOw0KPiA+Pj4gKw0KPiA+Pj4gKwlyeHEgPSBkZXYtPmRhdGEtPnJ4X3F1ZXVlczsN
Cj4gPj4+ICsJaWYgKHJ4cVtyeF9xdWV1ZV9pZF0pIHsNCj4gPj4+ICsJCVJURV9GVU5DX1BUUl9P
Ul9FUlJfUkVUKCpkZXYtPmRldl9vcHMtDQo+ID5yeF9xdWV1ZV9yZWxlYXNlLA0KPiA+Pj4gKwkJ
CQkJLUVOT1RTVVApOw0KPiA+Pj4gKwkJKCpkZXYtPmRldl9vcHMtPnJ4X3F1ZXVlX3JlbGVhc2Up
KHJ4cVtyeF9xdWV1ZV9pZF0pOw0KPiA+Pj4gKwkJcnhxW3J4X3F1ZXVlX2lkXSA9IE5VTEw7DQo+
ID4+PiArCX0NCj4gPj4+ICsNCj4gPj4+ICsJaWYgKHJ4X2NvbmYgPT0gTlVMTCkNCj4gPj4+ICsJ
CXJ4X2NvbmYgPSAmZGV2X2luZm8uZGVmYXVsdF9yeGNvbmY7DQo+ID4+PiArDQo+ID4+PiArCWxv
Y2FsX2NvbmYgPSAqcnhfY29uZjsNCj4gPj4+ICsNCj4gPj4+ICsJLyoNCj4gPj4+ICsJICogSWYg
YW4gb2ZmbG9hZGluZyBoYXMgYWxyZWFkeSBiZWVuIGVuYWJsZWQgaW4NCj4gPj4+ICsJICogcnRl
X2V0aF9kZXZfY29uZmlndXJlKCksIGl0IGhhcyBiZWVuIGVuYWJsZWQgb24gYWxsIHF1ZXVlcywN
Cj4gPj4+ICsJICogc28gdGhlcmUgaXMgbm8gbmVlZCB0byBlbmFibGUgaXQgaW4gdGhpcyBxdWV1
ZSBhZ2Fpbi4NCj4gPj4+ICsJICogVGhlIGxvY2FsX2NvbmYub2ZmbG9hZHMgaW5wdXQgdG8gdW5k
ZXJseWluZyBQTUQgb25seSBjYXJyaWVzDQo+ID4+PiArCSAqIHRob3NlIG9mZmxvYWRpbmdzIHdo
aWNoIGFyZSBvbmx5IGVuYWJsZWQgb24gdGhpcyBxdWV1ZSBhbmQNCj4gPj4+ICsJICogbm90IGVu
YWJsZWQgb24gYWxsIHF1ZXVlcy4NCj4gPj4+ICsJICovDQo+ID4+PiArCWxvY2FsX2NvbmYub2Zm
bG9hZHMgJj0gfmRldi0+ZGF0YS0+ZGV2X2NvbmYucnhtb2RlLm9mZmxvYWRzOw0KPiA+Pj4gKw0K
PiA+Pj4gKwkvKg0KPiA+Pj4gKwkgKiBOZXcgYWRkZWQgb2ZmbG9hZGluZ3MgZm9yIHRoaXMgcXVl
dWUgYXJlIHRob3NlIG5vdCBlbmFibGVkIGluDQo+ID4+PiArCSAqIHJ0ZV9ldGhfZGV2X2NvbmZp
Z3VyZSgpIGFuZCB0aGV5IG11c3QgYmUgcGVyLXF1ZXVlIHR5cGUuDQo+ID4+PiArCSAqIEEgcHVy
ZSBwZXItcG9ydCBvZmZsb2FkaW5nIGNhbid0IGJlIGVuYWJsZWQgb24gYSBxdWV1ZSB3aGlsZQ0K
PiA+Pj4gKwkgKiBkaXNhYmxlZCBvbiBhbm90aGVyIHF1ZXVlLiBBIHB1cmUgcGVyLXBvcnQgb2Zm
bG9hZGluZyBjYW4ndA0KPiA+Pj4gKwkgKiBiZSBlbmFibGVkIGZvciBhbnkgcXVldWUgYXMgbmV3
IGFkZGVkIG9uZSBpZiBpdCBoYXNuJ3QgYmVlbg0KPiA+Pj4gKwkgKiBlbmFibGVkIGluIHJ0ZV9l
dGhfZGV2X2NvbmZpZ3VyZSgpLg0KPiA+Pj4gKwkgKi8NCj4gPj4+ICsJaWYgKChsb2NhbF9jb25m
Lm9mZmxvYWRzICYgZGV2X2luZm8ucnhfcXVldWVfb2ZmbG9hZF9jYXBhKSAhPQ0KPiA+Pj4gKwkg
ICAgIGxvY2FsX2NvbmYub2ZmbG9hZHMpIHsNCj4gPj4+ICsJCVJURV9FVEhERVZfTE9HKEVSUiwN
Cj4gPj4+ICsJCQkiRXRoZGV2IHBvcnRfaWQ9JWQgcnhfcXVldWVfaWQ9JWQsIG5ldyBhZGRlZA0K
PiBvZmZsb2FkcyINCj4gPj4+ICsJCQkiIDB4JSJQUkl4NjQiIG11c3QgYmUgd2l0aGluIHBlci1x
dWV1ZSBvZmZsb2FkIg0KPiA+Pj4gKwkJCSIgY2FwYWJpbGl0aWVzIDB4JSJQUkl4NjQiIGluICVz
KClcbiIsDQo+ID4+PiArCQkJcG9ydF9pZCwgcnhfcXVldWVfaWQsIGxvY2FsX2NvbmYub2ZmbG9h
ZHMsDQo+ID4+PiArCQkJZGV2X2luZm8ucnhfcXVldWVfb2ZmbG9hZF9jYXBhLA0KPiA+Pj4gKwkJ
CV9fZnVuY19fKTsNCj4gPj4+ICsJCXJldHVybiAtRUlOVkFMOw0KPiA+Pj4gKwl9DQo+ID4+PiAr
DQo+ID4+PiArCS8qDQo+ID4+PiArCSAqIElmIExSTyBpcyBlbmFibGVkLCBjaGVjayB0aGF0IHRo
ZSBtYXhpbXVtIGFnZ3JlZ2F0ZWQgcGFja2V0DQo+ID4+PiArCSAqIHNpemUgaXMgc3VwcG9ydGVk
IGJ5IHRoZSBjb25maWd1cmVkIGRldmljZS4NCj4gPj4+ICsJICovDQo+ID4+PiArCWlmIChsb2Nh
bF9jb25mLm9mZmxvYWRzICYgREVWX1JYX09GRkxPQURfVENQX0xSTykgew0KPiA+Pj4gKwkJaWYg
KGRldi0+ZGF0YS0+ZGV2X2NvbmYucnhtb2RlLm1heF9scm9fcGt0X3NpemUgPT0gMCkNCj4gPj4+
ICsJCQlkZXYtPmRhdGEtPmRldl9jb25mLnJ4bW9kZS5tYXhfbHJvX3BrdF9zaXplID0NCj4gPj4+
ICsJCQkJZGV2LT5kYXRhLQ0KPiA+ZGV2X2NvbmYucnhtb2RlLm1heF9yeF9wa3RfbGVuOw0KPiA+
Pj4gKwkJaW50IHJldCA9IGNoZWNrX2xyb19wa3Rfc2l6ZShwb3J0X2lkLA0KPiA+Pj4gKwkJCQlk
ZXYtPmRhdGEtDQo+ID5kZXZfY29uZi5yeG1vZGUubWF4X2xyb19wa3Rfc2l6ZSwNCj4gPj4+ICsJ
CQkJZGV2LT5kYXRhLQ0KPiA+ZGV2X2NvbmYucnhtb2RlLm1heF9yeF9wa3RfbGVuLA0KPiA+Pj4g
KwkJCQlkZXZfaW5mby5tYXhfbHJvX3BrdF9zaXplKTsNCj4gPj4+ICsJCWlmIChyZXQgIT0gMCkN
Cj4gPj4+ICsJCQlyZXR1cm4gcmV0Ow0KPiA+Pj4gKwl9DQo+ID4+DQo+ID4+IDxlbmQtb2YtaHVn
ZS1kdXA+DQo+ID4+DQo+ID4+IElNTyBJdCBpcyBub3QgYWNjZXB0YWJsZSB0byBkdXBsaWNhdGlv
biBzbyBtdWNoIGNvZGUuDQo+ID4+IEl0IGlzIHNpbXBseSB1bm1haW50YWluYWJsZS4NCj4gPj4N
Cj4gPj4gTkFDSw0KPiA+DQo+ID4gQ2FuIGl0IGJlIHNvbHZlZCBieSBtYWtpbmcgcnRlX2V0aF9y
eF9xdWV1ZV9zZXR1cCgpIGEgd3JhcHBlciBvbiB0b3ANCj4gPiBvZiB0aGlzIG5ldyBydGVfZXRo
X3J4c2VnX3F1ZXVlX3NldHVwKCkgPw0KPiA+DQo+IA0KPiBDb3VsZCBiZSwgYnV0IHN0cmljdGx5
IHNwZWFraW5nIGl0IHdpbGwgYnJlYWsgYXJndW1lbnRzIHZhbGlkYXRpb24gb3JkZXIgYW5kDQo+
IGVycm9yIHJlcG9ydGluZyBpbiB2YXJpb3VzIGNhc2VzLg0KPiBTbywgcmVmYWN0b3JpbmcgaXMg
cmVxdWlyZWQgdG8ga2VlcCBpdCBjb25zaXN0ZW50Lg0K