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 9BED042C3C; Tue, 6 Jun 2023 09:58:40 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 26CD140A84; Tue, 6 Jun 2023 09:58:40 +0200 (CEST) Received: from EUR01-VE1-obe.outbound.protection.outlook.com (mail-ve1eur01on2075.outbound.protection.outlook.com [40.107.14.75]) by mails.dpdk.org (Postfix) with ESMTP id 9BAA840697 for ; Tue, 6 Jun 2023 09:58:38 +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=BxC2Bw3gO25r+Q8g3ySqsPFPhwC2jn3mkp9ZcmkPXkw=; b=9xgYeyeWmRTMEMTTx8N34KcIFeEXqx02nwcJx7mU2y/+3cf1lc5oU1d0YyV//RzArXRShS//cJ+cE8FB5iJd5C4OzLv6I+o4bC6YBQwj+HDEx5CTFXbPCG4E1q0vJJQCfexL/LarQC317PzLxcZwEdFrRiSeOk+2sJnkpYUCLpI= Received: from DB6PR0402CA0019.eurprd04.prod.outlook.com (2603:10a6:4:91::29) by GVXPR08MB7824.eurprd08.prod.outlook.com (2603:10a6:150:1::9) 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:58:32 +0000 Received: from DBAEUR03FT016.eop-EUR03.prod.protection.outlook.com (2603:10a6:4:91:cafe::5d) by DB6PR0402CA0019.outlook.office365.com (2603:10a6:4:91::29) 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:58:31 +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 DBAEUR03FT016.mail.protection.outlook.com (100.127.142.204) 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:58:31 +0000 Received: ("Tessian outbound e13c2446394c:v136"); Tue, 06 Jun 2023 07:58:31 +0000 X-CR-MTA-TID: 64aa7808 Received: from 06d6e308ed64.2 by 64aa7808-outbound-1.mta.getcheckrecipient.com id DB621BC3-56A1-4FCB-A918-B5A80C2D2D22.1; Tue, 06 Jun 2023 07:58:25 +0000 Received: from EUR03-AM7-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 06d6e308ed64.2 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Tue, 06 Jun 2023 07:58:25 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=hNIiSt2tiZCHlC6wMDMcyDRnknx7+x3thV76YQnVtGLcNYuXrnhZzC3X78oVpcE+Z//ozzD7vqqqHGEGgHVMgO15peRQrUX8Rp0vtVtu0vewqp/rHfX15QjRAS4IB3H/trPXZift7Ns5F6yUfdv9ZJNAlLIXqfuXMf7qS90RV9GSGDZiZ69lAeJDW/jP2emXlu0FsIDuIu5ritZqVy5FIso18ntZ8Ycd4Iz9B1PFa/4ZjQGv5MW4b5vDPWtdKLocpZ3y0oCTwOEyIe5DYSgCOhrJ8tVZs5nNTl3glCmIhxgTyG9NtBnDNVPwaUnh0omxXhXkMqO39MU4Mp3Gt5hLFA== 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=BxC2Bw3gO25r+Q8g3ySqsPFPhwC2jn3mkp9ZcmkPXkw=; b=ZQYOBsWFNDWPNy029jleKZwc2bZXkEmeJKwu31oOjb6qG53S1VLo7RMx6+RJruXPuPBS1W0fjhfliDIjQogwXlf3E+Mdyv4jMbtjFqa38p2SWICA3L5xKxT5Uasp84O0wimzmpc/bKd5Xz12tlFeQMVUn6MsUNjKcLUYeLAJIKUlHcSu+DPy5uRYJlQo+AO7H7yj0p0ap1BBvGk85XT2HQadVyUu3pQlAF8iFS6VtV2bN+Wm7BuAI9C/k2qdvt2mh4dioC1MFLxze/0o/b1wiMINQJSTWk8SyEngNVRHrDHvFp1RayUoIo53p/QKGlGt/tVXH4KYuzxc7ShU7bLONg== 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=BxC2Bw3gO25r+Q8g3ySqsPFPhwC2jn3mkp9ZcmkPXkw=; b=9xgYeyeWmRTMEMTTx8N34KcIFeEXqx02nwcJx7mU2y/+3cf1lc5oU1d0YyV//RzArXRShS//cJ+cE8FB5iJd5C4OzLv6I+o4bC6YBQwj+HDEx5CTFXbPCG4E1q0vJJQCfexL/LarQC317PzLxcZwEdFrRiSeOk+2sJnkpYUCLpI= Received: from AS8PR08MB7718.eurprd08.prod.outlook.com (2603:10a6:20b:50a::22) by DU0PR08MB9252.eurprd08.prod.outlook.com (2603:10a6:10:41b::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:58:22 +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:58:22 +0000 From: Feifei Wang To: Konstantin Ananyev , =?utf-8?B?0JrQvtC90YHRgtCw0L3RgtC40L0g0JDQvdCw0L3RjNC10LI=?= , Yuying Zhang , Beilei Xing CC: "dev@dpdk.org" , nd , Honnappa Nagarahalli , Ruifeng Wang , nd , nd Subject: RE: [PATCH v6 2/4] net/i40e: implement mbufs recycle mode Thread-Topic: [PATCH v6 2/4] net/i40e: implement mbufs recycle mode Thread-Index: AQHZju26BCWN8yrWhUufQwrmL+nGkq98PjcAgADrXGCAAEa4AIAACYGg Date: Tue, 6 Jun 2023 07:58:22 +0000 Message-ID: References: <20211224164613.32569-1-feifei.wang2@arm.com> <20230525094541.331338-1-feifei.wang2@arm.com> <20230525094541.331338-3-feifei.wang2@arm.com> <1580121685969644@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: BC2F4E72598A5041A4413B0F76B18160.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_|DU0PR08MB9252:EE_|DBAEUR03FT016:EE_|GVXPR08MB7824:EE_ X-MS-Office365-Filtering-Correlation-Id: 928e1798-8915-45fc-b605-08db6663d228 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: NOJu0Oqz+IgLYjjdiu+S+8bN2bLntPaaciiSVh0AVHUBrB49h0vswBuLy6G1jPN+/CK1HJUH/HnqjFVCt3SGclDHdA5q4FmcLrwemdzo5OBrITWJMdgQxpwsC26YZozolQ+pKbTrKFXam8lufF6jTaEGnMBZjr+XwTH/5L2RBc0wcXtif9ABVE3UvmXZ8YaVbDwIxNFUARgyoQVViauvGtKfmX21NHW+hyD5k7s3ZmgDzVR4OyrOytPJVCO+ybijuF7QXjqAzQazoICUcrLxhlr6YOP6Cgj068b2GEoDs7IZxbCyPn/WYbhaWUNZYxRv/jhuQ0Hw2msfdR9eiVEX6dOtUOVpgrULPwpXjgVxJQyZgs0LPv1nsAhgtprm7+LZd8LavflW3w7Pn5d5AYYvKKxj+BR2aD4rppEZKRHANNjX6zh59M9y3CBAlsiUy+VmCDEjsKJm8ObjBWnqttwBlFzjoeFq2Qer4Ng0gJ99F04oyC2SFnYW6XMXYgjHVyCg9A2GHFB8NdUtWxBEXLu2pgU8mlWgWef2VHY2Tq6L3UMpz4oncH0LeqxEcs6tspJ0EtpAttb/P9+fjwWtKGT72pQU5VGT+DDzER+l18U6gjO8PwqUNB0fR0VVliXXfLH0 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)(346002)(376002)(39860400002)(136003)(366004)(396003)(451199021)(53546011)(9686003)(6506007)(38100700002)(41300700001)(7696005)(186003)(26005)(83380400001)(71200400001)(478600001)(110136005)(54906003)(4326008)(66446008)(66476007)(66556008)(122000001)(64756008)(76116006)(55016003)(316002)(66946007)(5660300002)(8676002)(8936002)(52536014)(38070700005)(33656002)(2906002)(86362001); DIR:OUT; SFP:1101; Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU0PR08MB9252 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: DBAEUR03FT016.eop-EUR03.prod.protection.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: 16aa7d42-a721-4108-c378-08db6663cc84 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 9UXtA7pRaISrKg50Q/2gNb71EJyDhkuCht5u7Q9TWjurdzhh5UKHxbdccmgydQyDo6Aa4RvF4esuoV4FJWGGUZkqj7K1zDUJ1vt3nkWyERYG5MAKKD2Fd4VEGGQrg69Rhlu3Zfr0ITuPjDVQUTtH6LGB+GPUsFa2lf5TPb6xRD2JuDhDO5ChMkGM3u1pGAAZmCaTBN9gp9nOI88g1Ty2WF+j8+tbNMH5wFM21ep8ZOJo795dMWPyLZzDJ8ezh6Xhu2lW4eIGM73Goyq60DS9w9QAPc89Hp44YybcAEkgCBnGfciVGlMz4kRSzz4+ZZGGUb8XKrZBP2wSrEPN2pMFjoubf+G3KxLR4CooV4E7OJ3CYfQq1YfN1AjfPHmDd8z6E4O7cXsQUxVudMvZn5kG6er1Y2vIKQA6L6qlVVfTJgn+LZ6Gs3govBL9EKIQb6tqmZxqB8iAuJXOojQZkMYgO5SZNYWaeiTq0OpVddJLApajhVIWzB4mKvMtyYodlvqyD52UZ1ZBrfx//NepdQfB4TtyJ9w7TAgjlZpk/GC7aAv1E8adfTIJZQj12IvePp6xcUT3KRPtOdjYB+bKwkxtPzACtmHNDx7CebRSvyjUvkMvPRyHWPE8fbXuPK7+VJEo6ZN0CHRobIlej+UHK5l58xOIM7kHWB54sVf6eI7A8CeUkgToFSK0xcwZ38fFHan0eB7RfFtMMnEfAgJOw7YvaprDc/NYD1cvVEDb88uyD7iBtd89I7Le1fideJ1I4SSSF7hgfSYAOGsQEyRcZ9eREw== 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)(346002)(136003)(376002)(396003)(39860400002)(451199021)(46966006)(40470700004)(36840700001)(81166007)(82740400003)(83380400001)(54906003)(110136005)(356005)(47076005)(4326008)(70206006)(336012)(70586007)(7696005)(478600001)(82310400005)(186003)(2906002)(40460700003)(36860700001)(8936002)(41300700001)(52536014)(33656002)(86362001)(40480700001)(316002)(8676002)(55016003)(5660300002)(26005)(9686003)(53546011)(6506007)(23180200003); DIR:OUT; SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Jun 2023 07:58:31.6736 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 928e1798-8915-45fc-b605-08db6663d228 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: DBAEUR03FT016.eop-EUR03.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: GVXPR08MB7824 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 DQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogS29uc3RhbnRpbiBBbmFu eWV2IDxrb25zdGFudGluLmFuYW55ZXZAaHVhd2VpLmNvbT4NCj4gU2VudDogVHVlc2RheSwgSnVu ZSA2LCAyMDIzIDM6MTggUE0NCj4gVG86IEZlaWZlaSBXYW5nIDxGZWlmZWkuV2FuZzJAYXJtLmNv bT47INCa0L7QvdGB0YLQsNC90YLQuNC9INCQ0L3QsNC90YzQtdCyDQo+IDxrb25zdGFudGluLnYu YW5hbnlldkB5YW5kZXgucnU+OyBZdXlpbmcgWmhhbmcNCj4gPHl1eWluZy56aGFuZ0BpbnRlbC5j b20+OyBCZWlsZWkgWGluZyA8YmVpbGVpLnhpbmdAaW50ZWwuY29tPg0KPiBDYzogZGV2QGRwZGsu b3JnOyBuZCA8bmRAYXJtLmNvbT47IEhvbm5hcHBhIE5hZ2FyYWhhbGxpDQo+IDxIb25uYXBwYS5O YWdhcmFoYWxsaUBhcm0uY29tPjsgUnVpZmVuZyBXYW5nDQo+IDxSdWlmZW5nLldhbmdAYXJtLmNv bT47IG5kIDxuZEBhcm0uY29tPg0KPiBTdWJqZWN0OiBSRTogW1BBVENIIHY2IDIvNF0gbmV0L2k0 MGU6IGltcGxlbWVudCBtYnVmcyByZWN5Y2xlIG1vZGUNCj4gDQo+ID4NCj4gPiBEZWZpbmUgc3Bl Y2lmaWMgZnVuY3Rpb24gaW1wbGVtZW50YXRpb24gZm9yIGk0MGUgZHJpdmVyLg0KPiA+IEN1cnJl bnRseSwgbWJ1ZnMgcmVjeWNsZSBtb2RlIGNhbiBzdXBwb3J0IDEyOGJpdCB2ZWN0b3IgcGF0aCBh bmQgYXZ4Mg0KPiA+IHBhdGguIEFuZCBjYW4gYmUgZW5hYmxlZCBib3RoIGluIGZhc3QgZnJlZSBh bmQgbm8gZmFzdCBmcmVlIG1vZGUuDQo+ID4NCj4gPiBTdWdnZXN0ZWQtYnk6IEhvbm5hcHBhIE5h Z2FyYWhhbGxpDQo+ID4gPG1haWx0bzpob25uYXBwYS5uYWdhcmFoYWxsaUBhcm0uY29tPg0KPiA+ IFNpZ25lZC1vZmYtYnk6IEZlaWZlaSBXYW5nIDxtYWlsdG86ZmVpZmVpLndhbmcyQGFybS5jb20+ DQo+ID4gUmV2aWV3ZWQtYnk6IFJ1aWZlbmcgV2FuZyA8bWFpbHRvOnJ1aWZlbmcud2FuZ0Bhcm0u Y29tPg0KPiA+IFJldmlld2VkLWJ5OiBIb25uYXBwYSBOYWdhcmFoYWxsaQ0KPiA+IDxtYWlsdG86 aG9ubmFwcGEubmFnYXJhaGFsbGlAYXJtLmNvbT4NCj4gPiAtLS0NCj4gPiAgZHJpdmVycy9uZXQv aTQwZS9pNDBlX2V0aGRldi5jIHwgMSArDQo+ID4gIGRyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhk ZXYuaCB8IDIgKw0KPiA+ICAuLi4vbmV0L2k0MGUvaTQwZV9yZWN5Y2xlX21idWZzX3ZlY19jb21t b24uYyB8IDE0MA0KPiArKysrKysrKysrKysrKysrKysNCj4gPiBkcml2ZXJzL25ldC9pNDBlL2k0 MGVfcnh0eC5jIHwgMzIgKysrKyAgZHJpdmVycy9uZXQvaTQwZS9pNDBlX3J4dHguaCB8DQo+ID4g NCArICBkcml2ZXJzL25ldC9pNDBlL21lc29uLmJ1aWxkIHwgMiArDQo+ID4gIDYgZmlsZXMgY2hh bmdlZCwgMTgxIGluc2VydGlvbnMoKykNCj4gPiAgY3JlYXRlIG1vZGUgMTAwNjQ0IGRyaXZlcnMv bmV0L2k0MGUvaTQwZV9yZWN5Y2xlX21idWZzX3ZlY19jb21tb24uYw0KPiA+DQo+ID4gZGlmZiAt LWdpdCBhL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYw0KPiA+IGIvZHJpdmVycy9uZXQv aTQwZS9pNDBlX2V0aGRldi5jIGluZGV4IGY5ZDhmOTc5MWYuLmQ0ZWVjZDE2Y2YgMTAwNjQ0DQo+ ID4gLS0tIGEvZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jDQo+ID4gKysrIGIvZHJpdmVy cy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jDQo+ID4gQEAgLTQ5Niw2ICs0OTYsNyBAQCBzdGF0aWMg Y29uc3Qgc3RydWN0IGV0aF9kZXZfb3BzIGk0MGVfZXRoX2Rldl9vcHMgPQ0KPiB7DQo+ID4gICAg ICAgICAgLmZsb3dfb3BzX2dldCA9IGk0MGVfZGV2X2Zsb3dfb3BzX2dldCwNCj4gPiAgICAgICAg ICAucnhxX2luZm9fZ2V0ID0gaTQwZV9yeHFfaW5mb19nZXQsDQo+ID4gICAgICAgICAgLnR4cV9p bmZvX2dldCA9IGk0MGVfdHhxX2luZm9fZ2V0LA0KPiA+ICsgLnJlY3ljbGVfcnhxX2luZm9fZ2V0 ID0gaTQwZV9yZWN5Y2xlX3J4cV9pbmZvX2dldCwNCj4gPiAgICAgICAgICAucnhfYnVyc3RfbW9k ZV9nZXQgPSBpNDBlX3J4X2J1cnN0X21vZGVfZ2V0LA0KPiA+ICAgICAgICAgIC50eF9idXJzdF9t b2RlX2dldCA9IGk0MGVfdHhfYnVyc3RfbW9kZV9nZXQsDQo+ID4gICAgICAgICAgLnRpbWVzeW5j X2VuYWJsZSA9IGk0MGVfdGltZXN5bmNfZW5hYmxlLCBkaWZmIC0tZ2l0DQo+ID4gYS9kcml2ZXJz L25ldC9pNDBlL2k0MGVfZXRoZGV2LmggYi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmgN Cj4gPiBpbmRleCA5YjgwNmQxMzBlLi5iNWIyZDZjZjJiIDEwMDY0NA0KPiA+IC0tLSBhL2RyaXZl cnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuaA0KPiA+ICsrKyBiL2RyaXZlcnMvbmV0L2k0MGUvaTQw ZV9ldGhkZXYuaA0KPiA+IEBAIC0xMzU1LDYgKzEzNTUsOCBAQCB2b2lkIGk0MGVfcnhxX2luZm9f Z2V0KHN0cnVjdCBydGVfZXRoX2RldiAqZGV2LA0KPiB1aW50MTZfdCBxdWV1ZV9pZCwNCj4gPiAg ICAgICAgICBzdHJ1Y3QgcnRlX2V0aF9yeHFfaW5mbyAqcWluZm8pOyAgdm9pZA0KPiA+IGk0MGVf dHhxX2luZm9fZ2V0KHN0cnVjdCBydGVfZXRoX2RldiAqZGV2LCB1aW50MTZfdCBxdWV1ZV9pZCwN Cj4gPiAgICAgICAgICBzdHJ1Y3QgcnRlX2V0aF90eHFfaW5mbyAqcWluZm8pOw0KPiA+ICt2b2lk IGk0MGVfcmVjeWNsZV9yeHFfaW5mb19nZXQoc3RydWN0IHJ0ZV9ldGhfZGV2ICpkZXYsIHVpbnQx Nl90DQo+ID4gK3F1ZXVlX2lkLCAgc3RydWN0IHJ0ZV9ldGhfcmVjeWNsZV9yeHFfaW5mbyAqcmVj eWNsZV9yeHFfaW5mbyk7DQo+ID4gIGludCBpNDBlX3J4X2J1cnN0X21vZGVfZ2V0KHN0cnVjdCBy dGVfZXRoX2RldiAqZGV2LCB1aW50MTZfdCBxdWV1ZV9pZCwNCj4gPiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgc3RydWN0IHJ0ZV9ldGhfYnVyc3RfbW9kZSAqbW9kZSk7ICBpbnQNCj4gPiBp NDBlX3R4X2J1cnN0X21vZGVfZ2V0KHN0cnVjdCBydGVfZXRoX2RldiAqZGV2LCB1aW50MTZfdCBx dWV1ZV9pZCwNCj4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvaTQwZS9pNDBlX3JlY3ljbGVf bWJ1ZnNfdmVjX2NvbW1vbi5jDQo+ID4gYi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfcmVjeWNsZV9t YnVmc192ZWNfY29tbW9uLmMNCj4gPiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0KPiA+IGluZGV4IDAw MDAwMDAwMDAuLjA4ZDcwOGZkN2QNCj4gPiAtLS0gL2Rldi9udWxsDQo+ID4gKysrIGIvZHJpdmVy cy9uZXQvaTQwZS9pNDBlX3JlY3ljbGVfbWJ1ZnNfdmVjX2NvbW1vbi5jDQo+ID4gQEAgLTAsMCAr MSwxNDAgQEANCj4gPiArLyogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZQ0K PiA+ICsgKiBDb3B5cmlnaHQgKGMpIDIwMjMgQXJtIExpbWl0ZWQuDQo+ID4gKyAqLw0KPiA+ICsN Cj4gPiArI2luY2x1ZGUgPHN0ZGludC5oPg0KPiA+ICsjaW5jbHVkZSA8ZXRoZGV2X2RyaXZlci5o Pg0KPiA+ICsNCj4gPiArI2luY2x1ZGUgImJhc2UvaTQwZV9wcm90b3R5cGUuaCINCj4gPiArI2lu Y2x1ZGUgImJhc2UvaTQwZV90eXBlLmgiDQo+ID4gKyNpbmNsdWRlICJpNDBlX2V0aGRldi5oIg0K PiA+ICsjaW5jbHVkZSAiaTQwZV9yeHR4LmgiDQo+ID4gKw0KPiA+ICsjcHJhZ21hIEdDQyBkaWFn bm9zdGljIGlnbm9yZWQgIi1XY2FzdC1xdWFsIg0KPiA+ICsNCj4gPiArdm9pZA0KPiA+ICtpNDBl X3JlY3ljbGVfcnhfZGVzY3JpcHRvcnNfcmVmaWxsX3ZlYyh2b2lkICpyeF9xdWV1ZSwgdWludDE2 X3QNCj4gPiArbmJfbWJ1ZnMpIHsgIHN0cnVjdCBpNDBlX3J4X3F1ZXVlICpyeHEgPSByeF9xdWV1 ZTsgIHN0cnVjdA0KPiA+ICtpNDBlX3J4X2VudHJ5ICpyeGVwOyAgdm9sYXRpbGUgdW5pb24gaTQw ZV9yeF9kZXNjICpyeGRwOyAgdWludDE2X3QNCj4gPiArcnhfaWQ7ICB1aW50NjRfdCBwYWRkcjsg IHVpbnQ2NF90IGRtYV9hZGRyOyAgdWludDE2X3QgaTsNCj4gPiArDQo+ID4gKyByeGRwID0gcnhx LT5yeF9yaW5nICsgcnhxLT5yeHJlYXJtX3N0YXJ0OyByeGVwID0NCj4gPiArICZyeHEtPnN3X3Jp bmdbcnhxLT5yeHJlYXJtX3N0YXJ0XTsNCj4gPiArDQo+ID4gKyBmb3IgKGkgPSAwOyBpIDwgbmJf bWJ1ZnM7IGkrKykgew0KPiA+ICsgLyogSW5pdGlhbGl6ZSByeGRwIGRlc2NzLiAqLw0KPiA+ICsg cGFkZHIgPSAocnhlcFtpXS5tYnVmKS0+YnVmX2lvdmEgKyBSVEVfUEtUTUJVRl9IRUFEUk9PTTsN Cj4gZG1hX2FkZHIgPQ0KPiA+ICsgcnRlX2NwdV90b19sZV82NChwYWRkcik7DQo+ID4gKyAvKiBm bHVzaCBkZXNjIHdpdGggcGEgZG1hX2FkZHIgKi8NCj4gPiArIHJ4ZHBbaV0ucmVhZC5oZHJfYWRk ciA9IDA7DQo+ID4gKyByeGRwW2ldLnJlYWQucGt0X2FkZHIgPSBkbWFfYWRkcjsNCj4gPiArIH0N Cj4gPiArDQo+ID4gKyAvKiBVcGRhdGUgdGhlIGRlc2NyaXB0b3IgaW5pdGlhbGl6ZXIgaW5kZXgg Ki8NCj4gPiArIHJ4cS0+cnhyZWFybV9zdGFydCArPSBuYl9tYnVmczsNCj4gPiArIHJ4X2lkID0g cnhxLT5yeHJlYXJtX3N0YXJ0IC0gMTsNCj4gPiArDQo+ID4gKyBpZiAodW5saWtlbHkocnhxLT5y eHJlYXJtX3N0YXJ0ID49IHJ4cS0+bmJfcnhfZGVzYykpIHsNCj4gPiArIHJ4cS0+cnhyZWFybV9z dGFydCA9IDA7DQo+ID4gKyByeF9pZCA9IHJ4cS0+bmJfcnhfZGVzYyAtIDE7DQo+ID4gKyB9DQo+ ID4gKw0KPiA+ICsgcnhxLT5yeHJlYXJtX25iIC09IG5iX21idWZzOw0KPiA+ICsNCj4gPiArIHJ0 ZV9pb193bWIoKTsNCj4gPiArIC8qIFVwZGF0ZSB0aGUgdGFpbCBwb2ludGVyIG9uIHRoZSBOSUMg Ki8NCj4gPiArSTQwRV9QQ0lfUkVHX1dSSVRFX1JFTEFYRUQocnhxLT5xcnhfdGFpbCwgcnhfaWQp OyB9DQo+ID4gKw0KPiA+ICt1aW50MTZfdA0KPiA+ICtpNDBlX3JlY3ljbGVfdHhfbWJ1ZnNfcmV1 c2VfdmVjKHZvaWQgKnR4X3F1ZXVlLCAgc3RydWN0DQo+ID4gK3J0ZV9ldGhfcmVjeWNsZV9yeHFf aW5mbyAqcmVjeWNsZV9yeHFfaW5mbykgeyAgc3RydWN0IGk0MGVfdHhfcXVldWUNCj4gPiArKnR4 cSA9IHR4X3F1ZXVlOyAgc3RydWN0IGk0MGVfdHhfZW50cnkgKnR4ZXA7ICBzdHJ1Y3QgcnRlX21i dWYNCj4gPiArKipyeGVwOyAgc3RydWN0IHJ0ZV9tYnVmICptW1JURV9JNDBFX1RYX01BWF9GUkVF X0JVRl9TWl07ICBpbnQgaSwgaiwNCj4gPiArbjsgIHVpbnQxNl90IGF2YWlsID0gMDsgIHVpbnQx Nl90IG1idWZfcmluZ19zaXplID0NCj4gPiArcmVjeWNsZV9yeHFfaW5mby0+bWJ1Zl9yaW5nX3Np emU7DQo+ID4gKyB1aW50MTZfdCBtYXNrID0gcmVjeWNsZV9yeHFfaW5mby0+bWJ1Zl9yaW5nX3Np emUgLSAxOyAgdWludDE2X3QNCj4gPiArcmVmaWxsX3JlcXVpcmVtZW50ID0gcmVjeWNsZV9yeHFf aW5mby0+cmVmaWxsX3JlcXVpcmVtZW50Ow0KPiA+ICsgdWludDE2X3QgcmVmaWxsX2hlYWQgPSAq cmVjeWNsZV9yeHFfaW5mby0+cmVmaWxsX2hlYWQ7ICB1aW50MTZfdA0KPiA+ICtyZWNlaXZlX3Rh aWwgPSAqcmVjeWNsZV9yeHFfaW5mby0+cmVjZWl2ZV90YWlsOw0KPiA+ICsNCj4gPiArIC8qIEdl dCBhdmFpbGFibGUgcmVjeWNsaW5nIFJ4IGJ1ZmZlcnMuICovIGF2YWlsID0gKG1idWZfcmluZ19z aXplIC0NCj4gPiArIChyZWZpbGxfaGVhZCAtIHJlY2VpdmVfdGFpbCkpICYgbWFzazsNCj4gPiAr DQo+ID4gKyAvKiBDaGVjayBUeCBmcmVlIHRocmVzaCBhbmQgUnggYXZhaWxhYmxlIHNwYWNlLiAq LyBpZg0KPiA+ICsgKHR4cS0+bmJfdHhfZnJlZSA+IHR4cS0+dHhfZnJlZV90aHJlc2ggfHwgYXZh aWwgPD0NCj4gPiArIHR4cS0+dHhfcnNfdGhyZXNoKSByZXR1cm4gMDsNCj4gPiArDQo+ID4gKyAv KiBjaGVjayBERCBiaXRzIG9uIHRocmVzaG9sZCBkZXNjcmlwdG9yICovIGlmDQo+ID4gKyAoKHR4 cS0+dHhfcmluZ1t0eHEtPnR4X25leHRfZGRdLmNtZF90eXBlX29mZnNldF9ic3ogJg0KPiA+ICsg cnRlX2NwdV90b19sZV82NChJNDBFX1RYRF9RVzFfRFRZUEVfTUFTSykpICE9DQo+ID4gKyBydGVf Y3B1X3RvX2xlXzY0KEk0MEVfVFhfREVTQ19EVFlQRV9ERVNDX0RPTkUpKQ0KPiA+ICsgcmV0dXJu IDA7DQo+ID4gKw0KPiA+ICsgbiA9IHR4cS0+dHhfcnNfdGhyZXNoOw0KPiA+ICsNCj4gPiArIC8q IE1idWZzIHJlY3ljbGUgbW9kZSBjYW4gb25seSBzdXBwb3J0IG5vIHJpbmcgYnVmZmVyIHdyYXBw aW5nIGFyb3VuZC4NCj4gPiArICogVHdvIGNhc2UgZm9yIHRoaXM6DQo+ID4gKyAqDQo+ID4gKyAq IGNhc2UgMTogVGhlIHJlZmlsbCBoZWFkIG9mIFJ4IGJ1ZmZlciByaW5nIG5lZWRzIHRvIGJlIGFs aWduZWQgd2l0aA0KPiA+ICsgKiBtYnVmIHJpbmcgc2l6ZS4gSW4gdGhpcyBjYXNlLCB0aGUgbnVt YmVyIG9mIFR4IGZyZWVpbmcgYnVmZmVycw0KPiA+ICsgKiBzaG91bGQgYmUgZXF1YWwgdG8gcmVm aWxsX3JlcXVpcmVtZW50Lg0KPiA+ICsgKg0KPiA+ICsgKiBjYXNlIDI6IFRoZSByZWZpbGwgaGVh ZCBvZiBSeCByaW5nIGJ1ZmZlciBkb2VzIG5vdCBuZWVkIHRvIGJlDQo+ID4gKyBhbGlnbmVkDQo+ ID4gKyAqIHdpdGggbWJ1ZiByaW5nIHNpemUuIEluIHRoaXMgY2FzZSwgdGhlIHVwZGF0ZSBvZiBy ZWZpbGwgaGVhZCBjYW4NCj4gPiArIG5vdA0KPiA+ICsgKiBleGNlZWQgdGhlIFJ4IG1idWYgcmlu ZyBzaXplLg0KPiA+ICsgKi8NCj4gPiArIGlmIChyZWZpbGxfcmVxdWlyZW1lbnQgIT0gbiB8fA0K PiA+ICsgKCFyZWZpbGxfcmVxdWlyZW1lbnQgJiYgKHJlZmlsbF9oZWFkICsgbiA+IG1idWZfcmlu Z19zaXplKSkpIHJldHVybg0KPiA+ICsgMDsNCj4gPiArDQo+ID4gKyAvKiBGaXJzdCBidWZmZXIg dG8gZnJlZSBmcm9tIFMvVyByaW5nIGlzIGF0IGluZGV4DQo+ID4gKyAqIHR4X25leHRfZGQgLSAo dHhfcnNfdGhyZXNoLTEpLg0KPiA+ICsgKi8NCj4gPiArIHR4ZXAgPSAmdHhxLT5zd19yaW5nW3R4 cS0+dHhfbmV4dF9kZCAtIChuIC0gMSldOyByeGVwID0NCj4gPiArIHJlY3ljbGVfcnhxX2luZm8t Pm1idWZfcmluZzsgcnhlcCArPSByZWZpbGxfaGVhZDsNCj4gPiArDQo+ID4gKyBpZiAodHhxLT5v ZmZsb2FkcyAmIFJURV9FVEhfVFhfT0ZGTE9BRF9NQlVGX0ZBU1RfRlJFRSkgew0KPiA+ICsgLyog RGlyZWN0bHkgcHV0IG1idWZzIGZyb20gVHggdG8gUnguICovIGZvciAoaSA9IDA7IGkgPCBuOyBp KyssDQo+ID4gKyByeGVwKyssIHR4ZXArKykgKnJ4ZXAgPSB0eGVwWzBdLm1idWY7IH0gZWxzZSB7 IGZvciAoaSA9IDAsIGogPSAwOyBpDQo+ID4gKyA8IG47IGkrKykgew0KPiA+ICsgLyogQXZvaWQg dHhxIGNvbnRhaW5zIGJ1ZmZlcnMgZnJvbSBleHBlY3RlZCBtZW1wb29sLiAqLyBpZg0KPiA+ICsg KHVubGlrZWx5KHJlY3ljbGVfcnhxX2luZm8tPm1wICE9IHR4ZXBbaV0ubWJ1Zi0+cG9vbCkpIHJl dHVybiAwOw0KPiA+IEkgZG9uJ3QgdGhpbmsgdGhhdCBpdCBpcyBwb3NzaWJsZSB0byBzaW1wbHkg cmV0dXJuIDAgaGVyZToNCj4gPiB3ZSBtaWdodCBhbHJlYWR5IGhhdmUgc29tZSBtYnVmcyBpbnNp ZGUgcnhlcFtdLCBzbyB3ZSBwcm9iYWJseSBuZWVkIHRvDQo+ID4gcmV0dXJuIHRoYXQgbnVtYmVy IChqKS4NCj4gPg0KPiA+IE5vLCBoZXJlIGlzIGp1c3QgcHJlLWZyZWUsIG5vdCBhY3R1YWxseSBw dXQgbWJ1ZnMgaW50byByeGVxLg0KPiANCj4gSSB1bmRlcnN0YW5kIHRoYXQuDQo+IFdoYXQgSSBh bSBzYXlpbmc6IGFmdGVyIHlvdSBjYWxsIHBrdG1idWZfcHJlZnJlZV9zZWcobWJ1ZiksIHlvdSBj YW7igJl0IGtlZXAgaXQNCj4gaW4gdGhlIHR4cSBhbnltb3JlLg0KPiBZb3UgaGF2ZSBlaXRoZXIg dG8gcHV0IGl0IGludG8gcnhlcFtdLCBvciBiYWNrIGludG8gbWVtcG9vbC4NCj4gQWxzbyB0eHEg c3RhdGUgKG5iX3R4X2ZyZWUsIGV0Yy4pIG5lZWQgdG8gYmUgdXBkYXRlZC4NCj4gDQo+ID4gQWZ0 ZXIgcnVuIG91dCBvZiB0aGUgbG9vcCwgd2UgY2FsbCBydGVfbWVtY3B5IHRvIGFjdHVhbGx5IGNv cHkgbWJ1ZnMNCj4gPiBpbnRvIHJ4ZXAuDQo+ID4gKw0KPiA+ICsgbVtqXSA9IHJ0ZV9wa3RtYnVm X3ByZWZyZWVfc2VnKHR4ZXBbaV0ubWJ1Zik7DQo+ID4gKw0KPiA+ICsgLyogSW4gY2FzZSAxLCBl YWNoIG9mIFR4IGJ1ZmZlcnMgc2hvdWxkIGJlIHRoZQ0KPiA+ICsgKiBsYXN0IHJlZmVyZW5jZS4N Cj4gPiArICovDQo+ID4gKyBpZiAodW5saWtlbHkobVtqXSA9PSBOVUxMICYmIHJlZmlsbF9yZXF1 aXJlbWVudCkpIHJldHVybiAwOw0KPiA+DQo+ID4gc2FtZSBoZXJlLCB3ZSBjYW4ndCBzaW1wbHkg cmV0dXJuIDAsIGl0IHdpbGwgaW50cm9kdWNlIG1idWYgbGVha2FnZS4NCj4gPiArIC8qIEluIGNh c2UgMiwgdGhlIG51bWJlciBvZiB2YWxpZCBUeCBmcmVlDQo+ID4gKyAqIGJ1ZmZlcnMgc2hvdWxk IGJlIHJlY29yZGVkLg0KPiA+ICsgKi8NCj4gPiArIGorKzsNCj4gPiArIH0NCj4gPiArIHJ0ZV9t ZW1jcHkocnhlcCwgbSwgc2l6ZW9mKHZvaWQgKikgKiBqKTsNCj4gPiBXb25kZXIgd2h5IGRvIHlv dSBuZWVkIGludGVybWVkaWF0ZSBidWZmZXIgZm9yIHJlbGVhc2VkIG1idWZzPw0KPiA+IFdoeSBj YW4ndCBqdXN0Og0KPiA+IC4uLg0KPiA+IG0gPSBydGVfcGt0bWJ1Zl9wcmVmcmVlX3NlZyh0eGVw W2ldLm1idWYpOw0KPiA+IC4uLg0KPiA+IHJ4ZXBbaisrXSA9IG07DQo+ID4gPw0KPiA+IE1pZ2h0 IHNhdmUgeW91IGZldyBleHRyYSBjeWNsZXMuDQo+ID4gU29tZXRpbWVzIOKAmHJ0ZV9wa3RtYnVm X3ByZWZyZWVfc2Vn4oCZIGNhbiByZXR1cm4gTlVMTCBkdWUgdG8NCj4gPiBtYnVmLT5yZWZjbnQg PiAxLiBTbyB3ZSBzaG91bGQgZmlyc3RseSBlbnN1cmUgYWxsIOKAmG3igJkgYXJlIHZhbGlkIGFu ZA0KPiA+IHRoZW4gY29weSB0aGVtIGludG8gcnhlcC4NCj4gDQo+IEkgdW5kZXJzdGFuZCB0aGF0 LCBidXQgeW91IGNhbiBjaGVjayBpcyBpdCBOVUxMIG9yIG5vdC4NCkZvciBpNDBlIHJ4cSwgaXQg bXVzdCByZWFybSAnIFJURV9JNDBFX1JYUV9SRUFSTV9USFJFU0ggJyBwa3RzIG9uY2UgYSB0aW1l DQpiYXNlZCBvbiBpdHMgcmluZyB3cmFwcGluZyBtZWNoYW5pc20uIA0KDQpGb3IgaTQwZSB0eHEs IGl0IG11c3QgZnJlZSAnIHR4cS0+dHhfcnNfdGhyZXNoJyBwa3RzIG9uY2UgYSB0aW1lLg0KDQpT byB3ZSBuZWVkIGZpcnN0bHkgZW5zdXJlIGFsbCB0eCBmcmVlIG1idWZzIGFyZSB2YWxpZCwgYW5k IHRoZW4gY29weSB0aGVzZSBpbnRvIHJ4cS4NCklmIG5vdCBlbm91Z2ggdmFsaWQgbWJ1ZnMsIGl0 IHdpbGwgYnJlYWsgcnhxJ3MgcmluZyB3cmFwcGluZyBtZWNoYW5pc20uDQoNCj4gDQo+ID4gKyB9 DQo+ID4gKw0KPiA+ICsgLyogVXBkYXRlIGNvdW50ZXJzIGZvciBUeC4gKi8NCj4gPiArIHR4cS0+ bmJfdHhfZnJlZSA9ICh1aW50MTZfdCkodHhxLT5uYl90eF9mcmVlICsgdHhxLT50eF9yc190aHJl c2gpOw0KPiA+ICsgdHhxLT50eF9uZXh0X2RkID0gKHVpbnQxNl90KSh0eHEtPnR4X25leHRfZGQg KyB0eHEtPnR4X3JzX3RocmVzaCk7DQo+ID4gKyBpZiAodHhxLT50eF9uZXh0X2RkID49IHR4cS0+ bmJfdHhfZGVzYykNCj4gPiArIHR4cS0+dHhfbmV4dF9kZCA9ICh1aW50MTZfdCkodHhxLT50eF9y c190aHJlc2ggLSAxKTsNCj4gPiArDQo+ID4gKyByZXR1cm4gbjsNCj4gPiArfQ0K