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 6B4A042C3C; Tue, 6 Jun 2023 09:31:52 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id E7BBE40A84; Tue, 6 Jun 2023 09:31:51 +0200 (CEST) Received: from EUR05-VI1-obe.outbound.protection.outlook.com (mail-vi1eur05on2047.outbound.protection.outlook.com [40.107.21.47]) by mails.dpdk.org (Postfix) with ESMTP id E9E5F40697 for ; Tue, 6 Jun 2023 09:31:50 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector2-armh-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=uyairpzrWlZLlkQw1F8NBEPn8uNjxvQD+0jeaVd0ByI=; b=fTTL9dIo1vQE7LnxecMq0wWgePMyM/ClxrZ/WUCBiyISsI8iqNgz+I5PrYqNfcYD/bwhZSRJ9Wmz0GKmLXFHCC2T6UXfK3d9+OkYvM0csKUvAtOS6MNsbiVcb8gVzGRx3F5ZH3tKQ1CHT0ZQB5WVxzuCwrxcvkT5ceyyQDoZyxk= Received: from AM6P192CA0028.EURP192.PROD.OUTLOOK.COM (2603:10a6:209:83::41) by AS2PR08MB9834.eurprd08.prod.outlook.com (2603:10a6:20b:605::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6455.32; Tue, 6 Jun 2023 07:31:43 +0000 Received: from AM7EUR03FT006.eop-EUR03.prod.protection.outlook.com (2603:10a6:209:83:cafe::b6) by AM6P192CA0028.outlook.office365.com (2603:10a6:209:83::41) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6455.32 via Frontend Transport; Tue, 6 Jun 2023 07:31:43 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123) smtp.mailfrom=arm.com; dkim=pass (signature was verified) header.d=armh.onmicrosoft.com;dmarc=pass action=none header.from=arm.com; Received-SPF: Pass (protection.outlook.com: domain of arm.com designates 63.35.35.123 as permitted sender) receiver=protection.outlook.com; client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com; pr=C Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by AM7EUR03FT006.mail.protection.outlook.com (100.127.141.21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6477.19 via Frontend Transport; Tue, 6 Jun 2023 07:31:43 +0000 Received: ("Tessian outbound 3a01b65b5aad:v136"); Tue, 06 Jun 2023 07:31:43 +0000 X-CR-MTA-TID: 64aa7808 Received: from fcebca272f56.2 by 64aa7808-outbound-1.mta.getcheckrecipient.com id 051AFCD4-3614-436D-840E-266E2978F4C3.1; Tue, 06 Jun 2023 07:31:33 +0000 Received: from EUR04-HE1-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id fcebca272f56.2 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Tue, 06 Jun 2023 07:31:33 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Thp3TKOokYGm9l8rilNWugBhq1azP9XYUu5UkiDAlk49bmA4FdjCKKMJMH86NURxkOP3M3evGi5kZAJe1it95NgMGEGPwsNU2dcpHFFWl6wlN2OLZUcIgoT2TyN6vf8sNxoPdtxaTg1S8O3pfb1bBXC1L+xVecQ2mhYbQdHOq+FI2SQdHkufmI2DoqfY7R8BdgFSVa+4vR/5dQ4frZDxMyEjNi8yn9Jj8N3mF2QzYwVNjYLJmDAmvBZbNMdLzf4B/E68KDZoAgYjFuNlrtQV6dAUJzupn6ENLogdvtNx50nYf7qcx0E2mt8GIkC6qaZzWLwuUDNHu+SI/zP15z6k8Q== 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=uyairpzrWlZLlkQw1F8NBEPn8uNjxvQD+0jeaVd0ByI=; b=ageFvQ8AAJ8FKNK/ayqlUSQl8jl3PTuMZcLtaG/ba5zF6H/pysjpL6CnnDt4W1ZemiEru/2z4fhfYx49cCueWtM6SYPNmfJXHQvLcAlRbaBdCc/ZdVH1CmhAqQKiAYzK75eVeMjwZiItxCIx+0ACd1TNv42Z+Jwcwm6Q2gLTo0z7A4NPtVZi1kfg37OlOkMpElxif3WFnSqqjy9A31TDGdPqsXdl/jz74y1fYA8YCyu2MZJ0faLbqdIHCsctbDS8wIoiQlME4paGiFKKccSR7U5d3IvzEXP7ST1gYJ77uBLDdTjL/m2WO894qsIzXV7rDyJ2X3AhGYkvbIdn30J0IQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass header.d=arm.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector2-armh-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=uyairpzrWlZLlkQw1F8NBEPn8uNjxvQD+0jeaVd0ByI=; b=fTTL9dIo1vQE7LnxecMq0wWgePMyM/ClxrZ/WUCBiyISsI8iqNgz+I5PrYqNfcYD/bwhZSRJ9Wmz0GKmLXFHCC2T6UXfK3d9+OkYvM0csKUvAtOS6MNsbiVcb8gVzGRx3F5ZH3tKQ1CHT0ZQB5WVxzuCwrxcvkT5ceyyQDoZyxk= Received: from AS8PR08MB7718.eurprd08.prod.outlook.com (2603:10a6:20b:50a::22) by PAWPR08MB9448.eurprd08.prod.outlook.com (2603:10a6:102:2e3::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6455.32; Tue, 6 Jun 2023 07:31:30 +0000 Received: from AS8PR08MB7718.eurprd08.prod.outlook.com ([fe80::7878:ff5f:b10:d4a6]) by AS8PR08MB7718.eurprd08.prod.outlook.com ([fe80::7878:ff5f:b10:d4a6%7]) with mapi id 15.20.6455.030; Tue, 6 Jun 2023 07:31:30 +0000 From: Feifei Wang To: Konstantin Ananyev , =?utf-8?B?0JrQvtC90YHRgtCw0L3RgtC40L0g0JDQvdCw0L3RjNC10LI=?= , "thomas@monjalon.net" , Ferruh Yigit , Andrew Rybchenko CC: "dev@dpdk.org" , nd , Honnappa Nagarahalli , Ruifeng Wang , nd , nd Subject: RE: [PATCH v6 1/4] ethdev: add API for mbufs recycle mode Thread-Topic: [PATCH v6 1/4] ethdev: add API for mbufs recycle mode Thread-Index: AQHZju23BTNPFS/xUkaAQdl7HxYGP698O6IAgADcE+CAAFZvAIAAAnaA Date: Tue, 6 Jun 2023 07:31:29 +0000 Message-ID: References: <20211224164613.32569-1-feifei.wang2@arm.com> <20230525094541.331338-1-feifei.wang2@arm.com> <20230525094541.331338-2-feifei.wang2@arm.com> <658741685969010@mail.yandex.ru> In-Reply-To: Accept-Language: zh-CN, en-US Content-Language: zh-CN X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ts-tracking-id: F50ACAD5974899468C0EB94035EFDC29.0 x-checkrecipientchecked: true Authentication-Results-Original: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=arm.com; x-ms-traffictypediagnostic: AS8PR08MB7718:EE_|PAWPR08MB9448:EE_|AM7EUR03FT006:EE_|AS2PR08MB9834:EE_ X-MS-Office365-Filtering-Correlation-Id: 1080caed-b704-4283-0f8f-08db6660139d x-ld-processed: f34e5979-57d9-4aaa-ad4d-b122a662184d,ExtAddr x-checkrecipientrouted: true nodisclaimer: true X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Untrusted: BCL:0; X-Microsoft-Antispam-Message-Info-Original: w2BG5qmHQBJQ+z7XQzgp0hKwqvMRb5BZGLoUeI3sMnUbWi1qnXQ4nLW6T4mw6Dl4IE7tesYLMmI43H9vayZPM8bVVcsHGnBlEEFbzkSz5vd/wWm++75NHXpFgFQa76susTCBMUKFiCCb5SlKzJgHRJHHSu4VRuhd5DJOBEdbn8tdti0GhVfHlHo4Ah6li/WVUGUmGwi4Kqoo8M24tx5D00eJ8vBOIx83EvZ8BRLhNnKt+6Q2a848WkyZFkcS9YSrbtXeWXe9HKwX/4qEVGYcgEGZysZ/ug73zjJoDMZExXtYGmsQ/LpJYSQkYVn56B+19EBLBmgBgQ+l0K4Z9kgIkHFPFn8HW1Wrp5MeL6L+Z1teV5dZ0B9KLcWZTz/Oa3Z2phufUeqhy9hnti3aijOa1Qno3/MwqAdvFlg/Ssp5Ni4flU7zgECFcOv5jBJc3Mf/grLWeb79LJ5lFU6FtIXHV0QpOZQZFTKIpkDCuc9QDLWYB/A2U0iS1wUm9zFhqxW4OaYudGHzrR3hD7DUvtfmlNDgoWp/qp9QLV4QW0Qb0i2Fsl+TLivBO07NF6PBRcjqFo7dNk0nC4J7MX6nF165yPxSGWeHHrm4rVb/PHjatPxUqq/1bnH0pEjxE3wizhAs X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:AS8PR08MB7718.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230028)(4636009)(376002)(39860400002)(396003)(136003)(346002)(366004)(451199021)(83380400001)(186003)(2906002)(33656002)(86362001)(38070700005)(38100700002)(122000001)(55016003)(316002)(41300700001)(52536014)(6506007)(5660300002)(8936002)(8676002)(110136005)(54906003)(478600001)(7696005)(64756008)(66556008)(66476007)(71200400001)(76116006)(66946007)(4326008)(9686003)(66446008)(26005); DIR:OUT; SFP:1101; Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAWPR08MB9448 Original-Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=arm.com; X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: AM7EUR03FT006.eop-EUR03.prod.protection.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: 7cf196b4-2127-4a51-14cc-08db66600b5d X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 40cLtZ+2NXz1rbKK3NNPqe1ljOuZtAqwQh6ckf0ZqdKmF6VrHZNLyxGsdKsDCQ6vgXPk9oeTKe0N0XlUGsS2lIHsogmQUkeiaoF0k3emu05wloQ9qxXVy3092v/gAfdWvlMZYrsPMVZyHEebzGRgqRvz/oQAbvysWGQjTkst+V/Qji5Ccs55GLMrBgx3eHl8ekgNCnmNk9mqgohoPL0uXNo4TpIta0gT/o2otxK4YyC9AZ4cFhtCKL5ewGtjW1g1kYaKs7IrWogRZV/rpMXOyoX5t5bf/AiKlrrvbWjoai85rfOF9MBi2E+BMHKIQ7erzg8LzIpKIZqHX/mH2pJxAetGZ/0kj1myDkQD0lKf90sQBbGUNOW6cu1bEyXwsdmHTEHhMWPKezZCTwgmsM9W8m4Q+vVfswb6QTWsr/Gz8wVHNDKIeYedRvumXj8HqPmvPW3n+q71gf/77m+YjhqogqG+loMnoMrj+OgiIgEg/CtI3AW4vyjq7jivGj20bcDimWSu6eN2z2odDyVdncMgxA0DYBQurU+QKAqWWHOausb8cgJSbZ8/F1Z/pEtM422LPlZ7bw8gFnKsxmN7oMJjFVsC7fp/jQP2n1zUvcEa71I5L3dB520g1Ot0agzSbHCsTAliULSdUpNi6tPadUsNCmdsT6jTH2a3qNS2uM+TAzH6jASp5N+DkY9jIj/boNM5vp00VENsMn9W2QLj5CtZhrH4GmBrDHdGom5FFgVoQpWaWwjjq6+hwQXKn/+CLBA3 X-Forefront-Antispam-Report: CIP:63.35.35.123; CTRY:IE; LANG:en; SCL:1; SRV:; IPV:CAL; SFV:NSPM; H:64aa7808-outbound-1.mta.getcheckrecipient.com; PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com; CAT:NONE; SFS:(13230028)(4636009)(136003)(376002)(396003)(346002)(39860400002)(451199021)(40470700004)(46966006)(36840700001)(82310400005)(2906002)(33656002)(86362001)(52536014)(5660300002)(40480700001)(55016003)(7696005)(186003)(336012)(36860700001)(47076005)(6506007)(9686003)(26005)(83380400001)(81166007)(356005)(478600001)(82740400003)(40460700003)(110136005)(54906003)(70586007)(4326008)(70206006)(41300700001)(316002)(8936002)(8676002); DIR:OUT; SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Jun 2023 07:31:43.4229 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 1080caed-b704-4283-0f8f-08db6660139d X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d; Ip=[63.35.35.123]; Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com] X-MS-Exchange-CrossTenant-AuthSource: AM7EUR03FT006.eop-EUR03.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS2PR08MB9834 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 Wy4uLl0NCj4gPiBQcm9iYWJseSBJIGFtIG1pc3Npbmcgc29tZXRoaW5nLCBidXQgd2h5IGl0IGlz IG5vdCBwb3NzaWJsZSB0byBkbyBzb21ldGhpbmcNCj4gbGlrZSB0aGF0Og0KPiA+DQo+ID4gcnRl X2V0aF9yZWN5Y2xlX21idWZzKHJ4X3BvcnRfaWQ9WCwgcnhfcXVldWVfaWQ9WSwgdHhfcG9ydF9p ZD1OLA0KPiA+IHR4X3F1ZXVlX2lkPU0sIC4uLik7IC4uLi4NCj4gPiBydGVfZXRoX3JlY3ljbGVf bWJ1ZnMocnhfcG9ydF9pZD1YLCByeF9xdWV1ZV9pZD1ZLCB0eF9wb3J0X2lkPU4sDQo+ID4gdHhf cXVldWVfaWQ9SywgLi4uKTsNCj4gPg0KPiA+IEkuRS4gZmVlZCByeCBxdWV1ZSBmcm9tIDIgdHgg cXVldWVzPw0KPiA+DQo+ID4gVHdvIHByb2JsZW1zIGZvciB0aGlzOg0KPiA+IDEuIElmIHdlIGhh dmUgMiB0eCBxdWV1ZXMgZm9yIHJ4LCB0aGUgdGhyZWFkIHNob3VsZCBtYWtlIHRoZSBleHRyYQ0K PiA+IGp1ZGdlbWVudCB0byBkZWNpZGUgd2hpY2ggb25lIHRvIGNob29zZSBpbiB0aGUgZHJpdmVy IGxheWVyLg0KPiANCj4gTm90IHN1cmUsIHdoeSBvbiB0aGUgZHJpdmVyIGxheWVyPw0KPiBUaGUg ZXhhbXBsZSBJIGdhdmUgYWJvdmUgLSBkZWNpc2lvbiBpcyBtYWRlIG9uIGFwcGxpY2F0aW9uIGxh eWVyLg0KPiBMZXRzIHNheSBmaXJzdCBjYWxsIGRpZG4ndCBmcmVlIGVub3VnaCBtYnVmcywgc28g YXBwIGRlY2lkZWQgdG8gdXNlIHNlY29uZCB0eHENCj4gZm9yIHJlYXJtLg0KW0ZlaWZlaV0gSSB0 aGluayBjdXJyZW50bHkgbWJ1ZiByZWN5Y2xlIG1vZGUgY2FuIHN1cHBvcnQgdGhpcyB1c2FnZS4g Rm9yIGV4YW1wbGVzOg0KbiA9ICBydGVfZXRoX3JlY3ljbGVfbWJ1ZnMocnhfcG9ydF9pZD1YLCBy eF9xdWV1ZV9pZD1ZLCB0eF9wb3J0X2lkPU4sIHR4X3F1ZXVlX2lkPU0sIC4uLik7DQppZiAobiA8 IHBsYW5uZWRfbnVtYmVyKQ0KcnRlX2V0aF9yZWN5Y2xlX21idWZzKHJ4X3BvcnRfaWQ9WCwgcnhf cXVldWVfaWQ9WSwgdHhfcG9ydF9pZD1OLCB0eF9xdWV1ZV9pZD1LLCAuLi4pOw0KDQpUaHVzLCBp ZiB1c2VycyB3YW50LCB0aGV5IGNhbiBkbyBsaWtlIHRoaXMuIA0KDQo+IA0KPiA+IE9uIHRoZSBv dGhlciBoYW5kLCBjdXJyZW50IG1lY2hhbmlzbSBjYW4gc3VwcG9ydCB1c2VycyB0byBzd2l0Y2gg MSB0eHENCj4gPiB0byBhbm90aGVyIHRpbWVseSBpbiB0aGUgYXBwbGljYXRpb24gbGF5ZXIuIElm IHVzZXIgd2FudCB0byBjaG9vc2UNCj4gPiBhbm90aGVyIHR4cSwgaGUganVzdCBuZWVkIHRvIGNo YW5nZSB0aGUgdHhxX3F1ZXVlX2lkIHBhcmFtZXRlciBpbiB0aGUgQVBJLg0KPiA+IDIuIElmIHlv dSB3YW50IG9uZSByeHEgdG8gc3VwcG9ydCB0d28gdHhxIGF0IHRoZSBzYW1lIHRpbWUsIHRoaXMg bmVlZHMNCj4gPiB0byBhZGQgc3BpbmxvY2sgb24gZ3VhcmQgdmFyaWFibGUgdG8gYXZvaWQgbXVs dGktdGhyZWFkIGNvbmZsaWN0Lg0KPiA+IFNwaW5sb2NrIHdpbGwgZGVjcmVhc2UgdGhlIGRhdGEt cGF0aCBwZXJmb3JtYW5jZSBncmVhdGx5LiAgVGh1cywgd2UgZG8NCj4gPiBub3QgY29uc2lkZXIN Cj4gPiAxIHJ4cSBtYXBwaW5nIG11bHRpcGxlIHR4cXMgaGVyZS4NCj4gDQo+IEkgYW0gdGFsa2lu ZyBhYm91dCBzaXR1YXRpb24gd2hlbiBvbmUgdGhyZWFkIGNvbnRyb2xzIDIgdHggcXVldWVzLg0K PiANCj4gPiArICoNCj4gPiArICogQHBhcmFtIHJ4X3BvcnRfaWQNCj4gPiArICogUG9ydCBpZGVu dGlmeWluZyB0aGUgcmVjZWl2ZSBzaWRlLg0KPiA+ICsgKiBAcGFyYW0gcnhfcXVldWVfaWQNCj4g PiArICogVGhlIGluZGV4IG9mIHRoZSByZWNlaXZlIHF1ZXVlIGlkZW50aWZ5aW5nIHRoZSByZWNl aXZlIHNpZGUuDQo+ID4gKyAqIFRoZSB2YWx1ZSBtdXN0IGJlIGluIHRoZSByYW5nZSBbMCwgbmJf cnhfcXVldWUgLSAxXSBwcmV2aW91c2x5DQo+ID4gK3N1cHBsaWVkDQo+ID4gKyAqIHRvIHJ0ZV9l dGhfZGV2X2NvbmZpZ3VyZSgpLg0KPiA+ICsgKiBAcGFyYW0gdHhfcG9ydF9pZA0KPiA+ICsgKiBQ b3J0IGlkZW50aWZ5aW5nIHRoZSB0cmFuc21pdCBzaWRlLg0KPiA+ICsgKiBAcGFyYW0gdHhfcXVl dWVfaWQNCj4gPiArICogVGhlIGluZGV4IG9mIHRoZSB0cmFuc21pdCBxdWV1ZSBpZGVudGlmeWlu ZyB0aGUgdHJhbnNtaXQgc2lkZS4NCj4gPiArICogVGhlIHZhbHVlIG11c3QgYmUgaW4gdGhlIHJh bmdlIFswLCBuYl90eF9xdWV1ZSAtIDFdIHByZXZpb3VzbHkNCj4gPiArc3VwcGxpZWQNCj4gPiAr ICogdG8gcnRlX2V0aF9kZXZfY29uZmlndXJlKCkuDQo+ID4gKyAqIEBwYXJhbSByZWN5Y2xlX3J4 cV9pbmZvDQo+ID4gKyAqIEEgcG9pbnRlciB0byBhIHN0cnVjdHVyZSBvZiB0eXBlICpydGVfZXRo X3JlY3ljbGVfcnhxX2luZm8qIHdoaWNoDQo+ID4gK2NvbnRhaW5zDQo+ID4gKyAqIHRoZSBpbmZv cm1hdGlvbiBvZiB0aGUgUnggcXVldWUgbWJ1ZiByaW5nLg0KPiA+ICsgKiBAcmV0dXJuDQo+ID4g KyAqIFRoZSBudW1iZXIgb2YgcmVjeWNsaW5nIG1idWZzLg0KPiA+ICsgKi8NCj4gPiArX19ydGVf ZXhwZXJpbWVudGFsDQo+ID4gK3N0YXRpYyBpbmxpbmUgdWludDE2X3QNCj4gPiArcnRlX2V0aF9y ZWN5Y2xlX21idWZzKHVpbnQxNl90IHJ4X3BvcnRfaWQsIHVpbnQxNl90IHJ4X3F1ZXVlX2lkLA0K PiA+ICt1aW50MTZfdCB0eF9wb3J0X2lkLCB1aW50MTZfdCB0eF9xdWV1ZV9pZCwgIHN0cnVjdA0K PiA+ICtydGVfZXRoX3JlY3ljbGVfcnhxX2luZm8gKnJlY3ljbGVfcnhxX2luZm8pIHsgIHN0cnVj dCBydGVfZXRoX2ZwX29wcw0KPiA+ICsqcDsgIHZvaWQgKnFkOyAgdWludDE2X3QgbmJfbWJ1ZnM7 DQo+ID4gKw0KPiA+ICsjaWZkZWYgUlRFX0VUSERFVl9ERUJVR19UWA0KPiA+ICsgaWYgKHR4X3Bv cnRfaWQgPj0gUlRFX01BWF9FVEhQT1JUUyB8fCAgdHhfcXVldWVfaWQgPj0NCj4gPiArUlRFX01B WF9RVUVVRVNfUEVSX1BPUlQpIHsgIFJURV9FVEhERVZfTE9HKEVSUiwgICJJbnZhbGlkDQo+ID4g K3R4X3BvcnRfaWQ9JXUgb3IgdHhfcXVldWVfaWQ9JXVcbiIsICB0eF9wb3J0X2lkLCB0eF9xdWV1 ZV9pZCk7DQo+ID4gK3JldHVybiAwOyAgfSAjZW5kaWYNCj4gPiArDQo+ID4gKyAvKiBmZXRjaCBw b2ludGVyIHRvIHF1ZXVlIGRhdGEgKi8NCj4gPiArIHAgPSAmcnRlX2V0aF9mcF9vcHNbdHhfcG9y dF9pZF07DQo+ID4gKyBxZCA9IHAtPnR4cS5kYXRhW3R4X3F1ZXVlX2lkXTsNCj4gPiArDQo+ID4g KyNpZmRlZiBSVEVfRVRIREVWX0RFQlVHX1RYDQo+ID4gKyBSVEVfRVRIX1ZBTElEX1BPUlRJRF9P Ul9FUlJfUkVUKHR4X3BvcnRfaWQsIDApOw0KPiA+ICsNCj4gPiArIGlmIChxZCA9PSBOVUxMKSB7 DQo+ID4gKyBSVEVfRVRIREVWX0xPRyhFUlIsICJJbnZhbGlkIFR4IHF1ZXVlX2lkPSV1IGZvciBw b3J0X2lkPSV1XG4iLA0KPiA+ICt0eF9xdWV1ZV9pZCwgdHhfcG9ydF9pZCk7ICByZXR1cm4gMDsg IH0gI2VuZGlmICBpZg0KPiA+ICsocC0+cmVjeWNsZV90eF9tYnVmc19yZXVzZSA9PSBOVUxMKSAg cmV0dXJuIDA7DQo+ID4gKw0KPiA+ICsgLyogQ29weSB1c2VkICpydGVfbWJ1ZiogYnVmZmVyIHBv aW50ZXJzIGZyb20gVHggbWJ1ZiByaW5nDQo+ID4gKyAqIGludG8gUnggbWJ1ZiByaW5nLg0KPiA+ ICsgKi8NCj4gPiArIG5iX21idWZzID0gcC0+cmVjeWNsZV90eF9tYnVmc19yZXVzZShxZCwgcmVj eWNsZV9yeHFfaW5mbyk7DQo+ID4gKw0KPiA+ICsgLyogSWYgbm8gcmVjeWNsaW5nIG1idWZzLCBy ZXR1cm4gMC4gKi8gaWYgKG5iX21idWZzID09IDApIHJldHVybiAwOw0KPiA+ICsNCj4gPiArI2lm ZGVmIFJURV9FVEhERVZfREVCVUdfUlgNCj4gPiArIGlmIChyeF9wb3J0X2lkID49IFJURV9NQVhf RVRIUE9SVFMgfHwgIHJ4X3F1ZXVlX2lkID49DQo+ID4gK1JURV9NQVhfUVVFVUVTX1BFUl9QT1JU KSB7ICBSVEVfRVRIREVWX0xPRyhFUlIsICJJbnZhbGlkDQo+ID4gK3J4X3BvcnRfaWQ9JXUgb3Ig cnhfcXVldWVfaWQ9JXVcbiIsICByeF9wb3J0X2lkLCByeF9xdWV1ZV9pZCk7DQo+ID4gK3JldHVy biAwOyAgfSAjZW5kaWYNCj4gPiArDQo+ID4gKyAvKiBmZXRjaCBwb2ludGVyIHRvIHF1ZXVlIGRh dGEgKi8NCj4gPiArIHAgPSAmcnRlX2V0aF9mcF9vcHNbcnhfcG9ydF9pZF07DQo+ID4gKyBxZCA9 IHAtPnJ4cS5kYXRhW3J4X3F1ZXVlX2lkXTsNCj4gPiArDQo+ID4gKyNpZmRlZiBSVEVfRVRIREVW X0RFQlVHX1JYDQo+ID4gKyBSVEVfRVRIX1ZBTElEX1BPUlRJRF9PUl9FUlJfUkVUKHJ4X3BvcnRf aWQsIDApOw0KPiA+ICsNCj4gPiArIGlmIChxZCA9PSBOVUxMKSB7DQo+ID4gKyBSVEVfRVRIREVW X0xPRyhFUlIsICJJbnZhbGlkIFJ4IHF1ZXVlX2lkPSV1IGZvciBwb3J0X2lkPSV1XG4iLA0KPiA+ ICtyeF9xdWV1ZV9pZCwgcnhfcG9ydF9pZCk7ICByZXR1cm4gMDsgIH0gI2VuZGlmDQo+ID4gKw0K PiA+ICsgaWYgKHAtPnJlY3ljbGVfcnhfZGVzY3JpcHRvcnNfcmVmaWxsID09IE5VTEwpIHJldHVy biAwOw0KPiA+ICsNCj4gPiArIC8qIFJlcGxlbmlzaCB0aGUgUnggZGVzY3JpcHRvcnMgd2l0aCB0 aGUgcmVjeWNsaW5nDQo+ID4gKyAqIGludG8gUnggbWJ1ZiByaW5nLg0KPiA+ICsgKi8NCj4gPiAr IHAtPnJlY3ljbGVfcnhfZGVzY3JpcHRvcnNfcmVmaWxsKHFkLCBuYl9tYnVmcyk7DQo+ID4gKw0K PiA+ICsgcmV0dXJuIG5iX21idWZzOw0KPiA+ICt9DQo+ID4gKw0KPiA+ICAvKioNCj4gPiAgICog QHdhcm5pbmcNCj4gPiAgICogQGIgRVhQRVJJTUVOVEFMOiB0aGlzIEFQSSBtYXkgY2hhbmdlIHdp dGhvdXQgcHJpb3Igbm90aWNlIGRpZmYNCj4gPiAtLWdpdCBhL2xpYi9ldGhkZXYvcnRlX2V0aGRl dl9jb3JlLmggYi9saWIvZXRoZGV2L3J0ZV9ldGhkZXZfY29yZS5oDQo+ID4gaW5kZXggZGNmOGFk YWI5Mi4uYTJlNmVhNmI2YyAxMDA2NDQNCj4gPiAtLS0gYS9saWIvZXRoZGV2L3J0ZV9ldGhkZXZf Y29yZS5oDQo+ID4gKysrIGIvbGliL2V0aGRldi9ydGVfZXRoZGV2X2NvcmUuaA0KPiA+IEBAIC01 Niw2ICs1NiwxMyBAQCB0eXBlZGVmIGludCAoKmV0aF9yeF9kZXNjcmlwdG9yX3N0YXR1c190KSh2 b2lkDQo+ID4gKnJ4cSwgdWludDE2X3Qgb2Zmc2V0KTsNCj4gPiAgLyoqIEBpbnRlcm5hbCBDaGVj ayB0aGUgc3RhdHVzIG9mIGEgVHggZGVzY3JpcHRvciAqLyAgdHlwZWRlZiBpbnQNCj4gPiAoKmV0 aF90eF9kZXNjcmlwdG9yX3N0YXR1c190KSh2b2lkICp0eHEsIHVpbnQxNl90IG9mZnNldCk7DQo+ ID4NCj4gPiArLyoqIEBpbnRlcm5hbCBDb3B5IHVzZWQgbWJ1ZnMgZnJvbSBUeCBtYnVmIHJpbmcg aW50byBSeCBtYnVmIHJpbmcgKi8NCj4gPiArdHlwZWRlZiB1aW50MTZfdCAoKmV0aF9yZWN5Y2xl X3R4X21idWZzX3JldXNlX3QpKHZvaWQgKnR4cSwgIHN0cnVjdA0KPiA+ICtydGVfZXRoX3JlY3lj bGVfcnhxX2luZm8gKnJlY3ljbGVfcnhxX2luZm8pOw0KPiA+ICsNCj4gPiArLyoqIEBpbnRlcm5h bCBSZWZpbGwgUnggZGVzY3JpcHRvcnMgd2l0aCB0aGUgcmVjeWNsaW5nIG1idWZzICovDQo+ID4g K3R5cGVkZWYgdm9pZCAoKmV0aF9yZWN5Y2xlX3J4X2Rlc2NyaXB0b3JzX3JlZmlsbF90KSh2b2lk ICpyeHEsDQo+ID4gK3VpbnQxNl90IG5iKTsNCj4gPiArDQo+ID4gIC8qKg0KPiA+ICAgKiBAaW50 ZXJuYWwNCj4gPiAgICogU3RydWN0dXJlIHVzZWQgdG8gaG9sZCBvcGFxdWUgcG9pbnRlcnMgdG8g aW50ZXJuYWwgZXRoZGV2IFJ4L1R4IEBADQo+ID4gLTkwLDkgKzk3LDExIEBAIHN0cnVjdCBydGVf ZXRoX2ZwX29wcyB7DQo+ID4gICAgICAgICAgZXRoX3J4X3F1ZXVlX2NvdW50X3QgcnhfcXVldWVf Y291bnQ7DQo+ID4gICAgICAgICAgLyoqIENoZWNrIHRoZSBzdGF0dXMgb2YgYSBSeCBkZXNjcmlw dG9yLiAqLw0KPiA+ICAgICAgICAgIGV0aF9yeF9kZXNjcmlwdG9yX3N0YXR1c190IHJ4X2Rlc2Ny aXB0b3Jfc3RhdHVzOw0KPiA+ICsgLyoqIFJlZmlsbCBSeCBkZXNjcmlwdG9ycyB3aXRoIHRoZSBy ZWN5Y2xpbmcgbWJ1ZnMuICovDQo+ID4gKyBldGhfcmVjeWNsZV9yeF9kZXNjcmlwdG9yc19yZWZp bGxfdCByZWN5Y2xlX3J4X2Rlc2NyaXB0b3JzX3JlZmlsbDsNCj4gPiBJIGFtIGFmcmFpZCB3ZSBj YW4ndCBwdXQgbmV3IGZpZWxkcyBoZXJlIHdpdGhvdXQgQUJJIGJyZWFrYWdlLg0KPiA+DQo+ID4g QWdyZWUNCj4gPg0KPiA+IEl0IGhhcyB0byBiZSBiZWxvdyByeHEuDQo+ID4gTm93IHRoaW5raW5n IGFib3V0IGN1cnJlbnQgbGF5b3V0IHByb2JhYmx5IG5vdCB0aGUgYmVzdCBvbmUsIGFuZCB3aGVu DQo+ID4gaW50cm9kdWNpbmcgdGhpcyBzdHJ1Y3QsIEkgc2hvdWxkIHByb2JhYmx5IHB1dCByeHEg ZWl0aGVyIG9uIHRoZSB0b3ANCj4gPiBvZiB0aGUgc3RydWN0LCBvciBvbiB0aGUgbmV4dCBjYWNo ZSBsaW5lLg0KPiA+IEJ1dCBzdWNoIGNoYW5nZSBpcyBub3QgcG9zc2libGUgcmlnaHQgbm93IGFu eXdheS4NCj4gPiBTYW1lIHN0b3J5IGZvciB0eHEuDQo+ID4NCj4gPiBUaHVzIHdlIHNob3VsZCBy ZWFycmFuZ2UgdGhlIHN0cnVjdHVyZSBsaWtlIGJlbG9377yaDQo+ID4gc3RydWN0IHJ0ZV9ldGhf ZnBfb3BzIHsNCj4gPiAgICAgc3RydWN0IHJ0ZV9ldGhkZXZfcWRhdGEgcnhxOw0KPiA+ICAgICAg ICAgIGV0aF9yeF9idXJzdF90IHJ4X3BrdF9idXJzdDsNCj4gPiAgICAgICAgICBldGhfcnhfcXVl dWVfY291bnRfdCByeF9xdWV1ZV9jb3VudDsNCj4gPiAgICAgICAgICBldGhfcnhfZGVzY3JpcHRv cl9zdGF0dXNfdCByeF9kZXNjcmlwdG9yX3N0YXR1czsNCj4gPiAgICAgICAgZXRoX3JlY3ljbGVf cnhfZGVzY3JpcHRvcnNfcmVmaWxsX3QgcmVjeWNsZV9yeF9kZXNjcmlwdG9yc19yZWZpbGw7DQo+ ID4gICAgICAgICAgICAgICB1aW50cHRyX3QgcmVzZXJ2ZWQxWzJdOw0KPiA+IH0NCj4gDQo+IFll cywgSSB0aGluayBzdWNoIGxheW91dCB3aWxsIGJlIGJldHRlci4NCj4gVGhlIG9ubHkgcHJvYmxl bSBoZXJlIC0gd2UgaGF2ZSB0byB3YWl0IGZvciAyMy4xMSBmb3IgdGhhdC4NCj4gDQpPaywgaWYg bm90IHRoaXMgY2hhbmdlLCBtYXliZSB3ZSBzdGlsbCBuZWVkIHRvIHdhaXQuIEJlY2F1c2UgbWJ1 ZnNfcmVjeWNsZSBoYXZlIG90aGVyDQpBQkkgYnJlYWthZ2UuIFN1Y2ggYXMgdGhlIGNoYW5nZSBm b3IgJ3N0cnVjdCBydGVfZXRoX2RldicuDQo+ID4NCj4gPg0KPiA+ICAgICAgICAgIC8qKiBSeCBx dWV1ZXMgZGF0YS4gKi8NCj4gPiAgICAgICAgICBzdHJ1Y3QgcnRlX2V0aGRldl9xZGF0YSByeHE7 DQo+ID4gLSB1aW50cHRyX3QgcmVzZXJ2ZWQxWzNdOw0KPiA+ICsgdWludHB0cl90IHJlc2VydmVk MVsyXTsNCj4gPiAgICAgICAgICAvKipAfSovDQo+ID4NCj4gPiAgICAgICAgICAvKipAeyovDQo+ ID4gQEAgLTEwNiw5ICsxMTUsMTEgQEAgc3RydWN0IHJ0ZV9ldGhfZnBfb3BzIHsNCj4gPiAgICAg ICAgICBldGhfdHhfcHJlcF90IHR4X3BrdF9wcmVwYXJlOw0KPiA+ICAgICAgICAgIC8qKiBDaGVj ayB0aGUgc3RhdHVzIG9mIGEgVHggZGVzY3JpcHRvci4gKi8NCj4gPiAgICAgICAgICBldGhfdHhf ZGVzY3JpcHRvcl9zdGF0dXNfdCB0eF9kZXNjcmlwdG9yX3N0YXR1czsNCj4gPiArIC8qKiBDb3B5 IHVzZWQgbWJ1ZnMgZnJvbSBUeCBtYnVmIHJpbmcgaW50byBSeC4gKi8NCj4gPiArIGV0aF9yZWN5 Y2xlX3R4X21idWZzX3JldXNlX3QgcmVjeWNsZV90eF9tYnVmc19yZXVzZTsNCj4gPiAgICAgICAg ICAvKiogVHggcXVldWVzIGRhdGEuICovDQo+ID4gICAgICAgICAgc3RydWN0IHJ0ZV9ldGhkZXZf cWRhdGEgdHhxOw0KPiA+IC0gdWludHB0cl90IHJlc2VydmVkMlszXTsNCj4gPiArIHVpbnRwdHJf dCByZXNlcnZlZDJbMl07DQo+ID4gICAgICAgICAgLyoqQH0qLw0KPiA+DQo+ID4gIH0gX19ydGVf Y2FjaGVfYWxpZ25lZDsNCj4gPiBkaWZmIC0tZ2l0IGEvbGliL2V0aGRldi92ZXJzaW9uLm1hcCBi L2xpYi9ldGhkZXYvdmVyc2lvbi5tYXAgaW5kZXgNCj4gPiAzNTdkMWE4OGMwLi40NWM0MTdmNmJk IDEwMDY0NA0KPiA+IC0tLSBhL2xpYi9ldGhkZXYvdmVyc2lvbi5tYXANCj4gPiArKysgYi9saWIv ZXRoZGV2L3ZlcnNpb24ubWFwDQo+ID4gQEAgLTI5OSw2ICsyOTksMTAgQEAgRVhQRVJJTUVOVEFM IHsNCj4gPiAgICAgICAgICBydGVfZmxvd19hY3Rpb25faGFuZGxlX3F1ZXJ5X3VwZGF0ZTsNCj4g PiAgICAgICAgICBydGVfZmxvd19hc3luY19hY3Rpb25faGFuZGxlX3F1ZXJ5X3VwZGF0ZTsNCj4g PiAgICAgICAgICBydGVfZmxvd19hc3luY19jcmVhdGVfYnlfaW5kZXg7DQo+ID4gKw0KPiA+ICsg IyBhZGRlZCBpbiAyMy4wNw0KPiA+ICsgcnRlX2V0aF9yZWN5Y2xlX21idWZzOw0KPiA+ICsgcnRl X2V0aF9yZWN5Y2xlX3J4X3F1ZXVlX2luZm9fZ2V0Ow0KPiA+ICB9Ow0KPiA+DQo+ID4gIElOVEVS TkFMIHsNCj4gPiAtLQ0KPiA+IDIuMjUuMQ0KPiA+DQo=