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 9681BA0548; Thu, 2 Jun 2022 08:10:37 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 3C2EB40694; Thu, 2 Jun 2022 08:10:37 +0200 (CEST) Received: from NAM02-DM3-obe.outbound.protection.outlook.com (mail-dm3nam02on2083.outbound.protection.outlook.com [40.107.95.83]) by mails.dpdk.org (Postfix) with ESMTP id C4DD84021E for ; Thu, 2 Jun 2022 08:10:35 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=RxdQO8hu6g/BS/0D7TEXXOX9f3zNR1kO5Js4hUHaOIERmV5tRsxvE11IXIMGy75S8z/6OtRb/KTseYi5DpnZPBnUASl5S3DW5ZJH/RaB69Nsrv/Yn4pM4SrDPTLCow4ct2MYPRltkr4sZ/+GgIS/9pR9uZrbFoUY+C5HmiukYZjE7+RZxHyMaz/JEO68iG9wnhsQaYo+IYNYe/SWirAF8XCYWS/+hEh13YjVR2Lo0wGvzmDFrsni78m5xLwZR/DUKgIqaAmxHBMAes5AhJc605oFyElBB5VffJMtQF9L/noYjtRWKwS+CLvDMjvXDS9kHV1a7SDsJOOBGhJl4/3ReA== 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=BuWsjkBdd5mtU0HyRjGz6/siNBhp18F6lmlnu/ow2Wc=; b=MIPGdEBoLYqtmTKCCFsTXrN8Q8EDepwV0CXLehCFw2JaQeojR2dksG1txPcFkrSSd+xcbEW3pefvzpyjZF6b8Z7wBznhg15TEScJ2gB7T2jGLfHZ7ZE2fc9b5aep5KBEzSJd6YO/UoWdk6avqpMXsc/8n+do6Z838rpbqX/jQaoBUbNy2QwQW7JeAOQJ7D9FFIXlRBvjN1K2ZBzMLOnbCrZe93++xdQcEderfCSZVUzbGK3k0hyiGgYgp++bRL4z/E/BpJ7MfQi1Qy0PORdfAgXBvCs4gJ4HjLW92H0uBQGuv3/E7NxXnafQ6kdqH7vb4XZs3W9xz/j30z42sDIzDg== 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=BuWsjkBdd5mtU0HyRjGz6/siNBhp18F6lmlnu/ow2Wc=; b=W/HYXnnqStVoutunBijEvFRuE8TalaEAnNxPBxfSlr4SN62urylq1QjG++Jtsz44JTq9CJmjCVIlq8e/fF20D+vfrQqdSXnkgzy3kzCDCQbj/I49+n/BKWx0mcFdmckwQ+QR4RoMxE/qtnRn4WU/1GRunA5WXB5iN+dh1EIr5Hoi+8WOCYeXjSQA3shgxlOoGmgeBiSsiXaeQPeIZU0hNyeww3mx5Se4jaG2YA4oEu3bC+OvJ4VSI6E/BkuJV1XtLX2ruCNjlFhozEbDfO+JWvZA288KpLM370oTID/ff1h11zphI6wwyEGDE3neUVOqIQIvtsYQWSW49EF3ZkFbsQ== Received: from MW2PR12MB4666.namprd12.prod.outlook.com (2603:10b6:302:13::22) by BY5PR12MB4115.namprd12.prod.outlook.com (2603:10b6:a03:20f::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5314.12; Thu, 2 Jun 2022 06:10:33 +0000 Received: from MW2PR12MB4666.namprd12.prod.outlook.com ([fe80::edeb:4144:1ee4:83a1]) by MW2PR12MB4666.namprd12.prod.outlook.com ([fe80::edeb:4144:1ee4:83a1%6]) with mapi id 15.20.5293.019; Thu, 2 Jun 2022 06:10:33 +0000 From: Ori Kam To: Andrew Rybchenko , Jack Min , "NBU-Contact-Thomas Monjalon (EXTERNAL)" , Ferruh Yigit CC: "dev@dpdk.org" Subject: RE: [RFC v2 2/2] ethdev: queue-based flow aged report Thread-Topic: [RFC v2 2/2] ethdev: queue-based flow aged report Thread-Index: AQHYdYrL0udDNOeDSUeL/UYp3JxDva063aCAgADA03A= Date: Thu, 2 Jun 2022 06:10:32 +0000 Message-ID: References: <7a45693f478b1b721b4e05131141b526185a175c.1654063912.git.jackmin@nvidia.com> In-Reply-To: Accept-Language: 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: ba955402-774a-4d45-cca5-08da445e9a1b x-ms-traffictypediagnostic: BY5PR12MB4115: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: Jef6hO4eFzCR3Mx9e34YJNaJPAbfZz0EiwPaZpCLHnOUoFk23pbQfgN6IFYoPeJPASXCu39CEawvNA8NHtNNyRAmivm8q6Y2XfCE8yppSp6Cjgpyqb3hM5EQPkQ07I+/EcGmaIiUZXgIy0Cx/4gY2XKlNA1CyZYIuO+g7mPbpF3UxhSOLc6+SXx7Yr7Q26jcGKqnP73LJj+hGM6oqybrFvOLnTK0Z1kQKhsIJBQA5OeF1zRzZmwq1MLA+FTUIis/zwBGsOomzDelvNzoIdAu5n+QVg7sIwSM8t8j2Svc6AuUIhpDYVf1hcYlILYFX+C0f+Tss3xrjgNL4oj0YUDECQOVxqwMuVDJixNt1F3yEDLqJFlbDdl0oPWwnmsbc1RL0iMDAxqoGk/aZYzLI9Z6IeWIKAtNFkaeAJ66dNVa/7j4uiZ9Sq2qtcT4AHmo5TTW0iVfgxF7d2CK2997MZoM3m44zeSH3cjg/yscUqCexmqhKzO7+NzyY14WEVdZXtBH1Aeb0AAD6uKU5yYLrJqnIHB9JPZXp7ux1+zPu2zOJcOtA8RWKxCMYd7UDbURK4qRNVd1Lx/CyCx1HBJSk/u87GPVvv7gPUMc9OMF1e3AitLr8Cgg8ZrwnuFTdIe1b9d2pCbJEz6eRoeJ020AzwCd8ohBpC8bT0XqLNED83RamzOCqemBuc37kn6HVa9keTeiT7TVoyH4TxXeXZPuB3Chbw== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:MW2PR12MB4666.namprd12.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230001)(4636009)(366004)(8936002)(55016003)(66556008)(76116006)(4326008)(71200400001)(83380400001)(508600001)(38070700005)(110136005)(26005)(5660300002)(53546011)(64756008)(66476007)(52536014)(316002)(7696005)(6506007)(38100700002)(86362001)(122000001)(2906002)(33656002)(9686003)(186003)(8676002)(66946007)(66446008); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?SitYSU1idnUzVU5tTmhRdWZxVWpXTjY1aFZZakE1ZCtDRHVWcjMvRS9hOUFC?= =?utf-8?B?cThCeTkrdi9vbEZ6Y29MaFpXZU5DVitVZDdELzJOanNkME1pQ3g2Y0Q3Q09N?= =?utf-8?B?WnNURUlWNS9wNWQvQjJQUndHbzZxVDJGVmVLRWhFaTE5OFRWdXJ5d2QvRzZ5?= =?utf-8?B?UWpFL2oyVzkrRHVrWkZTU3JRZU14V3hkZEhBTjVkeEJoY051K09IdC9rR0JV?= =?utf-8?B?Nm5zQzN2ekpnMEFmWWNoejlNVCszcUl5QSs5cGFLeERzYUVCTkE2a0hCRlNj?= =?utf-8?B?WXE5SjlER1piMGxWSXJDTUsvenZLeU1EMUxwSEhVLzJkUjArcHFXSHV1clRl?= =?utf-8?B?N01hMkM0SVdKMjJSQURaaHFkck5mbm5NOG13SGc3R1BEY2tOV0p0eDBVaTBt?= =?utf-8?B?Y1dKekcvSHdBcEtMM2RGUnJkQUwzSUNjaUVyQXp5NjkvaFU5azI0N2hVaEo0?= =?utf-8?B?SVNLL3kvb3FTUWRLbURRSlhmOU15S1RuZGxXU3lWY2hNdC9FVmhtK2c5MFhM?= =?utf-8?B?VEdjVjhYb1RZMjhtaUlmbldadHppR29QV3lra1YyTlRtSThoMlV5Vi9Cb0V1?= =?utf-8?B?T1FvMzVlNWN3WmdMUUVEZ0I4eFNWMHd5L296dGt6VlNsNTAzN0puSFg3c2ZI?= =?utf-8?B?NUR4TW1BdGMyNHZjOE5sY2c1c21KUHRBQzVXMzlFdGhxUVY4Q1RLOUlqU3Vh?= =?utf-8?B?MDRibVVFZzlKS0tJbkc3bHhOWElRN0R4MHZ1cm9IcjdweHlPVTY0L0RUaTZC?= =?utf-8?B?L3g3dE16NEJMVVlFSVgzbkpYaWc3c2ZQZWxBWlJTN0hMZDNrQVl4aTR1cWhD?= =?utf-8?B?cHZaQm5ENGpEaTd3YVhaME5ZOFQ3YWNCb2VuZHVKUGhTL1JmVzFUQjhYQzlT?= =?utf-8?B?b01zNTcvSndwejc2T043dVRUaVNXcE81UFFCUGwyNnZxL0VRd016SzhBTVd6?= =?utf-8?B?QmpXb2Y4MUpCZ0pSblV6VXU1bjlrOGI1dlpDclpvRFhQNTdHY0dNd2pFN1Iw?= =?utf-8?B?eFd1VUttMm5LY2ZCN2hzVHNhcHBTdGx2ZU9pNnJTaUROYkZOakxkekRDeXVU?= =?utf-8?B?a28zTmhuOGtRWklQdHA4aTJoQWx1WTcxRktLOW1DUjVINUZrbWI2Z3poVVhR?= =?utf-8?B?V2FpWFp1eURUbnFsL0M2RnJHOG1EQ1N4VUFoZEw0MVVnYVk3TXVNOWRweEJH?= =?utf-8?B?Vkc3eUhyLzZEMEVZSlA3NWhZZDRnYkcwNm9aZXJqVE11U1dQamZyR2NtVEpR?= =?utf-8?B?TzhZODF4dVdSVm9Vcm50V1l2M2tmVHhUSUtxZnFZNnlnNVJBbUVWSDdBK0o5?= =?utf-8?B?ZHdkR1l1NVh0TkZJS1l4NmJWa1JlSnlYK0tQWXU4U08zbEd2VzdNZzV4bkF6?= =?utf-8?B?R0ozV1lmYXRncVRhRWZTWTV5RGM2U1JUOXlIUE5MOWUrMkdEMWZnMDVHWFBC?= =?utf-8?B?OCt2V2EyTm85aVdsZWd1ajBwMkJWRnN2ekdCZ2RhZlZRSmhkOWhMdUhBclJW?= =?utf-8?B?clBHVmg3UVRXeUJiU2NLQkVQUEo3NGM3QkE2WmpVdkJaRXE2RHhUWjU1SkQ3?= =?utf-8?B?UUhxeFNzcTNTRytaajY3bTRNWldPZXg3UVJ4RWQ0TkVQZ01qb3VGVnVnclJr?= =?utf-8?B?aWFuTEZ0Rk5XWWYraTFkcXFacVhUU2JqSUw5ZTU2OXRPUXNVWkRDd3NtdXRF?= =?utf-8?B?dmNMZ3ZIcm1kbFBwQWc5bHdPa0kwMzlRcjhldGMwNXYzR2VoaUlPRzZMaC9V?= =?utf-8?B?QXYzSFRoRTVNVFZJQzh4dTJqSDZiTHluZU9rbVNRNzlON280bkhIRFZ1M3cz?= =?utf-8?B?UkROODNmaWt4YnRNamR1T2lUbll0YXVGdG1xRGljeHFzUWQvbzhsd2JTWm5v?= =?utf-8?B?RlBYK0pZdk9GZmVjUHdOc3JySWxHRzY1KzNaNEZGUklBWWY2bzVSNDNHb1Ra?= =?utf-8?B?RFRvd2V2cmRrbEpBejJQVmNDclZDbWVVM1pEaWtHNDlvZ1Z2cE1HNFhSRlFk?= =?utf-8?B?RFVQckZqTk1XV0IwZWtUdi8zUUJTNDFlQStuSDRudEdsdjIrcWZadHpXa0F5?= =?utf-8?B?NGxHWnh4Q1lkQ3luK1R2aHhYd0tQNVdNMzZkdnV6cTNxTWFGaDMwZWdYQnJv?= =?utf-8?B?N1ZaeXdWTk8zdk81d1IzQkhLOVhMTjZ6VmZCVFBEN3RJY2h4emhGWVUzTm1Z?= =?utf-8?B?VHplTjRSR3FtbVpGTnBKRTdhTDkxNE9jWWhxQjJnL0czWlFCdDA0bFlJT3ZN?= =?utf-8?B?R1hMWmNKczZqN0U0RXh6OXZVRWdwdWZ4bFYzRERWRVhYZmtDK0VtaTJOajg2?= =?utf-8?B?Z2ZwTFhCK1FURlc2RUxoTWRxYTlnUHRVY1llZ1F0S3owN012b25tZz09?= 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: MW2PR12MB4666.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: ba955402-774a-4d45-cca5-08da445e9a1b X-MS-Exchange-CrossTenant-originalarrivaltime: 02 Jun 2022 06:10:32.9161 (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: ZY4B1rznRKrFoPSTqdNIuVjMgsmhbvQv77+fxPem8+rrlI8hMvU0wOA16niJLUl7C1oVQoaEJY3PcNmGn4gJ8g== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY5PR12MB4115 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 SGksDQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogQW5kcmV3IFJ5YmNo ZW5rbyA8YW5kcmV3LnJ5YmNoZW5rb0Bva3RldGxhYnMucnU+DQo+IFNlbnQ6IFdlZG5lc2RheSwg SnVuZSAxLCAyMDIyIDk6MjEgUE0NCj4gU3ViamVjdDogUmU6IFtSRkMgdjIgMi8yXSBldGhkZXY6 IHF1ZXVlLWJhc2VkIGZsb3cgYWdlZCByZXBvcnQNCj4gDQo+IEFnYWluLCBzdW1tYXJ5IG11c3Qg bm90IGJlIGEgc3RhdGVtZW50Lg0KPiANCj4gT24gNi8xLzIyIDEwOjM5LCBYaWFveXUgTWluIHdy b3RlOg0KPiA+IFdoZW4gYXBwbGljYXRpb24gdXNlIHF1ZXVlLWJhc2VkIGZsb3cgcnVsZSBtYW5h Z2VtZW50IGFuZCBvcGVyYXRlIHRoZQ0KPiA+IHNhbWUgZmxvdyBydWxlIG9uIHRoZSBzYW1lIHF1 ZXVlLCBlLmcgY3JlYXRlL2Rlc3Ryb3kvcXVlcnksIEFQSSBvZg0KPiA+IHF1ZXJ5aW5nIGFnZWQg ZmxvdyBydWxlcyBzaG91bGQgYWxzbyBoYXZlIHF1ZXVlIGlkIHBhcmFtZXRlciBqdXN0IGxpa2UN Cj4gPiBvdGhlciBxdWV1ZS1iYXNlZCBmbG93IEFQSXMuDQo+ID4NCj4gPiBCeSB0aGlzIHdheSwg UE1EIGNhbiB3b3JrIGluIG1vcmUgb3B0aW1pemVkIHdheSBzaW5jZSByZXNvdXJjZXMgYXJlDQo+ ID4gaXNvbGF0ZWQgYnkgcXVldWUgYW5kIG5lZWRuJ3Qgc3luY2hyb25pemUuDQo+ID4NCj4gPiBJ ZiBhcHBsaWNhdGlvbiBkbyB1c2UgcXVldWUtYmFzZWQgZmxvdyBtYW5hZ2VtZW50IGJ1dCBjb25m aWd1cmUgcG9ydA0KPiA+IHdpdGhvdXQgUlRFX0ZMT1dfUE9SVF9GTEFHX1NUUklDVF9RVUVVRSwg d2hpY2ggbWVhbnMgYXBwbGljYXRpb24gb3BlcmF0ZQ0KPiA+IGEgZ2l2ZW4gZmxvdyBydWxlIG9u IGRpZmZlcmVudCBxdWV1ZXMsIHRoZSBxdWV1ZSBpZCBwYXJhbWV0ZXIgd2lsbA0KPiA+IGJlIGln bm9yZWQuDQo+ID4NCj4gPiBJbiBhZGRpdGlvbiB0byB0aGUgYWJvdmUgY2hhbmdlLCBhbm90aGVy IG5ldyBBUEkgaXMgYWRkZWQgd2hpY2ggaGVscCB0aGUNCj4gPiBhcHBsaWNhdGlvbiBnZXQgaW5m b3JtYXRpb24gYWJvdXQgd2hpY2ggcXVldWVzIGhhdmUgYWdlZCBvdXQgZmxvd3MgYWZ0ZXINCj4g PiBSVEVfRVRIX0VWRU5UX0ZMT1dfQUdFRCBldmVudCByZWNlaXZlZC4gVGhlIHF1ZXJpZWQgcXVl dWUgaWQgY2FuIGJlDQo+ID4gdXNlZCBpbiB0aGUgYWJvdmUgcXVldWUgYmFzZWQgcXVlcnkgYWdl ZCBmbG93cyBBUEkuDQo+ID4NCj4gPiBTaWduZWQtb2ZmLWJ5OiBYaWFveXUgTWluIDxqYWNrbWlu QG52aWRpYS5jb20+DQo+ID4gLS0tDQo+ID4gICBsaWIvZXRoZGV2L3J0ZV9mbG93LmggICAgICAg IHwgODIgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrDQo+ID4gICBsaWIvZXRo ZGV2L3J0ZV9mbG93X2RyaXZlci5oIHwgMTMgKysrKysrDQo+ID4gICAyIGZpbGVzIGNoYW5nZWQs IDk1IGluc2VydGlvbnMoKykNCj4gPg0KPiA+IGRpZmYgLS1naXQgYS9saWIvZXRoZGV2L3J0ZV9m bG93LmggYi9saWIvZXRoZGV2L3J0ZV9mbG93LmgNCj4gPiBpbmRleCAzODQzOWZjZDFkLi5hMTJi ZWNmZTNiIDEwMDY0NA0KPiA+IC0tLSBhL2xpYi9ldGhkZXYvcnRlX2Zsb3cuaA0KPiA+ICsrKyBi L2xpYi9ldGhkZXYvcnRlX2Zsb3cuaA0KPiA+IEBAIC0yODEwLDYgKzI4MTAsNyBAQCBlbnVtIHJ0 ZV9mbG93X2FjdGlvbl90eXBlIHsNCj4gPiAgIAkgKiBTZWUgZnVuY3Rpb24gcnRlX2Zsb3dfZ2V0 X2FnZWRfZmxvd3MNCj4gPiAgIAkgKiBzZWUgZW51bSBSVEVfRVRIX0VWRU5UX0ZMT1dfQUdFRA0K PiA+ICAgCSAqIFNlZSBzdHJ1Y3QgcnRlX2Zsb3dfcXVlcnlfYWdlDQo+ID4gKwkgKiBTZWUgZnVu Y3Rpb24gcnRlX2Zsb3dfZ2V0X3FfYWdlZF9mbG93cw0KPiA+ICAgCSAqLw0KPiA+ICAgCVJURV9G TE9XX0FDVElPTl9UWVBFX0FHRSwNCj4gPg0KPiA+IEBAIC01NjI0LDYgKzU2MjUsODcgQEAgcnRl X2Zsb3dfYXN5bmNfYWN0aW9uX2hhbmRsZV91cGRhdGUodWludDE2X3QgcG9ydF9pZCwNCj4gPiAg IAkJY29uc3Qgdm9pZCAqdXBkYXRlLA0KPiA+ICAgCQl2b2lkICp1c2VyX2RhdGEsDQo+ID4gICAJ CXN0cnVjdCBydGVfZmxvd19lcnJvciAqZXJyb3IpOw0KPiA+ICsNCj4gPiArLyoqDQo+ID4gKyAq IEB3YXJuaW5nDQo+ID4gKyAqIEBiIEVYUEVSSU1FTlRBTDogdGhpcyBBUEkgbWF5IGNoYW5nZSB3 aXRob3V0IHByaW9yIG5vdGljZS4NCj4gPiArICoNCj4gPiArICogR2V0IGZsb3cgcXVldWVzIHdo aWNoIGhhdmUgYWdlZCBvdXQgZmxvd3Mgb24gYSBnaXZlbiBwb3J0Lg0KPiA+ICsgKg0KPiA+ICsg KiBUaGUgYXBwbGljYXRpb24gY2FuIHVzZSB0aGlzIGZ1bmN0aW9uIHRvIHF1ZXJ5IHdoaWNoIHF1 ZXVlcyBoYXZlIGFnZWQgb3V0IGZsb3dzIGFmdGVyDQo+ID4gKyAqIGEgUlRFX0VUSF9FVkVOVF9G TE9XX0FHRUQgZXZlbnQgaXMgcmVjZWl2ZWQgc28gdGhlIHJldHVybmVkIHF1ZXVlIGlkIGNhbiBi ZSB1c2VkIHRvDQo+ID4gKyAqIGdldCBhZ2VkIG91dCBmbG93cyBvbiB0aGlzIGdpdmVuIHF1ZXVl IGJ5IGNhbGwgcnRlX2Zsb3dfZ2V0X3FfYWdlZF9mbG93cy4NCj4gPiArICoNCj4gPiArICogVGhp cyBmdW5jdGlvbiBjYW4gYmUgY2FsbGVkIGZyb20gdGhlIGV2ZW50IGNhbGxiYWNrIG9yIHN5bmNo cm9ub3VzbHkgcmVnYXJkbGVzcyBvZiB0aGUgZXZlbnQuDQo+ID4gKyAqDQo+ID4gKyAqIEBwYXJh bSBwb3J0X2lkDQo+ID4gKyAqICAgUG9ydCBpZGVudGlmaWVyIG9mIEV0aGVybmV0IGRldmljZS4N Cj4gPiArICogQHBhcmFtW2luLCBvdXRdIHF1ZXVlX2lkDQo+ID4gKyAqICAgQXJyYXkgb2YgcXVl dWUgaWQgdGhhdCB3aWxsIGJlIHNldC4NCj4gPiArICogQHBhcmFtW2luXSBuYl9xdWV1ZV9pZA0K PiA+ICsgKiAgIE1heGltdW0gbnVtYmVyIG9mIHRoZSBxdWV1ZSBpZCB0aGF0IGNhbiBiZSByZXR1 cm5lZC4NCj4gPiArICogICBUaGlzIHZhbHVlIHNob3VsZCBiZSBlcXVhbCB0byB0aGUgc2l6ZSBv ZiB0aGUgcXVldWVfaWQgYXJyYXkuDQo+ID4gKyAqIEBwYXJhbVtvdXRdIGVycm9yDQo+ID4gKyAq ICAgUGVyZm9ybSB2ZXJib3NlIGVycm9yIHJlcG9ydGluZyBpZiBub3QgTlVMTC4gSW5pdGlhbGl6 ZWQgaW4gY2FzZSBvZg0KPiA+ICsgKiAgIGVycm9yIG9ubHkuDQo+ID4gKyAqDQo+ID4gKyAqIEBy ZXR1cm4NCj4gPiArICogICBpZiBuYl9xdWV1ZV9pZCBpcyAwLCByZXR1cm4gdGhlIGFtb3VudCBv ZiBhbGwgcXVldWVzIHdoaWNoIGhhdmUgYWdlZCBvdXQgZmxvd3MuDQo+ID4gKyAqICAgaWYgbmJf cXVldWVfaWQgaXMgbm90IDAgLCByZXR1cm4gdGhlIGFtb3VudCBvZiBxdWV1ZXMgd2hpY2ggaGF2 ZSBhZ2VkIG91dCBmbG93cw0KPiA+ICsgKiAgIHJlcG9ydGVkIGluIHRoZSBxdWV1ZV9pZCBhcnJh eSwgb3RoZXJ3aXNlIG5lZ2F0aXZlIGVycm5vIHZhbHVlLg0KPiANCj4gSSdtIHNvcnJ5LCBidXQg aXQgaXMgdW5jbGVhciBmb3IgbWUgd2hhdCBoYXBwZW5zIGlmIHByb3ZpZGVkIGFycmF5IGlzDQo+ IGluc3VmZmljaWVudCB0byByZXR1cm4gYWxsIHF1ZXVlcy4gSU1ITywgd2Ugc3RpbGwgc2hvdWxk IHByb3ZpZGUgYXMNCj4gbXVjaCBhcyB3ZSBjYW4uIFRoZSBxdWVzdGlvbiBpcyBob3cgdG8gcmVw b3J0IHRoYXQgd2UgaGF2ZSBtb3JlIHF1ZXVlcy4NCj4gSXQgbG9va3MgbGlrZSB0aGUgb25seSBz ZW5zaWJsZSB3YXkgaXMgdG8gcmV0dXJuIHZhbHVlIGdyZWF0ZXIgdGhhbg0KPiBuYl9xdWV1ZV9p ZC4NCj4gDQpJIHRoaW5rIHRoYXQganVzdCBsaWtlIGFueSBvdGhlciBmdW5jdGlvbiwgdGhpcyBm dW5jdGlvbiBzaG91bGQgcmV0dXJuIHRoZSBtYXggYmFzZWQgb24gdGhlIHJlcXVlc3RlZCBudW1i ZXIuDQpSZXR1cm5pbmcgYmlnZ2VyIG51bWJlciBtYXkgcmVzdWx0IGluIG91dCBvZiBidWYgaXNz dWVzLCBvciByZXF1aXJlIGV4dHJhIHZhbGlkYXRpb24gc3RlcCBmcm9tIGFwcGxpY2F0aW9uLg0K SW4gYWRkaXRpb24gYXMgZmFyIGFzIEkgY2FuIHNlZSB0aGUgY29tbW9uIHByYWN0aWNlIGluIERQ REsgaXMgdG8gcmV0dXJuIHRoZSByZXF1ZXN0ZWQgbnVtYmVyLg0KDQpJIGhhdmUgb3RoZXIgY29u Y2VybiB3aXRoIHRoaXMgZnVuY3Rpb24sIGZyb20gbXkgdW5kZXJzdGFuZGluZyB0aGlzIGZ1bmN0 aW9uIHdpbGwgYmUgY2FsbGVkIG9uIHRoZSBzZXJ2aWNlIHRocmVhZA0KdGhhdCBoYW5kZWxzIHRo ZSBhZ2luZyBldmVudCwgYWZ0ZXIgY2FsbGluZyB0aGlzIGZ1bmN0aW9uIHRoZSBhcHBsaWNhdGlv biBzdGlsbCBuZWVkcyB0byBwcm9wYWdhdGUgdGhlIGV2ZW50IHRvIHRoZQ0KY29ycmVjdCB0aHJl YWRzLg0KSSB0aGluayBpdCB3aWxsIGJlIGJldHRlciBpZiB0aGUgZXZlbnQgaXRzZWxmIHdpbGwg aG9sZCB3aGljaCBxdWV1ZSB0cmlnZ2VyZWQgdGhlIGFnaW5nLiBPciBldmVuIGJldHRlciB0byBn ZXQgdGhlDQpub3RpZmljYXRpb24gb24gdGhlIGNvcnJlY3QgdGhyZWFkLiAoSSBrbm93IGl0IGlz IG11Y2ggbW9yZSBjb21wbGljYXRlZCBidXQgbWF5YmUgaXQgaXMgd29ydGggdGhlIGVmZm9ydCwN CnNpbmNlIHRoaXMgY2FuIGJlIHVzZWQgZm9yIG90aGVyIGNhc2VzKQ0KDQo+ID4gKyAqDQo+ID4g KyAqIEBzZWUgcnRlX2Zsb3dfYWN0aW9uX2FnZQ0KPiA+ICsgKiBAc2VlIFJURV9FVEhfRVZFTlRf RkxPV19BR0VEDQo+ID4gKyAqLw0KPiA+ICsNCj4gPiArX19ydGVfZXhwZXJpbWVudGFsDQo+ID4g K2ludA0KPiA+ICtydGVfZmxvd19nZXRfYWdlZF9xdWV1ZXModWludDE2X3QgcG9ydF9pZCwgdWlu dDMyX3QgcXVldWVfaWRbXSwgdWludDMyX3QgbmJfcXVldWVfaWQsDQo+ID4gKwkJCSBzdHJ1Y3Qg cnRlX2Zsb3dfZXJyb3IgKmVycm9yKTsNCj4gPiArDQo+ID4gKy8qKg0KPiA+ICsgKiBAd2Fybmlu Zw0KPiA+ICsgKiBAYiBFWFBFUklNRU5UQUw6IHRoaXMgQVBJIG1heSBjaGFuZ2Ugd2l0aG91dCBw cmlvciBub3RpY2UuDQo+ID4gKyAqDQo+ID4gKyAqIEdldCBhZ2VkLW91dCBmbG93cyBvZiBhIGdp dmVuIHBvcnQgb24gdGhlIGdpdmVuIGZsb3cgcXVldWUuDQo+ID4gKyAqDQo+ID4gKyAqIFJURV9F VEhfRVZFTlRfRkxPV19BR0VEIGV2ZW50IHdpbGwgYmUgdHJpZ2dlcmVkIGF0IGxlYXN0IG9uZSBu ZXcgYWdlZCBvdXQgZmxvdyB3YXMNCj4gPiArICogZGV0ZWN0ZWQgb24gYW55IGZsb3cgcXVldWUg YWZ0ZXIgdGhlIGxhc3QgY2FsbCB0byBydGVfZmxvd19nZXRfcV9hZ2VkX2Zsb3dzLg0KPiA+ICsg Kg0KPiA+ICsgKiBUaGUgYXBwbGljYXRpb24gY2FuIHVzZSBydGVfZmxvd19nZXRfYWdlZF9xdWV1 ZXMgdG8gcXVlcnkgd2hpY2ggcXVldWVzIGhhdmUgYWdlZA0KPiA+ICsgKiBvdXQgZmxvd3MgYWZ0 ZXIgUlRFX0VUSF9FVkVOX0ZMT1dfQUdFRCBldmVudC4NCj4gPiArICoNCj4gPiArICogSWYgYXBw bGljYXRpb24gY29uZmlndXJlIHBvcnQgYXR0cmlidXRlIHdpdGhvdXQgUlRFX0ZMT1dfUE9SVF9G TEFHX1NUUklDVF9RVUVVRQ0KPiA+ICsgKiB0aGUgQHAgcXVldWVfaWQgd2lsbCBiZSBpZ25vcmVk Lg0KPiA+ICsgKiBUaGlzIGZ1bmN0aW9uIGNhbiBiZSBjYWxsZWQgdG8gZ2V0IHRoZSBhZ2VkIGZs b3dzIGFzeW5jaHJvbm91c2x5IGZyb20gdGhlDQo+ID4gKyAqIGV2ZW50IGNhbGxiYWNrIG9yIHN5 bmNocm9ub3VzbHkgcmVnYXJkbGVzcyB0aGUgZXZlbnQuDQo+ID4gKyAqDQo+ID4gKyAqIEBwYXJh bSBwb3J0X2lkDQo+ID4gKyAqICAgUG9ydCBpZGVudGlmaWVyIG9mIEV0aGVybmV0IGRldmljZS4N Cj4gPiArICogQHBhcmFtIHF1ZXVlX2lkDQo+ID4gKyAqICAgRmxvdyBxdWV1ZSB0byBxdWVyeS4g SWdub3JlZCB3aGVuIFJURV9GTE9XX1BPUlRfRkxBR19TVFJJQ1RfUVVFVUUgbm90IHNldC4NCj4g PiArICogQHBhcmFtW2luLCBvdXRdIGNvbnRleHRzDQo+ID4gKyAqICAgVGhlIGFkZHJlc3Mgb2Yg YW4gYXJyYXkgb2YgcG9pbnRlcnMgdG8gdGhlIGFnZWQtb3V0IGZsb3dzIGNvbnRleHRzLg0KPiA+ ICsgKiBAcGFyYW1baW5dIG5iX2NvbnRleHRzDQo+ID4gKyAqICAgVGhlIGxlbmd0aCBvZiBjb250 ZXh0IGFycmF5IHBvaW50ZXJzLg0KPiA+ICsgKiBAcGFyYW1bb3V0XSBlcnJvcg0KPiA+ICsgKiAg IFBlcmZvcm0gdmVyYm9zZSBlcnJvciByZXBvcnRpbmcgaWYgbm90IE5VTEwuIEluaXRpYWxpemVk IGluIGNhc2Ugb2YNCj4gPiArICogICBlcnJvciBvbmx5Lg0KPiA+ICsgKg0KPiA+ICsgKiBAcmV0 dXJuDQo+ID4gKyAqICAgaWYgbmJfY29udGV4dHMgaXMgMCwgcmV0dXJuIHRoZSBhbW91bnQgb2Yg YWxsIGFnZWQgY29udGV4dHMuDQo+ID4gKyAqICAgaWYgbmJfY29udGV4dHMgaXMgbm90IDAgLCBy ZXR1cm4gdGhlIGFtb3VudCBvZiBhZ2VkIGZsb3dzIHJlcG9ydGVkDQo+ID4gKyAqICAgaW4gdGhl IGNvbnRleHQgYXJyYXksIG90aGVyd2lzZSBuZWdhdGl2ZSBlcnJubyB2YWx1ZS4NCj4gPiArICoN Cj4gPiArICogQHNlZSBydGVfZmxvd19hY3Rpb25fYWdlDQo+ID4gKyAqIEBzZWUgUlRFX0VUSF9F VkVOVF9GTE9XX0FHRUQNCj4gPiArICogQHNlZSBydGVfZmxvd19wb3J0X2ZsYWcNCj4gPiArICov DQo+ID4gKw0KPiA+ICtfX3J0ZV9leHBlcmltZW50YWwNCj4gPiAraW50DQo+ID4gK3J0ZV9mbG93 X2dldF9xX2FnZWRfZmxvd3ModWludDE2X3QgcG9ydF9pZCwgdWludDMyX3QgcXVldWVfaWQsIHZv aWQgKipjb250ZXh0cywNCj4gPiArCQkJICB1aW50MzJfdCBuYl9jb250ZXh0cywgc3RydWN0IHJ0 ZV9mbG93X2Vycm9yICplcnJvcik7DQo+ID4gICAjaWZkZWYgX19jcGx1c3BsdXMNCj4gPiAgIH0N Cj4gPiAgICNlbmRpZg0KPiA+IGRpZmYgLS1naXQgYS9saWIvZXRoZGV2L3J0ZV9mbG93X2RyaXZl ci5oIGIvbGliL2V0aGRldi9ydGVfZmxvd19kcml2ZXIuaA0KPiA+IGluZGV4IDJiZmY3MzJkNmEu LmI2NjUxNzBiZjQgMTAwNjQ0DQo+ID4gLS0tIGEvbGliL2V0aGRldi9ydGVfZmxvd19kcml2ZXIu aA0KPiA+ICsrKyBiL2xpYi9ldGhkZXYvcnRlX2Zsb3dfZHJpdmVyLmgNCj4gPiBAQCAtMjYwLDYg KzI2MCwxOSBAQCBzdHJ1Y3QgcnRlX2Zsb3dfb3BzIHsNCj4gPiAgIAkJIGNvbnN0IHZvaWQgKnVw ZGF0ZSwNCj4gPiAgIAkJIHZvaWQgKnVzZXJfZGF0YSwNCj4gPiAgIAkJIHN0cnVjdCBydGVfZmxv d19lcnJvciAqZXJyb3IpOw0KPiA+ICsJLyoqIFNlZSBydGVfZmxvd19nZXRfYWdlZF9xdWV1ZXMo KSAqLw0KPiA+ICsJaW50ICgqZ2V0X2FnZWRfcXVldWVzKQ0KPiA+ICsJCSh1aW50MTZfdCBwb3J0 X2lkLA0KPiA+ICsJCSB1aW50MzJfdCBxdWV1ZV9pZFtdLA0KPiA+ICsJCSB1aW50MzJfdCBuYl9x dWV1ZV9pZCwNCj4gPiArCQkgc3RydWN0IHJ0ZV9mbG93X2Vycm9yICplcnJvcik7DQo+ID4gKwkv KiogU2VlIHJ0ZV9mbG93X2dldF9xX2FnZWRfZmxvd3MoKSAqLw0KPiA+ICsJaW50ICgqZ2V0X3Ff YWdlZF9mbG93cykNCj4gPiArCQkodWludDE2X3QgcG9ydF9pZCwNCj4gPiArCQkgdWludDMyX3Qg cXVldWVfaWQsDQo+ID4gKwkJIHZvaWQgKipjb250ZXh0cywNCj4gPiArCQkgdWludDMyX3QgbmJf Y29udGV4dHMsDQo+ID4gKwkJIHN0cnVjdCBydGVfZmxvd19lcnJvciAqZXJyb3IpOw0KPiA+ICAg fTsNCj4gPg0KPiA+ICAgLyoqDQoNCg==