From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by smtp.lore.kernel.org (Postfix) with ESMTP id 15207C7618E for ; Wed, 26 Apr 2023 07:36:49 +0000 (UTC) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id F05B8410DC; Wed, 26 Apr 2023 09:36:47 +0200 (CEST) Received: from EUR05-DB8-obe.outbound.protection.outlook.com (mail-db8eur05on2058.outbound.protection.outlook.com [40.107.20.58]) by mails.dpdk.org (Postfix) with ESMTP id C2B2140DDA for ; Wed, 26 Apr 2023 09:36:46 +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=eT+i72Lcr0N5XKA+PyXXuypB+G/Z450k+R9lqkcs5kE=; b=C/nnw8GQpg8V4GwJoKyk+x32gCya+7mxjYf7HG0AS9U3llfOl9ul8P6H+u2H8fhw9LN67V6iSaIK/HSalflzrUzwVDHLVVlNvoSt/+2QZ9BOyd+KrUSsUdAe3nf1F/b7qOpQ55XO8Gi/KAJrMCHCjQgEyZUi5YdC+/jWMQyVTYg= Received: from AS9PR06CA0445.eurprd06.prod.outlook.com (2603:10a6:20b:49e::31) by AM8PR08MB6402.eurprd08.prod.outlook.com (2603:10a6:20b:363::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6340.21; Wed, 26 Apr 2023 07:36:41 +0000 Received: from AM7EUR03FT020.eop-EUR03.prod.protection.outlook.com (2603:10a6:20b:49e:cafe::7c) by AS9PR06CA0445.outlook.office365.com (2603:10a6:20b:49e::31) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6340.21 via Frontend Transport; Wed, 26 Apr 2023 07:36:41 +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 AM7EUR03FT020.mail.protection.outlook.com (100.127.140.196) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6340.21 via Frontend Transport; Wed, 26 Apr 2023 07:36:41 +0000 Received: ("Tessian outbound 99a3040377ca:v136"); Wed, 26 Apr 2023 07:36:40 +0000 X-CR-MTA-TID: 64aa7808 Received: from 51a1cc8ff97a.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id 965C641B-54CB-4C85-8191-D894ED34BA34.1; Wed, 26 Apr 2023 07:36:35 +0000 Received: from EUR03-AM7-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 51a1cc8ff97a.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Wed, 26 Apr 2023 07:36:34 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=T8Le1eXB4eY+A+yXV8RTj9fBqRyzViUzd1mY5MEyE72zD8l6hhs33uElXeGRwOctCFD3cwy11RNiP+2ufUjJYdeHjg/Umka0Nbwn7Nnu3k9fw5qYiwCVVx613rEZ7zyZF3KYezvV5RnJWFzN+fzohasB2AT0icoYF3Xc10SCm2Cm3uN0x/g5xqwXLj0FXtNTY4KBZlM7lZPbiYFoLHG34jm1qG5kzK283bJ1hH7TgJQVM5qVaB8qcoQULuiIG+sGeH+/W5q6Ao6/TJgEI9eOIvbHE6v8u/94MiDSkqgTBLGdnXLBOeE1AepQIDzXR51Laoo1162vE/WandWKCD7bdg== 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=eT+i72Lcr0N5XKA+PyXXuypB+G/Z450k+R9lqkcs5kE=; b=Xle2EcL/z2I00gg+1ITOrlrIK84rdAf6F9UpAVTdcxTZPaaENntIQYWK25k6vkF9Yrvo+snmvgNloMsvop+EZyvD4JKi3R7XHceorYjXRLGU4AVszBWHeF5PNbFuAxv7YbQBmva68/CfJEYQxs7K7BMyGnmRCvS5yYAhHIIjn6DBXYGY1JXGIyCFeYyAHVr/cgn/qtL/dPYpsg9mkG8faYksSxUcaXXDNdl5mmfA2FWEP+dBA1gFOI+cZqmsDIuPNqKfdMXe5oqqFZOrhwPZMiCt1e79dyVsLJVHkEMaPHNejQxJIR7UYdfdJsBwSsR0IeSPE2hp5DYiSgP9otZh3w== 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=eT+i72Lcr0N5XKA+PyXXuypB+G/Z450k+R9lqkcs5kE=; b=C/nnw8GQpg8V4GwJoKyk+x32gCya+7mxjYf7HG0AS9U3llfOl9ul8P6H+u2H8fhw9LN67V6iSaIK/HSalflzrUzwVDHLVVlNvoSt/+2QZ9BOyd+KrUSsUdAe3nf1F/b7qOpQ55XO8Gi/KAJrMCHCjQgEyZUi5YdC+/jWMQyVTYg= Received: from AS8PR08MB7718.eurprd08.prod.outlook.com (2603:10a6:20b:50a::22) by AS8PR08MB6709.eurprd08.prod.outlook.com (2603:10a6:20b:395::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6340.21; Wed, 26 Apr 2023 07:36:33 +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.6340.021; Wed, 26 Apr 2023 07:36:33 +0000 From: Feifei Wang To: Ferruh Yigit , Qiming Yang , Wenjun Wu CC: "dev@dpdk.org" , "konstantin.v.ananyev@yandex.ru" , "mb@smartsharesystems.com" , nd , Honnappa Nagarahalli , Ruifeng Wang , nd Subject: RE: [PATCH v5 3/3] net/ixgbe: implement recycle buffer mode Thread-Topic: [PATCH v5 3/3] net/ixgbe: implement recycle buffer mode Thread-Index: AQHZYtESgsY8dFc5r0yyA5pJDkjDxa8y1dIAgAqHzdA= Date: Wed, 26 Apr 2023 07:36:32 +0000 Message-ID: References: <20211224164613.32569-1-feifei.wang2@arm.com> <20230330062939.1206267-1-feifei.wang2@arm.com> <20230330062939.1206267-4-feifei.wang2@arm.com> 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: F0BD33368525364C9981626D498C1303.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_|AS8PR08MB6709:EE_|AM7EUR03FT020:EE_|AM8PR08MB6402:EE_ X-MS-Office365-Filtering-Correlation-Id: 4b883e15-ca3d-4614-7c64-08db4628fa26 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: 6+OHijvp+fobaslw0wutvTugEeLvD+lcQtjbT9Cj5m8MKlTXXYVaDzrt7G3CRgK4eqQpUYQoxXfSp/cJb5Gnr03ls6nxfFcNMb7ElOmHG4D+dzPQpttywgtLaCRObFpE600y1hfy/YUbaSwT782B3MfJwcuIPWR8AW6cWtyg/9Ob5TD0oa3kbf4fz7i5UNnVGXInvjEHBkcu9xUKt8eGcIqMWb2K24gXUWmltnA6laQ/pSTnSc6KuwDtihipIafmQWtcxCNhYrnuf0SVu7O/nNtTl44bcq6XHn21hUL3nGtLFeRhiyuyFPn68g+hX9ZhVBiWZ7HIO0IffOP4dNsCYjAMGeB1TdfgRxwN5aDVi9hkwQkIAOhmjgSfXnr5HIdOKXYALqbG8tg0gCrWQAYOmh/nMWUG+0PWi9m9JgvoBavW3XrVkdk5UOsA1W3VQcLTR79SOQb3+s7xBZoA7HFHzLI7ev582ADpssmPLPb+PzCC/YAwUZMgYJEAGKi07+q8H77WEztKA8a7qtQhuMMoLYrUgfr2gPzJ732eYYx9QAe0KRD4MYf/agOO7rjz/SPasX/TW7hb4MRQQswPM5iZQrZ4Xk6WPS3OlonbINGSmf7W3IL1ZImLuM0PEmr77vGaXsm6ZLM66Eh6F1vuV2gIqA== 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)(366004)(396003)(39860400002)(376002)(136003)(451199021)(2906002)(316002)(66476007)(66946007)(4326008)(64756008)(66446008)(66556008)(76116006)(41300700001)(52536014)(5660300002)(8676002)(8936002)(83380400001)(478600001)(54906003)(71200400001)(110136005)(7696005)(26005)(53546011)(186003)(9686003)(6506007)(33656002)(55016003)(38100700002)(86362001)(38070700005)(122000001)(23180200003); DIR:OUT; SFP:1101; Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB6709 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: AM7EUR03FT020.eop-EUR03.prod.protection.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: f4c8b17b-22f1-440d-fe6a-08db4628f535 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: gtMZRHs9pJGUnxcLB7Rcrut6kPRJVpjDjg1O21JtDSU7t8sN3L4Qbu1LtNn8px/i9utEsM7jBdMv5GQOIjVJwe/vZd4DU6v1pwlKoVe02REEVABl8nxuKg+2DC6I74uTrX4HX6rNmc608jDK2p8FqG8/OoTahumu+aB1yxbWAl1r5IJljVDyzyoS1/UoUZFWixN7e75aetR5E1EL58P4Jz9LWSrV45cZDMwY2Ej6oQDnCsKmoU92r4y8E3OpdMUQaqCuLro5Jiz/eSaP+bvZq+3pK1VOljrIYjRjsYJUKCsYNe+kbe0mlJGCUMWk473/KWYynDwKnKe7NdHixKPqVyipJMoKBQVwrYKCx0LR+7h2KUpTwNmnDpm0/L3L57SYXNBqa6J2iWclQ2hXqK0AVS2df3UGC7kttPaPC2P/Kj0+uloPn1h9SfA+Ptk9pJQ49CqtlYt8UnOX2F02RfO0UWQCTPuJObQ4LRr7iR9pNSbaO3aG58/+6eLDoWr0aEB0KoYnxQM9wX4MRWqGWl0uzPTlXMEPn4tLDYOlCDB3dX16N8d5R/O4m4tpKLVILZBWDUX1ZtGsvL09Xqz6c1gl/9cBn0DEML1pHYCY2tYAL4/Umipb3biOvoHxuPwrMeySLJ5uj2IozsrbKg3am8ni+b05SeezDP5tRJrme0q8JT8T3uo1SvVfNA1e4I1xy93V9Ht8xwrg0CgGJUA9/t17j8sGJfHgqo579QyFBetqw3aQJlPuT7WBs8xAaQw+AkdkhAeUY2djmIHrpR48BA8MtA== 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)(39860400002)(136003)(376002)(346002)(396003)(451199021)(36840700001)(46966006)(40470700004)(53546011)(26005)(9686003)(6506007)(186003)(336012)(110136005)(40480700001)(82310400005)(83380400001)(36860700001)(7696005)(40460700003)(34070700002)(55016003)(54906003)(52536014)(316002)(41300700001)(356005)(5660300002)(47076005)(82740400003)(33656002)(478600001)(2906002)(86362001)(8936002)(81166007)(4326008)(70586007)(8676002)(70206006)(23180200003); DIR:OUT; SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Apr 2023 07:36:41.1738 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 4b883e15-ca3d-4614-7c64-08db4628fa26 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: AM7EUR03FT020.eop-EUR03.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM8PR08MB6402 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 DQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogRmVycnVoIFlpZ2l0IDxm ZXJydWgueWlnaXRAYW1kLmNvbT4NCj4gU2VudDogV2VkbmVzZGF5LCBBcHJpbCAxOSwgMjAyMyAx MDo0NyBQTQ0KPiBUbzogRmVpZmVpIFdhbmcgPEZlaWZlaS5XYW5nMkBhcm0uY29tPjsgUWltaW5n IFlhbmcNCj4gPHFpbWluZy55YW5nQGludGVsLmNvbT47IFdlbmp1biBXdSA8d2VuanVuMS53dUBp bnRlbC5jb20+DQo+IENjOiBkZXZAZHBkay5vcmc7IGtvbnN0YW50aW4udi5hbmFueWV2QHlhbmRl eC5ydTsNCj4gbWJAc21hcnRzaGFyZXN5c3RlbXMuY29tOyBuZCA8bmRAYXJtLmNvbT47IEhvbm5h cHBhIE5hZ2FyYWhhbGxpDQo+IDxIb25uYXBwYS5OYWdhcmFoYWxsaUBhcm0uY29tPjsgUnVpZmVu ZyBXYW5nDQo+IDxSdWlmZW5nLldhbmdAYXJtLmNvbT4NCj4gU3ViamVjdDogUmU6IFtQQVRDSCB2 NSAzLzNdIG5ldC9peGdiZTogaW1wbGVtZW50IHJlY3ljbGUgYnVmZmVyIG1vZGUNCj4gDQo+IE9u IDMvMzAvMjAyMyA3OjI5IEFNLCBGZWlmZWkgV2FuZyB3cm90ZToNCj4gPiBEZWZpbmUgc3BlY2lm aWMgZnVuY3Rpb24gaW1wbGVtZW50YXRpb24gZm9yIGl4Z2JlIGRyaXZlci4NCj4gPiBDdXJyZW50 bHksIHJlY3ljbGUgYnVmZmVyIG1vZGUgY2FuIHN1cHBvcnQgMTI4Yml0IHZlY3RvciBwYXRoLiBB bmQgY2FuDQo+ID4gYmUgZW5hYmxlZCBib3RoIGluIGZhc3QgZnJlZSBhbmQgbm8gZmFzdCBmcmVl IG1vZGUuDQo+ID4NCj4gPiBTdWdnZXN0ZWQtYnk6IEhvbm5hcHBhIE5hZ2FyYWhhbGxpIDxob25u YXBwYS5uYWdhcmFoYWxsaUBhcm0uY29tPg0KPiA+IFNpZ25lZC1vZmYtYnk6IEZlaWZlaSBXYW5n IDxmZWlmZWkud2FuZzJAYXJtLmNvbT4NCj4gPiBSZXZpZXdlZC1ieTogUnVpZmVuZyBXYW5nIDxy dWlmZW5nLndhbmdAYXJtLmNvbT4NCj4gPiBSZXZpZXdlZC1ieTogSG9ubmFwcGEgTmFnYXJhaGFs bGkgPGhvbm5hcHBhLm5hZ2FyYWhhbGxpQGFybS5jb20+DQo+ID4gLS0tDQo+ID4gIGRyaXZlcnMv bmV0L2l4Z2JlL2l4Z2JlX2V0aGRldi5jIHwgICAxICsNCj4gPiAgZHJpdmVycy9uZXQvaXhnYmUv aXhnYmVfZXRoZGV2LmggfCAgIDMgKw0KPiA+ICBkcml2ZXJzL25ldC9peGdiZS9peGdiZV9yeHR4 LmMgICB8IDE1Mw0KPiArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrDQo+ID4gIGRyaXZl cnMvbmV0L2l4Z2JlL2l4Z2JlX3J4dHguaCAgIHwgICA0ICsNCj4gPiAgNCBmaWxlcyBjaGFuZ2Vk LCAxNjEgaW5zZXJ0aW9ucygrKQ0KPiA+DQo+IA0KPiBXaGF0IGRvIHlvdSB0aGluayB0byBleHRy YWN0IGJ1Zl9yZWN5Y2xlIHJlbGF0ZWQgY29kZSBpbiBkcml2ZXJzIGludG8gaXRzIG93bg0KPiBm aWxlLCB0aGlzIG1heSBoZWxwIHRvIG1hbmFnZXIgbWFpbnRhaW5lcnNoaXAgb2YgY29kZSBlYXNp ZXI/DQpHb29kIGNvbW1lbnQsIHRoaXMgd2lsbCBtYWtlIGNvZGUgY2xlYW4gYW5kIGVhc3kgdG8g bWFpbnRhaW4uDQo+IA0KPiA8Li4uPg0KPiANCj4gPiArdWludDE2X3QNCj4gPiAraXhnYmVfdHhf YnVmX3N0YXNoX3ZlYyh2b2lkICp0eF9xdWV1ZSwNCj4gPiArCQlzdHJ1Y3QgcnRlX2V0aF9yeHFf YnVmX3JlY3ljbGVfaW5mbyAqcnhxX2J1Zl9yZWN5Y2xlX2luZm8pIHsNCj4gPiArCXN0cnVjdCBp eGdiZV90eF9xdWV1ZSAqdHhxID0gdHhfcXVldWU7DQo+ID4gKwlzdHJ1Y3QgaXhnYmVfdHhfZW50 cnkgKnR4ZXA7DQo+ID4gKwlzdHJ1Y3QgcnRlX21idWYgKipyeGVwOw0KPiA+ICsJc3RydWN0IHJ0 ZV9tYnVmICptW1JURV9JWEdCRV9UWF9NQVhfRlJFRV9CVUZfU1pdOw0KPiA+ICsJaW50IGksIGos IG47DQo+ID4gKwl1aW50MzJfdCBzdGF0dXM7DQo+ID4gKwl1aW50MTZfdCBhdmFpbCA9IDA7DQo+ ID4gKwl1aW50MTZfdCBidWZfcmluZ19zaXplID0gcnhxX2J1Zl9yZWN5Y2xlX2luZm8tPmJ1Zl9y aW5nX3NpemU7DQo+ID4gKwl1aW50MTZfdCBtYXNrID0gcnhxX2J1Zl9yZWN5Y2xlX2luZm8tPmJ1 Zl9yaW5nX3NpemUgLSAxOw0KPiA+ICsJdWludDE2X3QgcmVmaWxsX3JlcXVlc3QgPSByeHFfYnVm X3JlY3ljbGVfaW5mby0+cmVmaWxsX3JlcXVlc3Q7DQo+ID4gKwl1aW50MTZfdCByZWZpbGxfaGVh ZCA9ICpyeHFfYnVmX3JlY3ljbGVfaW5mby0+cmVmaWxsX2hlYWQ7DQo+ID4gKwl1aW50MTZfdCBy ZWNlaXZlX3RhaWwgPSAqcnhxX2J1Zl9yZWN5Y2xlX2luZm8tPnJlY2VpdmVfdGFpbDsNCj4gPiAr DQo+ID4gKwkvKiBHZXQgYXZhaWxhYmxlIHJlY3ljbGluZyBSeCBidWZmZXJzLiAqLw0KPiA+ICsJ YXZhaWwgPSAoYnVmX3Jpbmdfc2l6ZSAtIChyZWZpbGxfaGVhZCAtIHJlY2VpdmVfdGFpbCkpICYg bWFzazsNCj4gPiArDQo+ID4gKwkvKiBDaGVjayBUeCBmcmVlIHRocmVzaCBhbmQgUnggYXZhaWxh YmxlIHNwYWNlLiAqLw0KPiA+ICsJaWYgKHR4cS0+bmJfdHhfZnJlZSA+IHR4cS0+dHhfZnJlZV90 aHJlc2ggfHwgYXZhaWwgPD0gdHhxLT50eF9yc190aHJlc2gpDQo+ID4gKwkJcmV0dXJuIDA7DQo+ ID4gKw0KPiA+ICsJLyogY2hlY2sgREQgYml0cyBvbiB0aHJlc2hvbGQgZGVzY3JpcHRvciAqLw0K PiA+ICsJc3RhdHVzID0gdHhxLT50eF9yaW5nW3R4cS0+dHhfbmV4dF9kZF0ud2Iuc3RhdHVzOw0K PiA+ICsJaWYgKCEoc3RhdHVzICYgSVhHQkVfQURWVFhEX1NUQVRfREQpKQ0KPiA+ICsJCXJldHVy biAwOw0KPiA+ICsNCj4gPiArCW4gPSB0eHEtPnR4X3JzX3RocmVzaDsNCj4gPiArDQo+ID4gKwkv KiBCdWZmZXIgcmVjeWNsZSBjYW4gb25seSBzdXBwb3J0IG5vIHJpbmcgYnVmZmVyIHdyYXBhcm91 bmQuDQo+ID4gKwkgKiBUd28gY2FzZSBmb3IgdGhpczoNCj4gPiArCSAqDQo+ID4gKwkgKiBjYXNl IDE6IFRoZSByZWZpbGwgaGVhZCBvZiBSeCBidWZmZXIgcmluZyBuZWVkcyB0byBiZSBhbGlnbmVk IHdpdGgNCj4gPiArCSAqIGJ1ZmZlciByaW5nIHNpemUuIEluIHRoaXMgY2FzZSwgdGhlIG51bWJl ciBvZiBUeCBmcmVlaW5nIGJ1ZmZlcnMNCj4gPiArCSAqIHNob3VsZCBiZSBlcXVhbCB0byByZWZp bGxfcmVxdWVzdC4NCj4gPiArCSAqDQo+ID4gKwkgKiBjYXNlIDI6IFRoZSByZWZpbGwgaGVhZCBv ZiBSeCByaW5nIGJ1ZmZlciBkb2VzIG5vdCBuZWVkIHRvIGJlIGFsaWduZWQNCj4gPiArCSAqIHdp dGggYnVmZmVyIHJpbmcgc2l6ZS4gSW4gdGhpcyBjYXNlLCB0aGUgdXBkYXRlIG9mIHJlZmlsbCBo ZWFkIGNhbiBub3QNCj4gPiArCSAqIGV4Y2VlZCB0aGUgUnggYnVmZmVyIHJpbmcgc2l6ZS4NCj4g PiArCSAqLw0KPiA+ICsJaWYgKHJlZmlsbF9yZXF1ZXN0ICE9IG4gfHwNCj4gPiArCQkoIXJlZmls bF9yZXF1ZXN0ICYmIChyZWZpbGxfaGVhZCArIG4gPiBidWZfcmluZ19zaXplKSkpDQo+ID4gKwkJ cmV0dXJuIDA7DQo+ID4gKw0KPiA+ICsJLyogRmlyc3QgYnVmZmVyIHRvIGZyZWUgZnJvbSBTL1cg cmluZyBpcyBhdCBpbmRleA0KPiA+ICsJICogdHhfbmV4dF9kZCAtICh0eF9yc190aHJlc2gtMSku DQo+ID4gKwkgKi8NCj4gPiArCXR4ZXAgPSAmdHhxLT5zd19yaW5nW3R4cS0+dHhfbmV4dF9kZCAt IChuIC0gMSldOw0KPiA+ICsJcnhlcCA9IHJ4cV9idWZfcmVjeWNsZV9pbmZvLT5idWZfcmluZzsN Cj4gPiArCXJ4ZXAgKz0gcmVmaWxsX2hlYWQ7DQo+ID4gKw0KPiA+ICsJaWYgKHR4cS0+b2ZmbG9h ZHMgJiBSVEVfRVRIX1RYX09GRkxPQURfTUJVRl9GQVNUX0ZSRUUpIHsNCj4gPiArCQkvKiBEaXJl Y3RseSBwdXQgbWJ1ZnMgZnJvbSBUeCB0byBSeC4gKi8NCj4gPiArCQlmb3IgKGkgPSAwOyBpIDwg bjsgaSsrLCByeGVwKyssIHR4ZXArKykNCj4gPiArCQkJKnJ4ZXAgPSB0eGVwWzBdLm1idWY7DQo+ ID4gKwl9IGVsc2Ugew0KPiA+ICsJCWZvciAoaSA9IDAsIGogPSAwOyBpIDwgbjsgaSsrKSB7DQo+ ID4gKwkJCS8qIEF2b2lkIHR4cSBjb250YWlucyBidWZmZXJzIGZyb20gZXhwZWN0ZWQgbWVtcG9v Lg0KPiAqLw0KPiANCj4gbWVtcG9vbCAodW5sZXNzIHRyeWluZyB0byBpbnRyb2R1Y2UgYSBuZXcg Y29uY2VwdCA6KQ0KQWdyZWUuDQo=