From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 08403A0543; Tue, 7 Jun 2022 08:00:59 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id E65184021D; Tue, 7 Jun 2022 08:00:57 +0200 (CEST) Received: from NAM11-BN8-obe.outbound.protection.outlook.com (mail-bn8nam11on2058.outbound.protection.outlook.com [40.107.236.58]) by mails.dpdk.org (Postfix) with ESMTP id 4C8EF40156 for ; Tue, 7 Jun 2022 08:00:56 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=WQ9fCkdjkgnwvQadkrcvzy8ZRU+F92xC0x9jgzvwZu8qshpZyeEaa7wzN/kOBD4y3iyDV3VUcOzGslfCK+AusPTyrI/azf4bgp6HIgkfi693e92pI+Z4zb6vK1b6ptHGZpqmS8xCgq1AMZG9q+ryb4yksRgRERfe2/TYroEObpUYsDFO+W4MyxSTzbsrBIpt0SHdEuWj188j87ryJH3dWsLQoH3YofO9jwCz/ME/ZQWYFgwubCx0hydTpIJEQDqPtCXENw1kZNJnmn/FItEZIx+yqxximVl47+6NWIQFOxMEUA/K+UusEOyrLIdDwiGkVJbcpVEFi/FWyZ4wbA+XrQ== 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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=X1w0oMdMDO7D0HMijjoxlqYstBULvIZYh2+c8uUcQKE=; b=VBNGGuaKCbsmQWVxRtzRUPZ1y1iQEN7dajT5ghEAERC+azJq7gZmFtWqw3T2iWAHh8u8jc/q0l5SLBNeV0mqK6d9psJLjUHbPofwYgRTNNplzGERkNqSM9lgZr4fWgKVBi/UKd85BrO8OOs5ZUyAzyziKOBjWrtAwEt4EuXFlb34cO6WbD5b4jaKxrdqruVhWbRRwXQ025hYl9EQyIqJmh8T7QleD3N02UVZT/MZ575Z9TyhkQ8HRrUwZRFPlmIJDGJ52iw+8vl1NtVD5m/6jjyrQZ/SlgTaKStFX678/EnSSZOaYwCVyFbFyRffBry2ndhhD46YCwkJgNu9U6Mp3Q== 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 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=X1w0oMdMDO7D0HMijjoxlqYstBULvIZYh2+c8uUcQKE=; b=QMEDDSyTMW/8EFXFNMLgQuQvUy7X+GrDoDu9q4QGXCSDex9HbuGwyCaoLQXvkHccQGlklCwPfZDOOBT0TXu5nelUb7HEUUXyR+jQe6ISu9HLCDsw+Ys5Q4Ob4PC1YVS06CawE+KCTGy2vXMcqidiunkDedIqW6SsfWRunuP3ZW+gWvDjfW1Vpcpgy7HbaI5jW3AA8N1/DHP3YH5fvskUtYzZhMjtqztjcKc/VC+Qlg6h0Mb2ZQAMYNEpe9D5R0zxaSHtbpoz9bQGetwGsaRtzEQIh7Rrec6RJTJjESdjgq8c7taoHS2gx2D5RLha+g1uNSQN487hd1tVxYuPKVlk/Q== Received: from MN2PR12MB3647.namprd12.prod.outlook.com (2603:10b6:208:c4::17) by BYAPR12MB2967.namprd12.prod.outlook.com (2603:10b6:a03:d5::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5314.12; Tue, 7 Jun 2022 06:00:53 +0000 Received: from MN2PR12MB3647.namprd12.prod.outlook.com ([fe80::d4b6:b1d7:8090:98b9]) by MN2PR12MB3647.namprd12.prod.outlook.com ([fe80::d4b6:b1d7:8090:98b9%6]) with mapi id 15.20.5314.019; Tue, 7 Jun 2022 06:00:52 +0000 From: Spike Du To: Andrew Rybchenko , Matan Azrad , Slava Ovsiienko , Ori Kam , "NBU-Contact-Thomas Monjalon (EXTERNAL)" , Wenzhuo Lu , Beilei Xing , Bernard Iremonger , Ray Kinsella , Neil Horman CC: "stephen@networkplumber.org" , "mb@smartsharesystems.com" , "dev@dpdk.org" , Raslan Darawsheh Subject: RE: [PATCH v4 3/7] ethdev: introduce Rx queue based fill threshold Thread-Topic: [PATCH v4 3/7] ethdev: introduce Rx queue based fill threshold Thread-Index: AQHYeBEZfKBXGrFdxEO2hMF98LvoIq1CToVwgABTbICAANU9EA== Date: Tue, 7 Jun 2022 06:00:52 +0000 Message-ID: References: <20220524152041.737154-1-spiked@nvidia.com> <20220603124821.1148119-1-spiked@nvidia.com> <20220603124821.1148119-4-spiked@nvidia.com> In-Reply-To: Accept-Language: zh-CN, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nvidia.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 113c0f6a-4d11-4ad3-55c6-08da484b1451 x-ms-traffictypediagnostic: BYAPR12MB2967:EE_ x-ld-processed: 43083d15-7273-40c1-b7db-39efd9ccc17a,ExtAddr x-microsoft-antispam-prvs: x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: x6hGEZm4hS510kJxd5WOdyxgg76rU57bwsJ+Kn0keFK/Og68QMFzKxfQjq/gRBlaHjg10qH6R8H9thtwoIm/VZUlmWUXgHsZoRjg56IKCie6cSDyWdl+hdD/KYJXixhxXdFzXBOXEoPADPhknwyMrGYa1McXQpooqjWe4aR7fDf3ij2UfxZ2Z8DDrBJZS1gJKFs9V2Heb0c9SQgFm2dl91RwZD4Cdup4NzLorXG6u2TlpMrAPbMZoHkPE4A+G5Xo03hwBmdaPk/TwlrN7gG7esPRyW/8rc0qOKdhLkrJ5Dx6L82dHDJTPcMJb8PGsqu+9dPocD3etxA9DFGp0auU/d9apeE5nyeB7I3liqAHfidLr/ULC6BxQixQWQzNkC9Hme/MGvo9oOmFRKlpSMUIqu+4rexcdu+CCbMiLPQ4NADsIvZVh/pSCS67jEDOMOKYJhSCDfNwTrVfqpyvA7Qzl76vz+fV4mwMM8sgkIIKUCfWIQTMj/8VotNwqXtOj3hY4gKo3A4uVLcb8Jl/Jy0eXnJYCa3iKBYbRObKxyQ6Qcv6dkb2GS+urFvrHI6HClxbLd/2YzZXJ86OpJa39QOJUE31En8W5qZ5MewGd3VXGZ2reA+N9B/MWnaXnuv+bp9tbsEZnHPtGfwR1pBA6uRGmyehRi3+wO3crEssqiYFl/mc4Pde5fkQQlQkXSunpFH8ZibGJiVNrtRqg3jTejCUMkPT+GvJko6kC6/CRFGnRvA= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:MN2PR12MB3647.namprd12.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230001)(4636009)(366004)(921005)(8936002)(8676002)(4326008)(122000001)(5660300002)(38070700005)(76116006)(66476007)(66556008)(66446008)(66946007)(64756008)(52536014)(316002)(7416002)(55016003)(33656002)(83380400001)(86362001)(38100700002)(508600001)(54906003)(110136005)(53546011)(71200400001)(9686003)(6506007)(7696005)(26005)(107886003)(186003)(2906002); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?ZWVuQ1owbFFST1ZaanZPTVdFMmp3QjdwdWt0Wi9SRnJyU0VVUU13c1RCbWN4?= =?utf-8?B?ZzU5azhRdko1THRCR2dNbnp5NzBHZGRHV2I4V0tZUzVGYUs0T1FlY3VlZWJN?= =?utf-8?B?YVZNZUFLOEE0ck9zQ2FIaWdBazJNWGR5b0N2R3dPak1UNU51MjVieEZrOXgz?= =?utf-8?B?UlVzN25DM1djRm13U0tlM1dqbC8wZkdIMHZnN2tya0tZb2VxWmtwS09mdnQ1?= =?utf-8?B?akhqMVRuZFArQ1VUM2pueWlNRDR2eWxlb0tJNXdRc0xLNFZOeFVSL1J6ZStG?= =?utf-8?B?a2doV3RTczFJVHRnL2tydit6Y3ljWjFaeUQwaUdBWVNKbU1LdFdNUnJkakZm?= =?utf-8?B?QnNqQW4raTlwdy8xbFU1c0M4N2JaT3RtTEd0dmlmNmpJazVkYWJBbXd2cDVy?= =?utf-8?B?cmNEWmExb1NWaWtiZTJiSlVja2dGQVlZSEV3WkVSRkwyS3dVUCtZcWtPOERV?= =?utf-8?B?NjlOR1hDQ01YcVMvdXZuSFZrRGxEOGs1cmR3d3NGZGUxMC9UQlNLZUFHdWcy?= =?utf-8?B?cnY3bWwybmZ0WFR4eVg4ZkpYWk5GS3ZiUFVrUHFKOGFOQ2dYZ1pFZGpFYUJy?= =?utf-8?B?akd3Q3VISWt3WDNwOHpCSE5SWTNFcGd3MDF0Q1ZRYmMvWTdxQXkxemJhZjV1?= =?utf-8?B?VUluSFJNZEtZQzBLTnBUYWQvYjk4dVRZVVcrOVA0VXphVUt1YWRnclZyN1Uy?= =?utf-8?B?RkwzQVB2T0VydkhDY2VhUGU2S2tHNkhkeVBvb1lZamozNWZnU1NCV2hOTFA4?= =?utf-8?B?cnhXS2lBcE9kUjhERk1YWXJTRjlRS2VZckJHVThTTloxOVh1UE5Qa3FJWklU?= =?utf-8?B?Z2s0Q0FXVjFvajIwK0V0dDQ3aGEyK0hKS0dEREZxYlFuVzU0VHlVRHdkWUhT?= =?utf-8?B?MVdIbXRmWFNiR1doTFE0M1ViZkNjVzRYZXdYSXFVOHlTNFlPTUtoT0RyVnNE?= =?utf-8?B?MXB1dU5hSXBJcnV6RSsrblRQbkhGT2xhT0xkeEVpOXR5eEU3bWhVR2FsL3FK?= =?utf-8?B?NTlCUmpBWkt4SFV3ZUFmUXdQUTh4Z2NyMWFidWxXclR3Z3hUNUFOcFE1Y2JW?= =?utf-8?B?aWFsRDVxUFY0TmZJUWpEWnlFVTVnZ2ZJWEtJbWdMQmQrT0J4Z2tHYXRBUDkw?= =?utf-8?B?cjBOTUw2RmhsWW5ZRVZWQ1BpeWNyT21GYnhiWFVLd0QwVlVzbnR0TVViUSt5?= =?utf-8?B?OVlnQktFYmlpQmhpWGhDNDVhbHpYT09qbzh5TjQ1K0lIa3lydktTWnQycE1H?= =?utf-8?B?ZVBzc0NONDBaZFJjTnFuVi80elk1YnVKb204Q3lIVTBSaUE4RXVzbldaZjAv?= =?utf-8?B?amlJL2I0dGtEakFiTWVFK0RyTVo4NmhlWjQ0bnd5V3lGVTUraWFZSnNsL2ow?= =?utf-8?B?WnNkTEJVYnBvMXBKN01YdDFHOVUwbW9VMlhpU2o2VUFraFFZRlR2WHNRajJm?= =?utf-8?B?L2hHT0UxWmw0NUY4L05kY0JRalR3Yi80TG83eGRkWUR3YVZDVzd3RHdCNmNV?= =?utf-8?B?TldaNGNGNU9YeVpLdWF1S2hsa1Ryai9QbUF3ZENDRGtYVWRUQ1hPQmsrT1NK?= =?utf-8?B?a3cyaHoxTmU0MnBoeWs0NU81R0plRXIwbjdncnNWb1dsUW9RbjloT2QwUVFa?= =?utf-8?B?RmI3MWFWRzNLTDY2cFF6NE5TYjd6MDM2aFV5K1ZVVCtMek1OS2Jqa0hYSHd4?= =?utf-8?B?Qm5BUDkwUmxIR1AwS25UQm1QTHQwYVlxeTkzZFV3NjZJcCtiQWJVNUh4NWFP?= =?utf-8?B?UitET05OL3N3VEpmWDRRRWZBRGpPaUVYWGljc3E3b2Q0eTRaUEs2WnhrcllX?= =?utf-8?B?MWphaE16SDhyYWVvR004UzIzVkZjMzdnNXBycW1kYkRmVmlFbG9kNktzdE9J?= =?utf-8?B?eG5OVXhaQnFIekZZTlpReWJIb0V1UzFPRVB3dG5INzR0NDllM0xIdlUrUGd1?= =?utf-8?B?M1VDQ0lTb0VYZWVhdjJJRGdWODd6bUNwb0lUc3RWYzF4c0VSZlBrR3NjNktt?= =?utf-8?B?bCtWZVdGQTZ5cU9XRnJvT1JLaWFpL0RMTEpaaEd6bmgrSUxOUDB2VGJ2eUN2?= =?utf-8?B?cVd0UnRzVUdNeEx1akxEYUxqdmwyTzdOLzgxc09CZ3BoWkpGM3VmbmZLSVFo?= =?utf-8?B?WVEzUThHRUQ3LzdPNldkbUdBYUJqMlNrakFUSi9qZVdrZW9yVjJteTBrdk9F?= =?utf-8?B?WXd6WDFhMWlHa0RRZyt1T2VHNVdiRUl2VEZoZGdBRWx0TWdzUVlFVE9peWxk?= =?utf-8?B?SlVpeWdSYlNERWdsY2dOUUNrTXFxd011djQyL1BTQkQ4cUI1QVd0UkFjUG1G?= =?utf-8?Q?2XOY+EbI9nNwXLkpde?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: MN2PR12MB3647.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 113c0f6a-4d11-4ad3-55c6-08da484b1451 X-MS-Exchange-CrossTenant-originalarrivaltime: 07 Jun 2022 06:00:52.6812 (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: 1hj4LrPz2uhb7dumw2/gzlZkHIUbefuO6G02YS8ZNIQXAUhaF/NkPixgJ2BmOLMmMbQHC5jxQ7OSReH8WD5CGQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BYAPR12MB2967 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org SWYgeW91IHRoaW5rIEhXIGtub3dzICJlbXB0aW5lc3MiLCBhbmQgd2Ugd2FudCB0byBzdGljayB0 byBEUERLIGRlc2NyaXB0b3IgdGVybXMuIA0KQ2FuIHdlIHVzZSB0aGUgbmFtZSAiYXZhaWxfdGhy ZXNoPyINCldoZW4gSFcgc2VlcyBhdmFpbGFibGUgZGVzY3JpcHRvcnMgaXMgdW5kZXIgdGhpcyB0 aHJlc2hvbGQsIGFuIGV2ZW50IGlzIHRyaWdnZXJlZC4NCg0KPiAtLS0tLU9yaWdpbmFsIE1lc3Nh Z2UtLS0tLQ0KPiBGcm9tOiBBbmRyZXcgUnliY2hlbmtvIDxhbmRyZXcucnliY2hlbmtvQG9rdGV0 bGFicy5ydT4NCj4gU2VudDogVHVlc2RheSwgSnVuZSA3LCAyMDIyIDE6MTYgQU0NCj4gVG86IFNw aWtlIER1IDxzcGlrZWRAbnZpZGlhLmNvbT47IE1hdGFuIEF6cmFkIDxtYXRhbkBudmlkaWEuY29t PjsNCj4gU2xhdmEgT3ZzaWllbmtvIDx2aWFjaGVzbGF2b0BudmlkaWEuY29tPjsgT3JpIEthbSA8 b3Jpa2FAbnZpZGlhLmNvbT47DQo+IE5CVS1Db250YWN0LVRob21hcyBNb25qYWxvbiAoRVhURVJO QUwpIDx0aG9tYXNAbW9uamFsb24ubmV0PjsNCj4gV2Vuemh1byBMdSA8d2Vuemh1by5sdUBpbnRl bC5jb20+OyBCZWlsZWkgWGluZyA8YmVpbGVpLnhpbmdAaW50ZWwuY29tPjsNCj4gQmVybmFyZCBJ cmVtb25nZXIgPGJlcm5hcmQuaXJlbW9uZ2VyQGludGVsLmNvbT47IFJheSBLaW5zZWxsYQ0KPiA8 bWRyQGFzaHJvZS5ldT47IE5laWwgSG9ybWFuIDxuaG9ybWFuQHR1eGRyaXZlci5jb20+DQo+IENj OiBzdGVwaGVuQG5ldHdvcmtwbHVtYmVyLm9yZzsgbWJAc21hcnRzaGFyZXN5c3RlbXMuY29tOw0K PiBkZXZAZHBkay5vcmc7IFJhc2xhbiBEYXJhd3NoZWggPHJhc2xhbmRAbnZpZGlhLmNvbT4NCj4g U3ViamVjdDogUmU6IFtQQVRDSCB2NCAzLzddIGV0aGRldjogaW50cm9kdWNlIFJ4IHF1ZXVlIGJh c2VkIGZpbGwgdGhyZXNob2xkDQo+IA0KPiBFeHRlcm5hbCBlbWFpbDogVXNlIGNhdXRpb24gb3Bl bmluZyBsaW5rcyBvciBhdHRhY2htZW50cw0KPiANCj4gDQo+IE9uIDYvNi8yMiAxNjoxNiwgU3Bp a2UgRHUgd3JvdGU6DQo+ID4gSGkgQW5kcmV3LA0KPiA+ICAgICAgIFBsZWFzZSBzZWUgYmVsb3cg Zm9yICJmaWxsIHRocmVzaG9sZCIgY29uY2VwdCwgSSdtIG9rIHdpdGggb3RoZXINCj4gY29tbWVu dHMgYWJvdXQgY29kZS4NCj4gPg0KPiA+IFJlZ2FyZHMsDQo+ID4gU3Bpa2UuDQo+ID4NCj4gPg0K PiA+PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+PiBGcm9tOiBBbmRyZXcgUnliY2hl bmtvIDxhbmRyZXcucnliY2hlbmtvQG9rdGV0bGFicy5ydT4NCj4gPj4gU2VudDogU2F0dXJkYXks IEp1bmUgNCwgMjAyMiA4OjQ2IFBNDQo+ID4+IFRvOiBTcGlrZSBEdSA8c3Bpa2VkQG52aWRpYS5j b20+OyBNYXRhbiBBenJhZCA8bWF0YW5AbnZpZGlhLmNvbT47DQo+ID4+IFNsYXZhIE92c2lpZW5r byA8dmlhY2hlc2xhdm9AbnZpZGlhLmNvbT47IE9yaSBLYW0gPG9yaWthQG52aWRpYS5jb20+Ow0K PiA+PiBOQlUtQ29udGFjdC1UaG9tYXMgTW9uamFsb24gKEVYVEVSTkFMKSA8dGhvbWFzQG1vbmph bG9uLm5ldD47DQo+IFdlbnpodW8NCj4gPj4gTHUgPHdlbnpodW8ubHVAaW50ZWwuY29tPjsgQmVp bGVpIFhpbmcgPGJlaWxlaS54aW5nQGludGVsLmNvbT47DQo+ID4+IEJlcm5hcmQgSXJlbW9uZ2Vy IDxiZXJuYXJkLmlyZW1vbmdlckBpbnRlbC5jb20+OyBSYXkgS2luc2VsbGENCj4gPj4gPG1kckBh c2hyb2UuZXU+OyBOZWlsIEhvcm1hbiA8bmhvcm1hbkB0dXhkcml2ZXIuY29tPg0KPiA+PiBDYzog c3RlcGhlbkBuZXR3b3JrcGx1bWJlci5vcmc7IG1iQHNtYXJ0c2hhcmVzeXN0ZW1zLmNvbTsNCj4g Pj4gZGV2QGRwZGsub3JnOyBSYXNsYW4gRGFyYXdzaGVoIDxyYXNsYW5kQG52aWRpYS5jb20+DQo+ ID4+IFN1YmplY3Q6IFJlOiBbUEFUQ0ggdjQgMy83XSBldGhkZXY6IGludHJvZHVjZSBSeCBxdWV1 ZSBiYXNlZCBmaWxsDQo+ID4+IHRocmVzaG9sZA0KPiA+Pg0KPiA+PiBFeHRlcm5hbCBlbWFpbDog VXNlIGNhdXRpb24gb3BlbmluZyBsaW5rcyBvciBhdHRhY2htZW50cw0KPiA+Pg0KPiA+Pg0KPiA+ PiBPbiA2LzMvMjIgMTU6NDgsIFNwaWtlIER1IHdyb3RlOg0KPiA+Pj4gRmlsbCB0aHJlc2hvbGQg ZGVzY3JpYmVzIHRoZSBmdWxsbmVzcyBvZiBhIFJ4IHF1ZXVlLiBJZiB0aGUgUnggcXVldWUNCj4g Pj4+IGZ1bGxuZXNzIGlzIGFib3ZlIHRoZSB0aHJlc2hvbGQsIHRoZSBkZXZpY2Ugd2lsbCB0cmln Z2VyIHRoZSBldmVudA0KPiA+Pj4gUlRFX0VUSF9FVkVOVF9SWF9GSUxMX1RIUkVTSC4NCj4gPj4N Cj4gPj4gU29ycnksIEknbSBub3Qgc3VyZSB0aGF0IEkgdW5kZXJzdGFuZC4gQXMgZmFyIGFzIEkg a25vdyB0aGUgcHJvY2Vzcw0KPiA+PiB0byBhZGQgbW9yZSBSeCBidWZmZXJzIHRvIFJ4IHF1ZXVl IGlzIGNhbGxlZCAncmVmaWxsJyBpbiBtYW55DQo+ID4+IGRyaXZlcnMuIFNvIGZpbGwgbGV2ZWwg aXMgYSBudW1iZXIgKG9yIHBlcmNlbnRhZ2UpIG9mIGZyZWUgYnVmZmVycyBpbiBhbiBSeA0KPiBx dWV1ZS4NCj4gPj4gSWYgc28sIGZpbGwgdGhyZWFzaG9sZCBzaG91bGQgYmUgYSBtaW5pbXVtIGZp bGwgbGV2ZWwgYW5kIGJlbG93IHRoZQ0KPiA+PiBsZXZlbCB3ZSBzaG91bGQgZ2VuZXJhdGUgYW4g ZXZlbnQuDQo+ID4+DQo+ID4+IEhvd2V2ZXIgcmVhZGluZyB0aGUgZmlyc3QgcGFyYWdyYXBoIG9m IHRoZSBkZXNjcml0aW9uIGl0IGxvb2tzIGxpa2UNCj4gPj4geW91IG1lYW4gb3Bvc2l0ZSB0aGlu ZyAtIGEgbnVtYmVyIChvciBwZXJjZW50YWdlKSBvZiByZWFkeSBSeCBidWZmZXJzDQo+ID4+IHdp dGggcmVjZWl2ZWQgcGFja2V0cy4NCj4gPj4NCj4gPj4gSSB0aGluayB0aGF0IHRoZSB0ZXJtICJm aWxsIHRocmVzaG9sZCIgaXMgc3VnZ2VzdGVkIGJ5IG1lLCBidXQgSSBkaWQNCj4gPj4gaXQgd2l0 aCBtaW5lIHVuZGVyc3RhbmRpbmcgb2YgdGhlIGFkZGVkIGZlYXR1cmUuIE5vdyBJJ20gY29uZnVz ZWQuDQo+ID4+DQo+ID4+IE1vcmVvdmVyLCBJIGRvbid0IHVuZGVyc3RhbmQgaG93ICJmaWxsIHRo cmVzaG9sZCIgY291bGQgYmUgaW4gdGVybXMNCj4gPj4gb2YgcmVhZHkgUnggYnVmZmVycy4gSFcg c2ltcGx5IGRvbid0IHJlYWxseSBrbm93IHdoZW4gcmVhZHkgUngNCj4gPj4gYnVmZmVycyBhcmUg cHJvY2Vzc2VkIGJ5IFNXLiBTbywgSFcgY2FuJ3Qgc2F5IGZvciBzdXJlIGhvdyBtYW55IHJlYWR5 DQo+ID4+IFJ4IGJ1ZmZlcnMgYXJlIHBlbmRpbmcuIEl0IGNvdWxkIGJlIGNhbGN1bGF0ZWQgYXMg UnggcXVldWUgc2l6ZSBtaW51cw0KPiA+PiBudW1iZXIgb2YgZnJlZSBSeCBidWZmZXJzLCBidXQg aXQgaXMgaW1wcmVjaXNlLiBGaXJzdCBvZiBhbGwgbm90IGFsbCBSeA0KPiBkZXNjcmlwdG9ycyBj b3VsZCBiZSB1c2VkLg0KPiA+PiBTZWNvbmQsIEhXIHJpbmcgc2l6ZSBjb3VsZCBkaWZmZXIgcXVl dWUgc2l6ZSBzcGVjaWZpZWQgaW4gU1cuDQo+ID4+IFF1ZXVlIHNpemUgc3BlY2lmaWVkIGluIFNX IGNvdWxkIGp1c3QgbGltaXQgbWF4aW11bSBudWJtZXIgb2YgZnJlZSBSeA0KPiA+PiBidWZmZXJz IHByb3ZpZGVkIGJ5IHRoZSBkcml2ZXIuDQo+ID4+DQo+ID4NCj4gPiBMZXQgbWUgdXNlIG90aGVy IHRlcm1zIGJlY2F1c2UgImZpbGwiLyJyZWZpbGwiIGlzIGFsc28gYW1iaWd1b3VzIHRvIG1lLg0K PiA+IEluIGEgUlggcmluZywgdGhlcmUgYXJlIFJ4IGJ1ZmZlcnMgd2l0aCByZWNlaXZlZCBwYWNr ZXRzLCB5b3UgY2FsbCBpdA0KPiA+ICJyZWFkeSBSeCBidWZmZXJzIiwgdGhlcmUgaXMgYSBSVEUg YXBpIHJ0ZV9ldGhfcnhfcXVldWVfY291bnQoKSB0byBnZXQgdGhlDQo+IG51bWJlciwgSXQncyBh bHNvIGNhbGxlZCAidXNlZCBkZXNjcmlwdG9ycyIgaW4gdGhlIGNvZGUuDQo+ID4gQWxzbyB0aGVy ZSBhcmUgUnggYnVmZmVycyBwcm92aWRlZCBieSBTVyB0byBhbGxvdyBIVyAiZmlsbCBpbiIgcmVj ZWl2ZWQNCj4gcGFja2V0cywgd2UgY2FuIGNhbGwgaXQgInVzYWJsZSBSeCBidWZmZXJzIiAoaGVy ZSAidXNhYmxlIiBtZWFucyB1c2FibGUgZm9yDQo+IEhXKS4NCj4gDQo+IE1heSBiZSBpdCBpcyBi ZXR0ZXIgdG8gc3RpY2sgdG8gUnggZGVzY3JpcHRvciBzdGF0dXMgdGVybWlub2xvZ3k/DQo+IEF2 YWlsYWJsZSAtIFJ4IGRlc2NyaXB0b3IgYXZhaWxhYmxlIHRvIEhXIHRvIHB1dCByZWNlaXZlZCBw YWNrZXQgdG8gRG9uZSAtIFJ4DQo+IGRlc2NyaXB0b3Igd2l0aCByZWNlaXZlZCBwYWNrZXQgcmVw b3J0ZWQgdG8gU3cgVW5hdmFpbGFibGUgLSBvdGhlciAoZS5nLiBnYXANCj4gd2hpY2ggY2Fubm90 IGJlIHVzZWQgb3IganVzdCBwcm9jZXNzZWQgRG9uZSwgYnV0IG5vdCByZWZpbGxlZCAobWFkZQ0K PiBhdmFpbGFibGUgdG8gSFcpLg0KPiANCj4gPiBMZXQncyBkZWZpbmUgUnggcXVldWUgImZ1bGxu ZXNzIjoNCj4gPiAgICAgICBGdWxsbmVzcyA9IHJlYWR5LVJ4LWJ1ZmZlcnMvUnhxLXNpemUNCj4g DQo+IGkuZS4gbnVtYmVyIG9mIERPTkUgZGVzY3JpcHRvcnMgZGl2aWRlZCBieSBSeFEgc2l6ZQ0K PiANCj4gPiBPbiB0aGUgb3Bwb3NpdGUsIHdlIGhhdmUgImVtcHRpbmVzcyINCj4gPiAgICAgICBF bXB0aW5lc3MgPSB1c2FibGUtUngtYnVmZmVycy9SeHEtc2l6ZQ0KPiANCj4gaS5lLiBudW1iZXIg b2YgQVZBSUwgZGVzY3JpcHRvcnMgZGl2aWRlZCBieSBSeFEgc2l6ZSBOb3RlLCB0aGF0IEFWQUlM ICE9DQo+IFJ4US1zaXplIC0gRE9ORQ0KPiANCj4gSFcgcmVhbGx5IGtub3dzIG51bWJlciBvZiBh dmFpbGFibGUgZGVzY3JpcHRvcnMgYnkgaXRzIG5hdHVyZS4NCj4gSXQgaXMgYSBzcGFjZSBiZXR3 ZWVuIGxhdGVzdCBkb25lIGFuZCBsYXRlc3QgcmVjZWl2ZWQgb24gcmVmaWxsLg0KPiANCj4gSFcg ZG9lcyBub3Qga25vdyB3aGljaCBkZXNjcmlwdG9ycyBhcmUgRE9ORSwgc2luY2Ugc29tZSB3aGlj aCBhcmUgRE9ORQ0KPiBiZWZvcmUgY291bGQgYmUgYWxyZWFkeSBwcm9jZXNzZWQgYnkgU1csIGJ1 dCBub3QgeWV0IG1hZGUgYXZhaWxhYmxlIGFnYWluLg0KPiANCj4gDQo+ID4gSGVyZSAiZmlsbCB0 aHJlc2hvbGQiIGRlc2NyaWJlcyAiZnVsbG5lc3MiLCBpdCdzIG5vdCAicmVmaWxsIiBkZXNjcmli ZWQgaW4geW91DQo+IGFib3ZlIHdvcmRzLiBCZWNhdXNlIGluIHlvdXIgd29yZHMsICJyZWZpbGwi IGlzIHRoZSBvcHBvc2l0ZSwgaXQncyBmaWxsaW5nDQo+ICJ1c2FibGUvZnJlZSBSeCBidWZmZXJz Iiwgb3IgImVtcHRpbmVzcyIuDQo+ID4NCj4gPiBJIGNhbiBvbmx5IGJyaWVmbHkgZXhwbGFpbiBo b3cgbWx4NSB3b3JrcyB0byBnZXQgTFdNLCBiZWNhdXNlIEknbSBub3QgYQ0KPiBGaXJtd2FyZSBn dXkuDQo+ID4gTWx4NSBSeCBxdWV1ZSBpcyBiYXNpY2FsbHkgUkRNQSBxdWV1ZS4gSXQgaGFzIHR3 byBpbmRleGVzOiBwcm9kdWNlciBpbmRleA0KPiB3aGljaCBpbmNyZWFzZXMgd2hlbiBIVyBmaWxs cyBpbiBwYWNrZXQsIGNvbnN1bWVyIGluZGV4IHdoaWNoIGluY3JlYXNlcw0KPiB3aGVuIFNXIGNv bnN1bWVzIHRoZSBwYWNrZXQuDQo+ID4gVGhlIHF1ZXVlIHNpemUgaXMga25vd24gd2hlbiBpdCdz IGNyZWF0ZWQuIFRoZSBmdWxsbmVzcyBpcyBzb21ldGhpbmcgbGlrZQ0KPiAocHJvZHVjZXJfaW5k ZXggLSBjb25zdW1lcl9pbmRleCkgKEkgZG9uJ3QgY29uc2lkZXIgaW4gd3JhcC1hcm91bmQgaGVy ZSkuDQo+ID4gU28gbWx4NSBoYXMgdGhlIHdheSB0byBnZXQgdGhlIGZ1bGxuZXNzIG9yIGVtcHRp bmVzcyBpbiBIVyBvciBGVy4NCj4gPiBBbm90aGVyIGRldGFpbCBpcyBtbHg1IHVzZXMgdGhlIHRl cm0gIkxXTSIobGltaXQgd2F0ZXJtYXJrKSwgd2hpY2gNCj4gZGVzY3JpYmVzICJlbXB0aW5lc3Mi LiBXaGVuIHVzYWJsZS1SeC1idWZmZXJzIGlzIGJlbG93IExXTSwgd2UgdHJpZ2dlciBhbg0KPiBl dmVudC4NCj4gPiBCdXQgVGhvbWFzIHRoaW5rICJmdWxsbmVzcyIgaXMgZWFzaWVyIHRvIHVuZGVy c3RhbmQsIHNvIHdlIHVzZSAiZnVsbG5lc3MiIGluDQo+IHJ0ZSBBUElzIGFuZCB3ZSdsbCB0cmFu c2xhdGUgaXQgdG8gTFdNIGluIG1seDUgUE1ELg0KPiANCj4gSFcgc2ltcGx5IGRvZXMgbm93IGtu b3cgZnVsbG5lc3MgYW5kIHRoZXJlIGNhbid0IGdlbmVyYXRlIGFueSBldmVudHMNCj4gYmFzZWQg b24gaXQuIEl0IGlzIGEgcHJvYmxlbSBvbiBSeCB3aGVuIHRoZXJlIGlzIG5vdyBhdmFpbGFibGUg ZGVzY3JpcHRvcnMuICBJLmUuDQo+IGVtcHRpbmVzcy4NCj4gDQo+ID4+PiBGaWxsIHRocmVzaG9s ZCBpcyBkZWZpbmVkIGFzIGEgcGVyY2VudGFnZSBvZiBSeCBxdWV1ZSBzaXplIHdpdGgNCj4gPj4+ IHZhbGlkIHZhbHVlIG9mIFswLDk5XS4NCj4gPj4+IFNldHRpbmcgZmlsbCB0aHJlc2hvbGQgdG8g MCBtZWFucyBkaXNhYmxlIGl0LCB3aGljaCBpcyB0aGUgZGVmYXVsdC4NCj4gPj4+IEFkZCBmaWxs IHRocmVzaG9sZCBjb25maWd1cmF0aW9uIGFuZCBxdWVyeSBkcml2ZXIgY2FsbGJhY2tzIGluDQo+ IGV0aF9kZXZfb3BzLg0KPiA+Pj4gQWRkIGNvbW1hbmQgbGluZSBvcHRpb25zIHRvIHN1cHBvcnQg ZmlsbF90aHJlc2ggcGVyLXJ4cSBjb25maWd1cmUuDQo+ID4+PiAtIENvbW1hbmQgc3ludGF4Og0K PiA+Pj4gICAgIHNldCBwb3J0IDxwb3J0X2lkPiByeHEgPHJ4cV9pZD4gZmlsbF90aHJlc2ggPGZp bGxfdGhyZXNoX251bT4NCj4gPj4+DQo+ID4+PiAtIEV4YW1wbGUgY29tbWFuZHM6DQo+ID4+PiBU byBjb25maWd1cmUgZmlsbF90aHJlc2ggYXMgMzAlIG9mIHJ4cSBzaXplIG9uIHBvcnQgMSByeHEg MDoNCj4gPj4+IHRlc3RwbWQ+IHNldCBwb3J0IDEgcnhxIDAgZmlsbF90aHJlc2ggMzANCj4gPj4+ DQo+ID4+PiBUbyBkaXNhYmxlIGZpbGxfdGhyZXNoIG9uIHBvcnQgMSByeHEgMDoNCj4gPj4+IHRl c3RwbWQ+IHNldCBwb3J0IDEgcnhxIDAgZmlsbF90aHJlc2ggMA0KPiA+Pj4NCj4gPj4+IFNpZ25l ZC1vZmYtYnk6IFNwaWtlIER1IDxzcGlrZWRAbnZpZGlhLmNvbT4NCj4gDQo+IFtzbmlwXQ0K