From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 9C47DA052E; Mon, 9 Mar 2020 10:23:37 +0100 (CET) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 799781C067; Mon, 9 Mar 2020 10:23:37 +0100 (CET) Received: from EUR04-HE1-obe.outbound.protection.outlook.com (mail-eopbgr70045.outbound.protection.outlook.com [40.107.7.45]) by dpdk.org (Postfix) with ESMTP id 0CD1A1C045 for ; Mon, 9 Mar 2020 10:23:36 +0100 (CET) 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=2AY8EE8LPToK9PuLdZwmsvFHXi6RD+D/zbMG0L265/w=; b=47KNXMckTVRpJNTCakG9CFWTyfTksbY5miZpqq1LE7elSh1MiDos0FKJ10OjMIi0Hb75X8h0j2uHtUc0cn/1Mutsk1hPrtzDyCAfER5Euf/1f27eCf+Fk1UJsMhPOM22aU7AXVP/gL+JgYWcEpQsayzh84Cpq/OTbM5t2RR6TCA= Received: from VI1PR0102CA0108.eurprd01.prod.exchangelabs.com (2603:10a6:803:15::49) by AM0PR08MB4002.eurprd08.prod.outlook.com (2603:10a6:208:132::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2793.16; Mon, 9 Mar 2020 09:23:33 +0000 Received: from VE1EUR03FT005.eop-EUR03.prod.protection.outlook.com (2603:10a6:803:15:cafe::7f) by VI1PR0102CA0108.outlook.office365.com (2603:10a6:803:15::49) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2793.16 via Frontend Transport; Mon, 9 Mar 2020 09:23:32 +0000 Authentication-Results: spf=pass (sender IP is 63.35.35.123) smtp.mailfrom=arm.com; dpdk.org; dkim=pass (signature was verified) header.d=armh.onmicrosoft.com;dpdk.org; dmarc=bestguesspass 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; Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by VE1EUR03FT005.mail.protection.outlook.com (10.152.18.172) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2793.11 via Frontend Transport; Mon, 9 Mar 2020 09:23:32 +0000 Received: ("Tessian outbound 1f9bda537fdc:v42"); Mon, 09 Mar 2020 09:23:32 +0000 X-CR-MTA-TID: 64aa7808 Received: from 66ab2badd8d3.2 by 64aa7808-outbound-1.mta.getcheckrecipient.com id CB0F68B7-FF94-4BFC-9C75-E74F61774F5D.1; Mon, 09 Mar 2020 09:23:27 +0000 Received: from EUR01-VE1-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 66ab2badd8d3.2 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Mon, 09 Mar 2020 09:23:27 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=jjyiFQvzQWz6n8GlTEWHNp2Qve7qbq10lUkxwDk/UF5zgQnS3FtXNr8uJDcIYdt1yo3S5XwztXF7kwBmI6bEjkB35LctrNeikOV50xZmVkqwNFzAE27aF02Hjq7GEW4HN1vTtgGuDeYHVVGL5xKHura62WHwt7JjtiDmPQuodaeUPRO8rVmTQBGfnncZzUPB5B4sF4uIMb1WHyEcram82YKMus3lYp/sEcN1rGM5y9HIa5AUeVm4izQJPG5N7SsPkgCoOlaIFv9ma6qIUWjiX/KTWft6CD5vXERZ4CJdRy2bJ4DzCi/4Y4IBQIz3P/W9yAPivDzaUv5rUMnS+hzsFQ== 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-SenderADCheck; bh=2AY8EE8LPToK9PuLdZwmsvFHXi6RD+D/zbMG0L265/w=; b=U60ZwU+gwjxTruv3TlYj4EZMwHNlsQ7y42n3PXFK3DadtXfGC8QhxFKNI/aCVCIKKKiQAKfC0opVc+ec3pOa4RzqUPjAho9P+knKDQ/bm2n9agzpZJAHQd0atAfZ5La8jpnTy5Tn8xgXnBMphRRp4O0EVoegJFZrBCIc8x/Baiq3juqPXfWUi7Jyk0UIA8xiWxNamGGvepDBtbbC0vs21UIDuWIbR8G+l0PY0t/Agg4XCGkqGYpBWeLhg+5DQu9xKwP+V4/Tw9yvaNrwdz7iuDVt1vJlECsKQbS/erJEvquRX5ns7zGqfQOyuoKNJsvEI6qB4BAktGsN27OWq4bQ/g== 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=2AY8EE8LPToK9PuLdZwmsvFHXi6RD+D/zbMG0L265/w=; b=47KNXMckTVRpJNTCakG9CFWTyfTksbY5miZpqq1LE7elSh1MiDos0FKJ10OjMIi0Hb75X8h0j2uHtUc0cn/1Mutsk1hPrtzDyCAfER5Euf/1f27eCf+Fk1UJsMhPOM22aU7AXVP/gL+JgYWcEpQsayzh84Cpq/OTbM5t2RR6TCA= Received: from VI1PR08MB5376.eurprd08.prod.outlook.com (10.255.196.79) by VI1PR08MB3710.eurprd08.prod.outlook.com (20.178.81.80) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2793.17; Mon, 9 Mar 2020 09:23:22 +0000 Received: from VI1PR08MB5376.eurprd08.prod.outlook.com ([fe80::a0e2:2a9f:be7b:4b15]) by VI1PR08MB5376.eurprd08.prod.outlook.com ([fe80::a0e2:2a9f:be7b:4b15%3]) with mapi id 15.20.2793.013; Mon, 9 Mar 2020 09:23:22 +0000 From: Gavin Hu To: Jerin Jacob CC: dpdk-dev , nd , David Marchand , "thomas@monjalon.net" , "jerinj@marvell.com" , "Ye, Xiaolong" , Honnappa Nagarahalli , Ruifeng Wang , Phil Yang , Joyce Kong , Steve Capper , nd Thread-Topic: [dpdk-dev] [PATCH v1 3/3] net/i40e: auto-vectorization to speed up Tx free Thread-Index: AQHV84soocG1OCQQjECKlmfogws5f6g9OpwQgAKpAoCAAB3s0A== Date: Mon, 9 Mar 2020 09:23:22 +0000 Message-ID: References: <20200306050427.66114-1-gavin.hu@arm.com> <20200306050427.66114-4-gavin.hu@arm.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ts-tracking-id: 42d2b88f-922f-4d63-a660-9d51197568e2.0 x-checkrecipientchecked: true Authentication-Results-Original: spf=none (sender IP is ) smtp.mailfrom=Gavin.Hu@arm.com; x-originating-ip: [113.29.88.7] x-ms-publictraffictype: Email X-MS-Office365-Filtering-HT: Tenant X-MS-Office365-Filtering-Correlation-Id: 1adb076d-c79a-4ebe-b2e4-08d7c40b89a8 X-MS-TrafficTypeDiagnostic: VI1PR08MB3710:|VI1PR08MB3710:|AM0PR08MB4002: x-ld-processed: f34e5979-57d9-4aaa-ad4d-b122a662184d,ExtAddr x-ms-exchange-transport-forked: True X-Microsoft-Antispam-PRVS: x-checkrecipientrouted: true nodisclaimer: true x-ms-oob-tlc-oobclassifiers: OLM:6430;OLM:6430; x-forefront-prvs: 0337AFFE9A X-Forefront-Antispam-Report-Untrusted: SFV:NSPM; SFS:(10009020)(4636009)(136003)(396003)(376002)(39860400002)(366004)(346002)(199004)(189003)(86362001)(6916009)(81166006)(8676002)(81156014)(33656002)(8936002)(2906002)(6506007)(9686003)(26005)(478600001)(54906003)(7696005)(316002)(55236004)(53546011)(66946007)(52536014)(5660300002)(64756008)(76116006)(66446008)(4326008)(71200400001)(186003)(66476007)(55016002)(66556008); DIR:OUT; SFP:1101; SCL:1; SRVR:VI1PR08MB3710; H:VI1PR08MB5376.eurprd08.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX:1; received-spf: None (protection.outlook.com: arm.com does not designate permitted sender hosts) X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam-Untrusted: BCL:0; X-Microsoft-Antispam-Message-Info-Original: eu3dTaRvG5nsE3XT7TY8AXUr7v+fgn+c2PvXNXt9k3A6K3L+Fqe7uhGy5S9QeX0Q5F9Qsyy0oWa3tjhRFPLBw6L/v3X0YfNVQKFyLZyeo9aWOkWofheva4q8MZlX9iEZTPHIUdTolCpFcxDnkWlYrfCYKAIxLzBOaP7caMesP04nq+J58qS/xiQ+69oiu0uZHxKYA7C3hS2RfUyFxWynHucxQjU/PhjCbSnzkDB9TIcdfA1h9Ak6mrDkX8U5idfaVRo82lJllbc/5JX4ygWrdGsE/7fSIwDYQaPBgr+gS9NFNW4cL8JgxTiqEuB+T8Gs/f7q9hbKieFT01K/Loxx0I5AE4y4pVq+DHZII7Wr5IBjDQaoDUU1lrPQWMzYrJrJH9DOT35DaxTTUVTew8OLn9ntu7nb1hZ9+wku1peO0cSUXPKTg/U7k/ra0uFhKK8Q x-ms-exchange-antispam-messagedata: wU/vGCjuc+3DL4ghGY4PiNX4vnU9PUeYtRuSI1bDXNSs4j2iizyDbyscbF2TMstVb49EXI4jOkWX6pXzdCnndmRsJI6uk86643tHa7uEKfT/onnkQd57AfoWTREcVaAVLCC82JIVtiytdWI1URzddQ== Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR08MB3710 Original-Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Gavin.Hu@arm.com; X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: VE1EUR03FT005.eop-EUR03.prod.protection.outlook.com X-Forefront-Antispam-Report: CIP:63.35.35.123; IPV:CAL; SCL:-1; CTRY:IE; EFV:NLI; SFV:NSPM; SFS:(10009020)(4636009)(346002)(396003)(39850400004)(136003)(376002)(199004)(189003)(2906002)(81156014)(81166006)(8936002)(33656002)(6862004)(8676002)(7696005)(36906005)(316002)(356004)(86362001)(54906003)(6506007)(53546011)(55016002)(9686003)(4326008)(478600001)(52536014)(70206006)(26826003)(186003)(70586007)(5660300002)(336012)(26005); DIR:OUT; SFP:1101; SCL:1; SRVR:AM0PR08MB4002; H:64aa7808-outbound-1.mta.getcheckrecipient.com; FPR:; SPF:Pass; LANG:en; PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com; A:1; MX:1; X-MS-Office365-Filtering-Correlation-Id-Prvs: e6d52920-5133-4f1a-cac3-08d7c40b8392 X-Forefront-PRVS: 0337AFFE9A X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 2XiCIutCORLm5pPJoMe4Tvq4q3B96XvwR11gk47vqTQiC2nouEJJTQOk4fFQXcTnSLbj8e6NJSvBhofDfKRXVekmxkikc/P+Zy2PlrSqASTF0AaCjNTp4g1y9ZZU/46dEpYLYf1vOgCwPf5RLp2oDDzEgHjMzxiEjEaaii4m/CNDBPkWqe1+1+lZ+sp6/IAK0kdZvbef1gCqz3xLapFsFvno5vS4cCOwDlLWZKebT4cOS5p7turo4jLHeruqcLFwpXyL94+4Q3jyCdx9Pt0gVCRTv1isUFtRt7rBx+qdCF225YYpAB0ZsmRr/8fAjIPVAhMVEehqNhKCSAvon94et3mpts484avADoPYKOZEIa5W59E7JnzXECXgXifAFlOhspHFpg8t8nLbSgyG1bHgYrTwSsaiQjehYJCWD0d65To7gaeLNGkwvNPXKYSoHf7q X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Mar 2020 09:23:32.8032 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 1adb076d-c79a-4ebe-b2e4-08d7c40b89a8 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-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR08MB4002 Subject: Re: [dpdk-dev] [PATCH v1 3/3] net/i40e: auto-vectorization to speed up Tx free X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" SGkgSmVyaW4sDQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogSmVyaW4g SmFjb2IgPGplcmluamFjb2JrQGdtYWlsLmNvbT4NCj4gU2VudDogTW9uZGF5LCBNYXJjaCA5LCAy MDIwIDM6MzYgUE0NCj4gVG86IEdhdmluIEh1IDxHYXZpbi5IdUBhcm0uY29tPg0KPiBDYzogZHBk ay1kZXYgPGRldkBkcGRrLm9yZz47IG5kIDxuZEBhcm0uY29tPjsgRGF2aWQgTWFyY2hhbmQNCj4g PGRhdmlkLm1hcmNoYW5kQHJlZGhhdC5jb20+OyB0aG9tYXNAbW9uamFsb24ubmV0OyBqZXJpbmpA bWFydmVsbC5jb207DQo+IFllLCBYaWFvbG9uZyA8eGlhb2xvbmcueWVAaW50ZWwuY29tPjsgSG9u bmFwcGEgTmFnYXJhaGFsbGkNCj4gPEhvbm5hcHBhLk5hZ2FyYWhhbGxpQGFybS5jb20+OyBSdWlm ZW5nIFdhbmcNCj4gPFJ1aWZlbmcuV2FuZ0Bhcm0uY29tPjsgUGhpbCBZYW5nIDxQaGlsLllhbmdA YXJtLmNvbT47IEpveWNlIEtvbmcNCj4gPEpveWNlLktvbmdAYXJtLmNvbT47IFN0ZXZlIENhcHBl ciA8U3RldmUuQ2FwcGVyQGFybS5jb20+DQo+IFN1YmplY3Q6IFJlOiBbZHBkay1kZXZdIFtQQVRD SCB2MSAzLzNdIG5ldC9pNDBlOiBhdXRvLXZlY3Rvcml6YXRpb24gdG8gc3BlZWQNCj4gdXAgVHgg ZnJlZQ0KPiANCj4gT24gU2F0LCBNYXIgNywgMjAyMCBhdCA4OjM0IFBNIEdhdmluIEh1IDxHYXZp bi5IdUBhcm0uY29tPiB3cm90ZToNCj4gPg0KPiA+IEhpIEplcmluLA0KPiA+DQo+ID4gPiAtLS0t LU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+ID4gRnJvbTogSmVyaW4gSmFjb2IgPGplcmluamFj b2JrQGdtYWlsLmNvbT4NCj4gPiA+IFNlbnQ6IEZyaWRheSwgTWFyY2ggNiwgMjAyMCAzOjQ1IFBN DQo+ID4gPiBUbzogR2F2aW4gSHUgPEdhdmluLkh1QGFybS5jb20+DQo+ID4gPiBDYzogZHBkay1k ZXYgPGRldkBkcGRrLm9yZz47IG5kIDxuZEBhcm0uY29tPjsgRGF2aWQgTWFyY2hhbmQNCj4gPiA+ IDxkYXZpZC5tYXJjaGFuZEByZWRoYXQuY29tPjsgdGhvbWFzQG1vbmphbG9uLm5ldDsNCj4gPiA+ IGplcmluakBtYXJ2ZWxsLmNvbTsgWWUsIFhpYW9sb25nIDx4aWFvbG9uZy55ZUBpbnRlbC5jb20+ OyBIb25uYXBwYQ0KPiA+ID4gTmFnYXJhaGFsbGkgPEhvbm5hcHBhLk5hZ2FyYWhhbGxpQGFybS5j b20+OyBSdWlmZW5nIFdhbmcNCj4gPiA+IDxSdWlmZW5nLldhbmdAYXJtLmNvbT47IFBoaWwgWWFu ZyA8UGhpbC5ZYW5nQGFybS5jb20+OyBKb3ljZSBLb25nDQo+ID4gPiA8Sm95Y2UuS29uZ0Bhcm0u Y29tPjsgU3RldmUgQ2FwcGVyIDxTdGV2ZS5DYXBwZXJAYXJtLmNvbT4NCj4gPiA+IFN1YmplY3Q6 IFJlOiBbZHBkay1kZXZdIFtQQVRDSCB2MSAzLzNdIG5ldC9pNDBlOiBhdXRvLXZlY3Rvcml6YXRp b24gdG8NCj4gPiA+IHNwZWVkIHVwIFR4IGZyZWUNCj4gPiA+DQo+ID4gPiBPbiBGcmksIE1hciA2 LCAyMDIwIGF0IDEwOjM1IEFNIEdhdmluIEh1IDxnYXZpbi5odUBhcm0uY29tPiB3cm90ZToNCj4g PiA+ID4NCj4gPiA+ID4gVHggbWJ1ZiBmcmVlIGlzIGEgaG90c3BvdCBmb3IgaTQwZSBvbiBhYXJj aDY0LCBhcyB0aGVyZSBhcmUgbm8NCj4gPiA+ID4gaW50ZXItbG9vcCBkZXBlbmRlbmNpZXMsIGl0 IGlzIHNhZmUgdG8gZW5hYmxlIGF1dG8tdmVjdG9yaXphdGlvbg0KPiA+ID4gPiB0byBzcGVlZCB1 cC4NCj4gPiA+ID4NCj4gPiA+ID4gVGhpcyBwYXRjaCBzaG93ZWQgMn4zJSBwZXJmb3JtYW5jZSBs aWZ0IG9uIFRodW5kZXJYMiBhbmQgbm8NCj4gPiA+IGRlZ3JhZGF0aW9uDQo+ID4gPiA+IG9uIEFy bSBOMVNEUC4gVGhlIHRlc3QgY2FzZSBpcyBzaW5nbGUgY29yZSBSRkMyNTQ0IHplcm8tbG9zcyB0 ZXN0Lg0KPiA+ID4gPg0KPiA+ID4gPiBTaWduZWQtb2ZmLWJ5OiBHYXZpbiBIdSA8Z2F2aW4uaHVA YXJtLmNvbT4NCj4gPiA+ID4gUmV2aWV3ZWQtYnk6IFN0ZXZlIENhcHBlciA8c3RldmUuY2FwcGVy QGFybS5jb20+DQo+ID4gPiA+IC0tLQ0KPiA+ID4gPiAgZHJpdmVycy9uZXQvaTQwZS9pNDBlX3J4 dHhfdmVjX2NvbW1vbi5oIHwgNSArKysrKw0KPiA+ID4gPiAgMSBmaWxlIGNoYW5nZWQsIDUgaW5z ZXJ0aW9ucygrKQ0KPiA+ID4gPg0KPiA+ID4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvaTQw ZS9pNDBlX3J4dHhfdmVjX2NvbW1vbi5oDQo+ID4gPiBiL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9y eHR4X3ZlY19jb21tb24uaA0KPiA+ID4gPiBpbmRleCAwZTZmZmEwMDcuLmZjMGZhNDVkNCAxMDA2 NDQNCj4gPiA+ID4gLS0tIGEvZHJpdmVycy9uZXQvaTQwZS9pNDBlX3J4dHhfdmVjX2NvbW1vbi5o DQo+ID4gPiA+ICsrKyBiL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9yeHR4X3ZlY19jb21tb24uaA0K PiA+ID4gPiBAQCAtOTgsNiArOTgsMTEgQEAgaTQwZV90eF9mcmVlX2J1ZnMoc3RydWN0IGk0MGVf dHhfcXVldWUgKnR4cSkNCj4gPiA+ID4gICAgICAgICBpZiAobGlrZWx5KG0gIT0gTlVMTCkpIHsN Cj4gPiA+ID4gICAgICAgICAgICAgICAgIGZyZWVbMF0gPSBtOw0KPiA+ID4gPiAgICAgICAgICAg ICAgICAgbmJfZnJlZSA9IDE7DQo+ID4gPiA+ICsjaWYgZGVmaW5lZChfX2NsYW5nX18pDQo+ID4g PiA+ICsjcHJhZ21hIGNsYW5nIGxvb3AgdmVjdG9yaXplKGFzc3VtZV9zYWZldHkpDQo+ID4gPiA+ ICsjZWxpZiBkZWZpbmVkKF9fR05VQ19fKQ0KPiA+ID4gPiArI3ByYWdtYSBHQ0MgaXZkZXANCj4g PiA+ID4gKyNlbmRpZg0KPiA+ID4NCj4gPiA+IElNTywgSXQgaXMgYmV0dGVyIHRvIGFic3RyYWN0 IHRoZSBjb21waWxlciBmZWF0dXJlcyAgKGFib3ZlIGNvbXBpbGVyDQo+ID4gPiBmZWF0dXJlIGFu ZCBfX3Jlc3RyaWN0X18pIGFzIG1hY3JvcyBpbg0KPiA+ID4gcnRlX2NvbW1vbi5oIG9yIHNvLiBJ dCB3aWxsIGhlbHAgdG8gc3VwcG9ydCBvdGhlciBjb21waWxlcnMoSUNDIG9yDQo+ID4gPiBXaW5k b3dzKSBhbmQgZW5hYmxlIHRoZW0gdG8gaGF2ZSAiY2hhbmdlcyIgaW4gb25lIHBsYWNlLg0KPiA+ DQo+ID4gSG93IGFib3V0IGRlZmluaW5nIFJURV9MT09QX0FVVE9fVkVDVE9SSVpBVElPTiBpbiB0 aGUNCj4gcnRlX2NvbW1vbi5oPw0KPiANCj4gT3RoZXIgY29tcGlsZXIgc3R1ZmYgaW4gcnRlX2Nv bW1vbi5oIGFyZSBzdGFydGluZyB3aXRoIF9fcnRlIGluIHNtYWxsDQo+IGxldHRlcihfX3J0ZV9w YWNrZWQsIF9fcnRlX3VudXNlZCkgZXRjLg0KPiBJIHRoaW5rLCBhIGJldHRlciBuYW1lIHdvdWxk IGJlIF9fcnRlX2xvb3BfYXV0b192ZWN0b3JpemUgb3Igc28uDQo+IE5vIHN0cm9uZyBvcGluaW9u IGZvciB0aGUgbmFtZSB0aG91Z2guDQo+IA0KPiAjIFByb2JhYmx5IGl0IGlzIHdvcnRoIGNoZWNr aW5nIGFuZCBhZGQgcGVyZm9ybWFuY2UgcmVzdWx0IG9mIHg4Ng0KPiB0ZXN0aW5nIGluIGdpdCBj b21taXQgYXMgd2VsbCBhcyBpdA0KPiBpcyBjb21tb24gY29kZS4NCk9rYXksIEkgd2lsbCBkbyBp dC4gDQo+IA0KPiANCj4gPiAjaWYgZGVmaW5lZChfX2NsYW5nX18pDQo+ID4gICAgICAgICBkZWZp bmUgUlRFX0xPT1BfQVVUT19WRUNUT1JJWkFUSU9OICBcDQo+ID4gICAgICAgICAgICAgICAgICNw cmFnbWEgY2xhbmcgbG9vcCB2ZWN0b3JpemUoYXNzdW1lX3NhZmV0eSkNCj4gPiAjZWxpZiBkZWZp bmVkKF9fR05VQ19fKQ0KPiA+ICAgICAgICAgZGVmaW5lIFJURV9MT09QX0FVVE9fVkVDVE9SSVpB VElPTiAgXA0KPiA+ICAgICAgICAgICAgICAgICAjcHJhZ21hIEdDQyBpdmRlcA0KPiA+ICNlbHNl DQo+ID4gICAgICAgICBkZWZpbmUgUlRFX0xPT1BfQVVUT19WRUNUT1JJWkFUSU9ODQo+ID4gI2Vu ZGlmDQo+ID4gSWYgeW91IGFncmVlLCBJIHdpbGwgc3VibWl0IGEgdjIuIFRoYW5rcyBmb3IgeW91 ciBjb21tZW50cyENCj4gPiAvR2F2aW4NCj4gPiA+DQo+ID4gPg0KPiA+ID4NCj4gPiA+ID4gICAg ICAgICAgICAgICAgIGZvciAoaSA9IDE7IGkgPCBuOyBpKyspIHsNCj4gPiA+ID4gICAgICAgICAg ICAgICAgICAgICAgICAgbSA9IHJ0ZV9wa3RtYnVmX3ByZWZyZWVfc2VnKHR4ZXBbaV0ubWJ1Zik7 DQo+ID4gPiA+ICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChsaWtlbHkobSAhPSBOVUxMKSkg ew0KPiA+ID4gPiAtLQ0KPiA+ID4gPiAyLjE3LjENCj4gPiA+ID4NCg==