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 640534611C; Fri, 24 Jan 2025 11:23:32 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id F2CFD40F35; Fri, 24 Jan 2025 11:23:31 +0100 (CET) Received: from NAM02-DM3-obe.outbound.protection.outlook.com (mail-dm3nam02on2082.outbound.protection.outlook.com [40.107.95.82]) by mails.dpdk.org (Postfix) with ESMTP id CACA940F1A for ; Fri, 24 Jan 2025 11:23:29 +0100 (CET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=vPZZUtMWtI2Rw6UR+gm+lVUhGB13EwtndMYig7IibT0RaIYmz1pbXLzZ+OAZ9VqBoRD4KBScNj3MDYiFPAYxUMLBJPEquqKy6/9k+T1/LjwVTI8JXEY0V5+TDnkmXkHJGP26xAt+05SCJewc4Df5j0UGSM9h4lw6aYQqCW1HQaio5Wpmh9ckQlKBGQ7Ge3UI0Rk69YiKw1HJZPotR/KMUKyGFpqo56q4JeT7KzsuBLhmWkNi3/oMmnfQ27n5MQXb4UDkhm5RMqaiDSnx2iRuG3ATiHJqHb3Epsb5mf4YnSQ0iWF95Mlcb0n9DymhTT5Lh+HgiIe514QZbrtmpbFb2g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=++igecJn4+feK24g1PcK3VrqFs4h3UKgTrYENP5CjHQ=; b=JmyzelrInwecmnhimwBrOGT8DJX/1+KRkkQJuaa3XRR7g+iv7MuPgG9utltY7BBM13SK+Y3WwqWA3yIUOrHZH+3lmKs+SVQqbSZlG9xjX0J+Q+wvsEAGjjY81KMXShEr/dedbscK2WGcLBw8570hS4KEZo+7PuCHMHIvUhnKQSJ5VIQTPZJQzfTM6WCiwK4PhbXYK1p8Z9tTBdtR21F0k4ccJVil7oq0QDJ7/vXrCTkbqtO0DyWf7gLo4XZcHtddwz6Ro0EzIjUK37qqmROE4LSU7yDN65pACnLEoBNd88PiIxpRE+UYVvAYGc7tvxx69Ic69vXcHzHYa54PE0ch5g== 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=++igecJn4+feK24g1PcK3VrqFs4h3UKgTrYENP5CjHQ=; b=BBXunqf7XhorGUdebS0bHkr9SnOBCRS/m0CyDcOx2R/IBIUxLXshL2ydox0RA7tSJOLC2148KrlcFYVpx0vuoHbcPqohO4P9sDu/3qT/iKKEtzeOiPT0/9BF/OTr8BaSuzowkENlrcbGIptWyFiVPX+2tDfG4zzWOJxna2X7vl5K2l25fb9nyXefzcqAui0sKfBOqyrf476oV7Yb31vCe5eOwLsEiqY7dqk98THiL2PRZDDPL4iIyNFDcJiusgFwFzP8W761cABMiofloXIVMZJUX17xE4qQHig40opOfGxgry6rpKGZE23L/h+AYZa0zpGvdPzmbjqhh5UF8WMcLw== Received: from MN6PR12MB8567.namprd12.prod.outlook.com (2603:10b6:208:478::12) by DM4PR12MB7600.namprd12.prod.outlook.com (2603:10b6:8:108::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8377.17; Fri, 24 Jan 2025 10:23:26 +0000 Received: from MN6PR12MB8567.namprd12.prod.outlook.com ([fe80::9bde:b697:6d6d:ee04]) by MN6PR12MB8567.namprd12.prod.outlook.com ([fe80::9bde:b697:6d6d:ee04%6]) with mapi id 15.20.8377.009; Fri, 24 Jan 2025 10:23:26 +0000 From: Slava Ovsiienko To: =?utf-8?B?TW9ydGVuIEJyw7hydXA=?= , "NBU-Contact-Thomas Monjalon (EXTERNAL)" , Ferruh Yigit , Andrew Rybchenko , Shahaf Shuler , Olivier Matz CC: "dev@dpdk.org" , Dengdui Huang Subject: RE: [PATCH v3] mbuf: add fast free bulk and raw alloc bulk functions Thread-Topic: [PATCH v3] mbuf: add fast free bulk and raw alloc bulk functions Thread-Index: AQHbbAoQJFzGMBjXn0qq7P9ITfy43rMluu8g Date: Fri, 24 Jan 2025 10:23:26 +0000 Message-ID: References: <20250114162544.125448-1-mb@smartsharesystems.com> <20250121134028.20733-1-mb@smartsharesystems.com> In-Reply-To: <20250121134028.20733-1-mb@smartsharesystems.com> 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-traffictypediagnostic: MN6PR12MB8567:EE_|DM4PR12MB7600:EE_ x-ms-office365-filtering-correlation-id: 4327f1c6-097d-4a42-393c-08dd3c6123eb x-ld-processed: 43083d15-7273-40c1-b7db-39efd9ccc17a,ExtAddr x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; ARA:13230040|366016|376014|1800799024|38070700018; x-microsoft-antispam-message-info: =?utf-8?B?Rm91Rk1UMWFrR0JZWGdJZGFnZTNDMUJKVXpsQjVrMjlFRmJsLzlLMmdGenNI?= =?utf-8?B?alFiN1hkRjllcWZNSGRDTDlZbjl6OUplOFFLWVRRQVZ0MHhkUUM0K0UyZ1B2?= =?utf-8?B?azNZbnNzN01POElmdS9NOUNZMzU0RE1vbjhTYTgrUFcyckVhNzE2ejVJZUdH?= =?utf-8?B?bkMyN0RxblhYNHEvaDdoamtRSldtSU93Z0JUV1Y3dWxnSVg3SldKQytqNng1?= =?utf-8?B?K3dKWmxEQzlrbFQyWlNycXgvZ0EzcHZHRU1ySnc1aDI5T0JOcUJ0Vk5JQ1Jm?= =?utf-8?B?MXN2eWlaKzdUZWNwSks2NkNrdzdGMHpnUU5CN28wSEZUdWR2Z2doWXBHdVlV?= =?utf-8?B?bFJlSXh4T0gzQnV6c01EQUpnVTR0REhVUlJ3bzdvZHpyZlZNdk5DamM0dHZJ?= =?utf-8?B?RnVKdGExVmVJT29ZcXhra0t1Z09ndDVlTFpmVnJ3UDhrSVhTR0hFdXIrY0Fm?= =?utf-8?B?c3R2TkYzS2hzZ050S3RPYTErTVc0bG1VMnNuOHdCa0VYMDd1bTVmVXVwMStK?= =?utf-8?B?bzYyODBiRGJ5YWxuK3o3NXdPNHQ4djMzTEtlMU10WDc5L2VacFFRTldLRDNs?= =?utf-8?B?RUZwSE12dHNKaVRYWEtRY2pxaWJxMXI4dVVuTDJydW01YjVqcTR0dUFmNXYy?= =?utf-8?B?MVNqamxQRFZlYlpqYjlpUWxyamRkbVc0eGRqci8zdWNVaHFWVm1Cbk5YUzhY?= =?utf-8?B?L2NXVCtkZGVQWEFQdlBZWjRyQWh2aTFzelNZYWR4TjAwOUJtNWdEcGJVT3hq?= =?utf-8?B?RUpNODdsZzNrN05LbGh1VHErckpSVmFSTnRJQk10ZEZ0SzNqazEvT3VGNm5y?= =?utf-8?B?QWR2ZVpaK2FVTVRUYk1Ld2lFdVEwTHNKVjdLdkNBV0p6RDJ3MTQxK0Z5cVgv?= =?utf-8?B?aHdtWnlYY2dVdkF6bDhOL0ZRL2hLQUtzUWt1akZ2Rjc4WDlCOTkyT3NsdE9B?= =?utf-8?B?bXM2eW55SXNxdnFtY3ZpWklJT1VCQmh2VEo2dUZwQkxpMGt4empIbHdsNzlX?= =?utf-8?B?ekRXU3RYTXJEQjRwbUd4WGVBRm5hUFhlVDU0ZUNYTzhWRW1pS2xVZ3Q0R2Nk?= =?utf-8?B?VDBYMm9EV0d6QnlrY1FkeXZGY1c0VTVndW5uaHcvK0NHTStEd05QTXc2cm11?= =?utf-8?B?dWNkUzUxVFBMd3hwYVlKR2dVVkxhQWpva2s5WjNGNW1qUG1XNnlhTDBoT0py?= =?utf-8?B?cHJnbHQ0ZXBKbkpVUjNhdU5yVXBham16cDNDeGVzNlJBQVBVUkUwZEJCajN4?= =?utf-8?B?Yjlwd1ppNkxLRG0wY1dHcDVDZzdVRDRSM0NHYWNSODQ5czZjVWxpSm5DZzZs?= =?utf-8?B?NFRnVjQ1bUhHT3FNMkVLMUMxblYrMmE0RmwzZWNqalJjcXFXYmxoYitJdS9D?= =?utf-8?B?UzQwQkQvYU1UZ0ViOVkwRWVwNWFZT01zeVc3REgxa0sxcTFSNmFJbVlRNHBZ?= =?utf-8?B?YU5PTERRL05obmI1WEJ2WHYyQm1GVEVOdk9lLzhFNkVPRkxhN2dsYWJyV09u?= =?utf-8?B?c2VWNVJ4dmJJcms1bGxWOWQrUXcyWTRFajNnZWYrbmN3a0dCb05DdEdSMDJP?= =?utf-8?B?YmFJTTRIaDJ6ZkNDcitHQ1d4ZzgvT2dRUnRuMSt5aWNpd0hrMmJTVGwxa0Jk?= =?utf-8?B?UjN2T1FLaFMrdHF6NnQrYmt0KzhpdEFBWk0wdi9laXVRMWQrTTlqWitoRUR3?= =?utf-8?B?TU9DM2pxL3FsQnRsanlvanlhc3NQRHlZZzFmMTRxTG1PRFVPSVZBNFBTclY1?= =?utf-8?B?d3ZWVkEwblBuM1BKVHJ5WThYdDA2TGk1NHNYd0FYSDhLYlgvZFFKaC93U0Jt?= =?utf-8?B?Y29qb1diS081LzMzMG5tdkEvbXdoY0JISEhlSWwxeEkvRzZMT0xlTGpXN3NH?= =?utf-8?B?dnovb0V2VlUyQ2dXb1AvK3lRRVp5azhQRDFJYXlobkFYQUpEd0JXV0ZudmRY?= =?utf-8?Q?D62cxduQsD/ZQtn/Q7MOHoKnXjt8mm0F?= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:MN6PR12MB8567.namprd12.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(366016)(376014)(1800799024)(38070700018); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?bmcwOXNKSmdWYUcvTUtQSENEekxkclR2MGgzZGVvUGpmMG8zTEtUd1IzYnpw?= =?utf-8?B?ZVhibk11Uit6Qit4VHhKYWhJbDlxVWw5R01aQlBiZ3BpRCtkR1EzM3Q0UnNG?= =?utf-8?B?VFBlUmlwTUcrQ3lkYkhmbDNlYkRyYkZ3ZGxtU05LRW45elM1OE9KMlkrOEhu?= =?utf-8?B?RUhFQTc3VFRMSHJIZkVtUjY1OUhTUXdhc0U5eDZXNlVhNGdMR2lKbnlqODMw?= =?utf-8?B?TXRiZDF4RnJEMTIxMzJLeGNDbjB6dllicEFtRzJmVlV1cm0wT3pMWXp0L2Vo?= =?utf-8?B?QVJnNjhrOVdFK09iUmFSOHRBckF2SFViU0VhNTUzODdvbW1pd2VXbmFpQy9a?= =?utf-8?B?OTZiaTF2bG9uNUtQMitDdlNVUnhhT2pCa2tlL1ZMMmpBaXJ0cFVJSkc3cXBS?= =?utf-8?B?NFlQbFlhYTB3SzJsTGMrdW0xMEQ0bEdyS3pWWHVHZHYyVEF2RHU4VU1jbEY3?= =?utf-8?B?MEdDV1cwUlhmdE15STk0TG0xM0hMR2gwSm9sZDFpTFpFZnp0UmNOZTE3Rkgz?= =?utf-8?B?OU81eU50Y3p4dHI3VTczUWJYZllIWFFpL1lqTkhCQ0ZYSkpiQXQ2eTZLZU5o?= =?utf-8?B?N1RnQUF4eDJ1RzI4WVlMZXFjMVphZFRUZHJxVDRqSFVjdEp4SjJiWGRrWGtj?= =?utf-8?B?dFhXRkFYRkZtUmVlZGRQOEliNDFGY2dyaU1YOU45MC9YcnBOMEJ6WGZsSEQy?= =?utf-8?B?L1Rmd3FqQ3dKRTRydEV3Q2RMOVhxbGdIVk9tR0cyWW5sZUNCYUtOYVdRY3FD?= =?utf-8?B?THB3U1g4a3hVNFlid2p6S3FQWi81WG1LZHhuSlJvVmY4TGxvZVV1dSttbXRW?= =?utf-8?B?b09kMVhIT01OMjhJYXlVVzVqd3lXTExSekpPYjV3VGRyYWhiZ3RLNStLb0Zj?= =?utf-8?B?LzFuZUJJKzV1SVU0cWU2bm1VVmVqR0xVYVVDcXdqZUxma1BWclV3LzFiVHZ3?= =?utf-8?B?ZDBONDV2Z1NQNHFJSngyZks5V3dDRTFDa3c1YmdiUXRkYjBQUklOQlVsOGY3?= =?utf-8?B?Z01BVnhxdkplN09qb2RLL3JrK1Azb3hWN08xcElHRUduaVJxK3NOUFZ2bXNO?= =?utf-8?B?eWs5bWdxSmVUZ2ZRcTZ4NFlnMkNSbCtzeURtdnlPQ0Rtem85TWduYzJzbXR3?= =?utf-8?B?ODF5T3BsMXlOTk9TbTErbFU0ZzhYVWJ3RG5rTElMTFkyUFJ3K1BPRkw4dHNY?= =?utf-8?B?QXZabUdra2dJZTlyRUU3NlFwRE5JYk9EcVYwdU1laTZoeWZzaHlnNUhTa2NL?= =?utf-8?B?Q2NMSWxRQ2s2ZVo3RnorUFoyLzR1aExuVndRTmRuZzBEOEFSNEtYaTFJRk9O?= =?utf-8?B?SGF1NFUrNmYrY3J0T3hNeVlCNjBvRUgvblNObS92d3l5cVF3ckMxYTNoUTRq?= =?utf-8?B?UHRURlBPNHd0QmhZUXVkcWJhUlZYR293V3lmUzJFdGF2Z21RcW0yWmZSU0xq?= =?utf-8?B?SEtEUjJ4UDV0OC9rMFdXckxQZWdGRG1VZUZPSlFhd0huaWF3STBaVFRRYitK?= =?utf-8?B?dzFCb0tyV2Y1d012UFlKdUZYUk1uLzk0L2l1Y2JlWlZhQ294eTNiTmRoQU5N?= =?utf-8?B?bjRuVThUalJuaklVejY3T3MxN3lzdlpUYklZSnJvaFRVUGtFcjlHd2tXMllP?= =?utf-8?B?MDBTUXZFQ095TDE2ZEEyWEt3RU9HZUZWd3FSY0d6TkVmVTJtZkgvZTNWVzJx?= =?utf-8?B?eGJkQ2toVmxrL1ZEWlBLZjFzQVVTK1JHTGJmWk12enJ1OXpoTXJJUGxFTEVo?= =?utf-8?B?bnNKSElXUXdRRjNOa3d5OFRjbWM0Rzk5Ry9aTnJSV2s0R3lDd2ZKWklEMzlv?= =?utf-8?B?OUxneDF3aVJlWlZ6YjBVQUY1TzJDekNTRFFocWV6NXk4ZWpKeWhTWkovVlpl?= =?utf-8?B?WXc4OEZqdU1VR2VQSVJGbmEzZWVZRDhyY3NldTVveU9HcEF0bWFqM0NEZHVI?= =?utf-8?B?R3ovZmJIK0tVb0dMNUlDNEpGTE5BeXZKUGJzNm81NFFKeGg2dG9lZUY3NnA1?= =?utf-8?B?ZlpJYjVvZGxxY3plTFlOZ0d5VS8veWVJd2YwUkQyVXcwdUYvbnlHTnlKVnk1?= =?utf-8?B?MnBqOVZ4dktoR09FNDYyeUpzdUVNWTVUUGZNekVQM1FjZHVXeElSRjBVcGhG?= =?utf-8?Q?eBlyfw4RtytdC/QVXyAngARw5?= 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: MN6PR12MB8567.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 4327f1c6-097d-4a42-393c-08dd3c6123eb X-MS-Exchange-CrossTenant-originalarrivaltime: 24 Jan 2025 10:23:26.8405 (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: /N5C1JrAoyjBotFR8jCoEvMowQuDAsTXpvfxYNi6m7AMtxyYbvtKK4O8V/UBs5bmSvx6Oxh/uk1Z2Ir4H5XrZw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR12MB7600 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 QWNrZWQtYnk6IFZpYWNoZXNsYXYgT3ZzaWllbmtvIDx2aWFjaGVzbGF2b0BudmlkaWEuY29tPg0K DQpQUy4gSXQgc2VlbXMgd2Ugc2hvdWxkIGNvbnNpZGVyIHJlcGxhY2luZyB0aGUgcnRlX21lbXBv b2xfcHV0X2J1bGsoKQ0Kd2l0aCB0aGUgbmV3IHdyYXBwZXIgcnRlX21idWZfZmFzdF9mcmVlX2J1 bGsoKSBpbiB0aGUgZHJpdmVycy4NCg0KPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBG cm9tOiBNb3J0ZW4gQnLDuHJ1cCA8bWJAc21hcnRzaGFyZXN5c3RlbXMuY29tPg0KPiBTZW50OiBU dWVzZGF5LCBKYW51YXJ5IDIxLCAyMDI1IDM6NDAgUE0NCj4gVG86IE5CVS1Db250YWN0LVRob21h cyBNb25qYWxvbiAoRVhURVJOQUwpIDx0aG9tYXNAbW9uamFsb24ubmV0PjsNCj4gRmVycnVoIFlp Z2l0IDxmZXJydWgueWlnaXRAYW1kLmNvbT47IEFuZHJldyBSeWJjaGVua28NCj4gPGFuZHJldy5y eWJjaGVua29Ab2t0ZXRsYWJzLnJ1PjsgU2xhdmEgT3ZzaWllbmtvDQo+IDx2aWFjaGVzbGF2b0Bu dmlkaWEuY29tPjsgU2hhaGFmIFNodWxlciA8c2hhaGFmc0BudmlkaWEuY29tPjsgT2xpdmllcg0K PiBNYXR6IDxvbGl2aWVyLm1hdHpANndpbmQuY29tPg0KPiBDYzogZGV2QGRwZGsub3JnOyBNb3J0 ZW4gQnLDuHJ1cCA8bWJAc21hcnRzaGFyZXN5c3RlbXMuY29tPjsgRGVuZ2R1aQ0KPiBIdWFuZyA8 aHVhbmdkZW5nZHVpQGh1YXdlaS5jb20+DQo+IFN1YmplY3Q6IFtQQVRDSCB2M10gbWJ1ZjogYWRk IGZhc3QgZnJlZSBidWxrIGFuZCByYXcgYWxsb2MgYnVsayBmdW5jdGlvbnMNCj4gDQo+IFdoZW4g cHV0dGluZyBhbiBtYnVmIGJhY2sgaW50byBpdHMgbWVtcG9vbCwgdGhlcmUgYXJlIGNlcnRhaW4g cmVxdWlyZW1lbnRzDQo+IHRvIHRoZSBtYnVmLiBTcGVjaWZpY2FsbHksIHNvbWUgb2YgaXRzIGZp ZWxkcyBtdXN0IGJlIGluaXRpYWxpemVkLg0KPiANCj4gVGhlc2UgcmVxdWlyZW1lbnRzIGFyZSBp biBmYWN0IGludmFyaWFudHMgYWJvdXQgZnJlZSBtYnVmcywgaGVsZCBpbg0KPiBtZW1wb29scywg YW5kIHRodXMgYWxzbyBhcHBseSB3aGVuIGFsbG9jYXRpbmcgYW4gbWJ1ZiBmcm9tIGEgbWVtcG9v bC4NCj4gV2l0aCB0aGlzIGluIG1pbmQsIHRoZSBhZGRpdGlvbmFsIGFzc2VydGlvbnMgaW4gcnRl X21idWZfcmF3X2ZyZWUoKSB3ZXJlDQo+IG1vdmVkIHRvIF9fcnRlX21idWZfcmF3X3Nhbml0eV9j aGVjaygpLg0KPiBGdXJ0aGVybW9yZSwgdGhlIGFzc2VydGlvbiByZWdhcmRpbmcgcGlubmVkIGV4 dGVybmFsIGJ1ZmZlciB3YXMgZW5oYW5jZWQ7IGl0DQo+IG5vdyBhbHNvIGFzc2VydHMgdGhhdCB0 aGUgcmVmZXJlbmNlZCBwaW5uZWQgZXh0ZXJuYWwgYnVmZmVyIGhhcyByZWZjbnQgPT0gMS4NCj4g DQo+IFRoZSBkZXNjcmlwdGlvbiBvZiBSVEVfRVRIX1RYX09GRkxPQURfTUJVRl9GQVNUX0ZSRUUg d2FzIHVwZGF0ZWQgdG8NCj4gaW5jbHVkZSB0aGUgcmVtYWluaW5nIHJlcXVpcmVtZW50cywgd2hp Y2ggd2VyZSBtaXNzaW5nIGhlcmUuDQo+IA0KPiBBbmQgZmluYWxseToNCj4gQSBuZXcgcnRlX21i dWZfZmFzdF9mcmVlX2J1bGsoKSBpbmxpbmUgZnVuY3Rpb24gd2FzIGFkZGVkIGZvciB0aGUgYmVu ZWZpdCBvZg0KPiBldGhkZXYgZHJpdmVycyBzdXBwb3J0aW5nIGZhc3QgcmVsZWFzZSBvZiBtYnVm cy4NCj4gSXQgYXNzZXJ0cyB0aGVzZSByZXF1aXJlbWVudHMgYW5kIHRoYXQgdGhlIG1idWZzIGJl bG9uZyB0byB0aGUgc3BlY2lmaWVkDQo+IG1lbXBvb2wsIGFuZCB0aGVuIGNhbGxzIHJ0ZV9tZW1w b29sX3B1dF9idWxrKCkuDQo+IA0KPiBGb3Igc3ltbWV0cnksIGEgbmV3IHJ0ZV9tYnVmX3Jhd19h bGxvY19idWxrKCkgaW5saW5lIGZ1bmN0aW9uIHdhcyBhbHNvDQo+IGFkZGVkLg0KPiANCj4gU2ln bmVkLW9mZi1ieTogTW9ydGVuIEJyw7hydXAgPG1iQHNtYXJ0c2hhcmVzeXN0ZW1zLmNvbT4NCj4g QWNrZWQtYnk6IERlbmdkdWkgSHVhbmcgPGh1YW5nZGVuZ2R1aUBodWF3ZWkuY29tPg0KPiAtLS0N Cj4gdjI6DQo+ICogRml4ZWQgbWlzc2luZyBpbmxpbmUuDQo+IHYzOg0KPiAqIEZpeGVkIG1pc3Np bmcgZXhwZXJpbWVudGFsIHdhcm5pbmcuIChTdGVwaGVuKQ0KPiAqIEFkZGVkIHJhdyBhbGxvYyBi dWxrIGZ1bmN0aW9uLg0KPiAtLS0NCj4gIGxpYi9ldGhkZXYvcnRlX2V0aGRldi5oIHwgIDYgKyst LQ0KPiAgbGliL21idWYvcnRlX21idWYuaCAgICAgfCA4MCArKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKystLQ0KPiAgMiBmaWxlcyBjaGFuZ2VkLCA4MiBpbnNlcnRpb25zKCsp LCA0IGRlbGV0aW9ucygtKQ0KPiANCj4gZGlmZiAtLWdpdCBhL2xpYi9ldGhkZXYvcnRlX2V0aGRl di5oIGIvbGliL2V0aGRldi9ydGVfZXRoZGV2LmggaW5kZXgNCj4gMWY3MWNhZDI0NC4uZTkyNjdm Y2E3OSAxMDA2NDQNCj4gLS0tIGEvbGliL2V0aGRldi9ydGVfZXRoZGV2LmgNCj4gKysrIGIvbGli L2V0aGRldi9ydGVfZXRoZGV2LmgNCj4gQEAgLTE2MTIsOCArMTYxMiwxMCBAQCBzdHJ1Y3QgcnRl X2V0aF9jb25mIHsNCj4gICNkZWZpbmUgUlRFX0VUSF9UWF9PRkZMT0FEX01VTFRJX1NFR1MgICAg ICAgUlRFX0JJVDY0KDE1KQ0KPiAgLyoqDQo+ICAgKiBEZXZpY2Ugc3VwcG9ydHMgb3B0aW1pemF0 aW9uIGZvciBmYXN0IHJlbGVhc2Ugb2YgbWJ1ZnMuDQo+IC0gKiBXaGVuIHNldCBhcHBsaWNhdGlv biBtdXN0IGd1YXJhbnRlZSB0aGF0IHBlci1xdWV1ZSBhbGwgbWJ1ZnMgY29tZXMNCj4gZnJvbQ0K PiAtICogdGhlIHNhbWUgbWVtcG9vbCBhbmQgaGFzIHJlZmNudCA9IDEuDQo+ICsgKiBXaGVuIHNl dCBhcHBsaWNhdGlvbiBtdXN0IGd1YXJhbnRlZSB0aGF0IHBlci1xdWV1ZSBhbGwgbWJ1ZnMgY29t ZQ0KPiArIGZyb20gdGhlIHNhbWUgbWVtcG9vbCwNCj4gKyAqIGFyZSBkaXJlY3QsIGhhdmUgcmVm Y250PTEsIG5leHQ9TlVMTCBhbmQgbmJfc2Vncz0xLCBhcyBkb25lIGJ5DQo+IHJ0ZV9wa3RtYnVm X3ByZWZyZWVfc2VnKCkuDQo+ICsgKg0KPiArICogQHNlZSBydGVfbWJ1Zl9mYXN0X2ZyZWVfYnVs aygpDQo+ICAgKi8NCj4gICNkZWZpbmUgUlRFX0VUSF9UWF9PRkZMT0FEX01CVUZfRkFTVF9GUkVF ICAgUlRFX0JJVDY0KDE2KQ0KPiAgI2RlZmluZSBSVEVfRVRIX1RYX09GRkxPQURfU0VDVVJJVFkg ICAgICAgICBSVEVfQklUNjQoMTcpDQo+IGRpZmYgLS1naXQgYS9saWIvbWJ1Zi9ydGVfbWJ1Zi5o IGIvbGliL21idWYvcnRlX21idWYuaCBpbmRleA0KPiAwZDJlMGU2NGIzLi4xZTQwZTdmY2Y3IDEw MDY0NA0KPiAtLS0gYS9saWIvbWJ1Zi9ydGVfbWJ1Zi5oDQo+ICsrKyBiL2xpYi9tYnVmL3J0ZV9t YnVmLmgNCj4gQEAgLTU2OCw2ICs1NjgsMTAgQEAgX19ydGVfbWJ1Zl9yYXdfc2FuaXR5X2NoZWNr KF9fcnRlX3VudXNlZCBjb25zdA0KPiBzdHJ1Y3QgcnRlX21idWYgKm0pDQo+ICAJUlRFX0FTU0VS VChydGVfbWJ1Zl9yZWZjbnRfcmVhZChtKSA9PSAxKTsNCj4gIAlSVEVfQVNTRVJUKG0tPm5leHQg PT0gTlVMTCk7DQo+ICAJUlRFX0FTU0VSVChtLT5uYl9zZWdzID09IDEpOw0KPiArCVJURV9BU1NF UlQoIVJURV9NQlVGX0NMT05FRChtKSk7DQo+ICsJUlRFX0FTU0VSVCghUlRFX01CVUZfSEFTX0VY VEJVRihtKSB8fA0KPiArCQkJKFJURV9NQlVGX0hBU19QSU5ORURfRVhUQlVGKG0pICYmDQo+ICsJ CQlydGVfbWJ1Zl9leHRfcmVmY250X3JlYWQobS0+c2hpbmZvKSA9PSAxKSk7DQo+ICAJX19ydGVf bWJ1Zl9zYW5pdHlfY2hlY2sobSwgMCk7DQo+ICB9DQo+IA0KPiBAQCAtNjA2LDYgKzYxMCw0MyBA QCBzdGF0aWMgaW5saW5lIHN0cnVjdCBydGVfbWJ1Zg0KPiAqcnRlX21idWZfcmF3X2FsbG9jKHN0 cnVjdCBydGVfbWVtcG9vbCAqbXApDQo+ICAJcmV0dXJuIHJldC5tOw0KPiAgfQ0KPiANCj4gKy8q Kg0KPiArICogQHdhcm5pbmcNCj4gKyAqIEBiIEVYUEVSSU1FTlRBTDogVGhpcyBBUEkgbWF5IGNo YW5nZSwgb3IgYmUgcmVtb3ZlZCwgd2l0aG91dCBwcmlvcg0KPiBub3RpY2UuDQo+ICsgKg0KPiAr ICogQWxsb2NhdGUgYSBidWxrIG9mIHVuaW5pdGlhbGl6ZWQgbWJ1ZnMgZnJvbSBtZW1wb29sICpt cCouDQo+ICsgKg0KPiArICogVGhpcyBmdW5jdGlvbiBjYW4gYmUgdXNlZCBieSBQTURzIChlc3Bl Y2lhbGx5IGluIFJYIGZ1bmN0aW9ucykgdG8NCj4gKyAqIGFsbG9jYXRlIGEgYnVsayBvZiB1bmlu aXRpYWxpemVkIG1idWZzLiBUaGUgZHJpdmVyIGlzIHJlc3BvbnNpYmxlIG9mDQo+ICsgKiBpbml0 aWFsaXppbmcgYWxsIHRoZSByZXF1aXJlZCBmaWVsZHMuIFNlZSBydGVfcGt0bWJ1Zl9yZXNldCgp Lg0KPiArICogRm9yIHN0YW5kYXJkIG5lZWRzLCBwcmVmZXIgcnRlX3BrdG1idWZfYWxsb2NfYnVs aygpLg0KPiArICoNCj4gKyAqIFRoZSBjYWxsZXIgY2FuIGV4cGVjdCB0aGF0IHRoZSBmb2xsb3dp bmcgZmllbGRzIG9mIHRoZSBtYnVmDQo+ICtzdHJ1Y3R1cmUNCj4gKyAqIGFyZSBpbml0aWFsaXpl ZDogYnVmX2FkZHIsIGJ1Zl9pb3ZhLCBidWZfbGVuLCByZWZjbnQ9MSwgbmJfc2Vncz0xLA0KPiAr ICogbmV4dD1OVUxMLCBwb29sLCBwcml2X3NpemUuIFRoZSBvdGhlciBmaWVsZHMgbXVzdCBiZSBp bml0aWFsaXplZA0KPiArICogYnkgdGhlIGNhbGxlci4NCj4gKyAqDQo+ICsgKiBAcGFyYW0gbXAN Cj4gKyAqICAgVGhlIG1lbXBvb2wgZnJvbSB3aGljaCBtYnVmcyBhcmUgYWxsb2NhdGVkLg0KPiAr ICogQHBhcmFtIG1idWZzDQo+ICsgKiAgIEFycmF5IG9mIHBvaW50ZXJzIHRvIG1idWZzLg0KPiAr ICogQHBhcmFtIGNvdW50DQo+ICsgKiAgIEFycmF5IHNpemUuDQo+ICsgKiBAcmV0dXJuDQo+ICsg KiAgIC0gMDogU3VjY2Vzcy4NCj4gKyAqICAgLSAtRU5PRU5UOiBOb3QgZW5vdWdoIGVudHJpZXMg aW4gdGhlIG1lbXBvb2w7IG5vIG1idWZzIGFyZSByZXRyaWV2ZWQuDQo+ICsgKi8NCj4gK19fcnRl X2V4cGVyaW1lbnRhbA0KPiArc3RhdGljIF9fcnRlX2Fsd2F5c19pbmxpbmUgaW50DQo+ICtydGVf bWJ1Zl9yYXdfYWxsb2NfYnVsayhzdHJ1Y3QgcnRlX21lbXBvb2wgKm1wLCBzdHJ1Y3QgcnRlX21i dWYNCj4gKyoqbWJ1ZnMsIHVuc2lnbmVkIGludCBjb3VudCkgew0KPiArCWludCByYyA9IHJ0ZV9t ZW1wb29sX2dldF9idWxrKG1wLCAodm9pZCAqKiltYnVmcywgY291bnQpOw0KPiArCWlmIChsaWtl bHkocmMgPT0gMCkpDQo+ICsJCWZvciAodW5zaWduZWQgaW50IGlkeCA9IDA7IGlkeCA8IGNvdW50 OyBpZHgrKykNCj4gKwkJCV9fcnRlX21idWZfcmF3X3Nhbml0eV9jaGVjayhtYnVmc1tpZHhdKTsN Cj4gKwlyZXR1cm4gcmM7DQo+ICt9DQo+ICsNCj4gIC8qKg0KPiAgICogUHV0IG1idWYgYmFjayBp bnRvIGl0cyBvcmlnaW5hbCBtZW1wb29sLg0KPiAgICoNCj4gQEAgLTYyMywxMiArNjY0LDQ3IEBA IHN0YXRpYyBpbmxpbmUgc3RydWN0IHJ0ZV9tYnVmDQo+ICpydGVfbWJ1Zl9yYXdfYWxsb2Moc3Ry dWN0IHJ0ZV9tZW1wb29sICptcCkgIHN0YXRpYyBfX3J0ZV9hbHdheXNfaW5saW5lDQo+IHZvaWQg IHJ0ZV9tYnVmX3Jhd19mcmVlKHN0cnVjdCBydGVfbWJ1ZiAqbSkgIHsNCj4gLQlSVEVfQVNTRVJU KCFSVEVfTUJVRl9DTE9ORUQobSkgJiYNCj4gLQkJICAoIVJURV9NQlVGX0hBU19FWFRCVUYobSkg fHwNCj4gUlRFX01CVUZfSEFTX1BJTk5FRF9FWFRCVUYobSkpKTsNCj4gIAlfX3J0ZV9tYnVmX3Jh d19zYW5pdHlfY2hlY2sobSk7DQo+ICAJcnRlX21lbXBvb2xfcHV0KG0tPnBvb2wsIG0pOw0KPiAg fQ0KPiANCj4gKy8qKg0KPiArICogQHdhcm5pbmcNCj4gKyAqIEBiIEVYUEVSSU1FTlRBTDogVGhp cyBBUEkgbWF5IGNoYW5nZSwgb3IgYmUgcmVtb3ZlZCwgd2l0aG91dCBwcmlvcg0KPiBub3RpY2Uu DQo+ICsgKg0KPiArICogUHV0IGEgYnVsayBvZiBtYnVmcyBhbGxvY2F0ZWQgZnJvbSB0aGUgc2Ft ZSBtZW1wb29sIGJhY2sgaW50byB0aGUNCj4gbWVtcG9vbC4NCj4gKyAqDQo+ICsgKiBUaGUgY2Fs bGVyIG11c3QgZW5zdXJlIHRoYXQgdGhlIG1idWZzIGNvbWUgZnJvbSB0aGUgc3BlY2lmaWVkDQo+ ICttZW1wb29sLA0KPiArICogYXJlIGRpcmVjdCBhbmQgcHJvcGVybHkgcmVpbml0aWFsaXplZCAo cmVmY250PTEsIG5leHQ9TlVMTCwNCj4gK25iX3NlZ3M9MSksIGFzIGRvbmUgYnkNCj4gKyAqIHJ0 ZV9wa3RtYnVmX3ByZWZyZWVfc2VnKCkuDQo+ICsgKg0KPiArICogVGhpcyBmdW5jdGlvbiBzaG91 bGQgYmUgdXNlZCB3aXRoIGNhcmUsIHdoZW4gb3B0aW1pemF0aW9uIGlzDQo+ICsgKiByZXF1aXJl ZC4gRm9yIHN0YW5kYXJkIG5lZWRzLCBwcmVmZXIgcnRlX3BrdG1idWZfZnJlZV9idWxrKCkuDQo+ ICsgKg0KPiArICogQHNlZSBSVEVfRVRIX1RYX09GRkxPQURfTUJVRl9GQVNUX0ZSRUUNCj4gKyAq DQo+ICsgKiBAcGFyYW0gbXANCj4gKyAqICAgVGhlIG1lbXBvb2wgdG8gd2hpY2ggdGhlIG1idWZz IGJlbG9uZy4NCj4gKyAqIEBwYXJhbSBtYnVmcw0KPiArICogICBBcnJheSBvZiBwb2ludGVycyB0 byBwYWNrZXQgbWJ1ZnMuDQo+ICsgKiAgIFRoZSBhcnJheSBtdXN0IG5vdCBjb250YWluIE5VTEwg cG9pbnRlcnMuDQo+ICsgKiBAcGFyYW0gY291bnQNCj4gKyAqICAgQXJyYXkgc2l6ZS4NCj4gKyAq Lw0KPiArX19ydGVfZXhwZXJpbWVudGFsDQo+ICtzdGF0aWMgX19ydGVfYWx3YXlzX2lubGluZSB2 b2lkDQo+ICtydGVfbWJ1Zl9mYXN0X2ZyZWVfYnVsayhzdHJ1Y3QgcnRlX21lbXBvb2wgKm1wLCBz dHJ1Y3QgcnRlX21idWYNCj4gKyoqbWJ1ZnMsIHVuc2lnbmVkIGludCBjb3VudCkgew0KPiArCWZv ciAodW5zaWduZWQgaW50IGlkeCA9IDA7IGlkeCA8IGNvdW50OyBpZHgrKykgew0KPiArCQljb25z dCBzdHJ1Y3QgcnRlX21idWYgKm0gPSBtYnVmc1tpZHhdOw0KPiArCQlSVEVfQVNTRVJUKG0gIT0g TlVMTCk7DQo+ICsJCVJURV9BU1NFUlQobS0+cG9vbCA9PSBtcCk7DQo+ICsJCV9fcnRlX21idWZf cmF3X3Nhbml0eV9jaGVjayhtKTsNCj4gKwl9DQo+ICsNCj4gKwlydGVfbWVtcG9vbF9wdXRfYnVs ayhtcCwgKHZvaWQgKiopbWJ1ZnMsIGNvdW50KTsgfQ0KPiArDQo+ICAvKioNCj4gICAqIFRoZSBw YWNrZXQgbWJ1ZiBjb25zdHJ1Y3Rvci4NCj4gICAqDQo+IC0tDQo+IDIuNDMuMA0KDQo=