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 895C2A0503; Thu, 19 May 2022 10:45:10 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 771BA40150; Thu, 19 May 2022 10:45:10 +0200 (CEST) Received: from EUR05-AM6-obe.outbound.protection.outlook.com (mail-am6eur05on2046.outbound.protection.outlook.com [40.107.22.46]) by mails.dpdk.org (Postfix) with ESMTP id 9628140140 for ; Thu, 19 May 2022 10:45:08 +0200 (CEST) ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass; b=KuGHeXhO9Obug32oPhzKDD8EVUJpArgtpCfaQBTy4VlLaPFst8BoB+YufqQESSQiOabZwgMQ1dy+DKVOi52837tSZQOV4kgM1l2Q2gOoNoRCMX+TgJYACsj7+QQgD6FypIaKsmDTlfpOUr7T+Xkm2wfalvuKkiofojYCK/yMNV8qCfJvCz4jW7NY/kgnlYD4jU0LwOCemkM6EytF1Xvr+lhB1uMXbIyZqAEWA3F8Uh2hUa+AJ68o/hjS/eV9pl5PvFKcdBHOD0Q7uuudQoM59OPq3X5PLrrf2NcxmQavQ7QPpfLsRv3VlDHSpozeA2Gj73Qag4BXjaD0Vg7i6eVhTQ== ARC-Message-Signature: i=2; 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=x4s/zSbSjd4LuPJVWEq390yRMOXHeBTSESod/wyLWAQ=; b=H8S4+nbeP1yhL0UAf4TAj2a+AnvmFhJnA+evLhRWtobH4f+XzC3/VkcF0FFGiLmwnILFJDHDT54lBmMYPKem/jwHW+1Z17U0K8hsEliEIxvjrntu4rIq70nDo/HnwWeBbITY+IAfjcrIC855jaX5MItit6+mkBWQTLTS6zAaPlPC1EWu8XPBD+0NTitVhVvnhksOUtUbM2SykHh9YLMqy2rKuLG5sUUX7hA4Eizw7qbc+q/WmHl84JpTA6EGjPz6keB671mLmXaZodnuC0W9BHeJhkXNuJ4DrmRytRh1ZVBj08MdUzfrnc2mDCJbcXxM97Bk/4xxjK0ggPXxnIfaFA== ARC-Authentication-Results: i=2; mx.microsoft.com 1; spf=pass (sender ip is 63.35.35.123) smtp.rcpttodomain=dpdk.org smtp.mailfrom=arm.com; dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com; dkim=pass (signature was verified) header.d=armh.onmicrosoft.com; arc=pass (0 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com] dmarc=[1,1,header.from=arm.com]) 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=x4s/zSbSjd4LuPJVWEq390yRMOXHeBTSESod/wyLWAQ=; b=A4OmfBWfvvz7k0mZ9Kla7Z70fcZ0+2e+yudCqHbyGHkok7KSvLdj770dCVQOoVMBSwrYWzmmgAvTtQJoPruyh2IbKqlwewZI2VcvTH7hM7ccanyFrHupFoFTihkvYzMWXfH0R7ce3dXez6O0J0XqHtsbjkmRIHv/4mcZqsIMAns= Received: from DB6P192CA0009.EURP192.PROD.OUTLOOK.COM (2603:10a6:4:b8::19) by AM0PR08MB5316.eurprd08.prod.outlook.com (2603:10a6:208:185::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5273.14; Thu, 19 May 2022 08:45:07 +0000 Received: from DBAEUR03FT037.eop-EUR03.prod.protection.outlook.com (2603:10a6:4:b8:cafe::c6) by DB6P192CA0009.outlook.office365.com (2603:10a6:4:b8::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5273.14 via Frontend Transport; Thu, 19 May 2022 08:45:07 +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 DBAEUR03FT037.mail.protection.outlook.com (100.127.142.208) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5273.14 via Frontend Transport; Thu, 19 May 2022 08:45:06 +0000 Received: ("Tessian outbound 42cead292588:v119"); Thu, 19 May 2022 08:45:06 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: b60a6bab316f7b2e X-CR-MTA-TID: 64aa7808 Received: from 900d19a0bae8.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id 28A55C58-F72F-4AEA-8058-073DC2F93A8A.1; Thu, 19 May 2022 08:44:55 +0000 Received: from EUR05-DB8-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 900d19a0bae8.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Thu, 19 May 2022 08:44:55 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=AACbVIp7hlq6qvJa7OzXUBvWHTIdmd7Jl7X9QLsufZOupuOBYaMl15Dk+B5KWSH0aP7MNGnWhnNNsNKfKAEAIhvsN//s+nnOzG70e4fBuUAJbLXQl5Qqr5LaN6AvgnLNcJig2tHO2mzwLOPF+tiNr7JjGqMZHqtix83YoL6QsoZstATXUK4eft5/Uo1GaBRDTlPpEnScLuePJUXtJ8yJKZUl374Nb1erhY9cEKqouYeVHjB91vA/jtTbvU83y+7Kou3iBZwYKMXVEo+gyGN4nY+sXU4Tr9FpgTG0oFYLCZ/PQZ5hU1XSqHTKn/sfbcxkagGL+ylv5396iKcr1HoRcA== 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=x4s/zSbSjd4LuPJVWEq390yRMOXHeBTSESod/wyLWAQ=; b=nLNxji5GXiTnHbqBYQwT59hXucuzVKcZusUPityaJARo5OAUBAwTHZW/kSDePHHo54a2eyGbn9MhINkfekfrGXuiZE9UW5aPDJWMC1+CKr+slO/cT8di+E6W4H3ZtBVtRTA9WXlC/77ETzaiKWnZREHvnTVFM77EAUb68oooDAkBP/ErEzBBCAd8N5Qe6uMfc8wFzeh9TkY9B7lnx5HbMC9tLHTrJHKtX8LzTqiyfQ8X5dgDClliXUFDOkfn2iGyeTnSWsgcUeqrt+uQfv6rPqNWEIjX2qCj7SB4fAv0XOGi575LoNwEMKCgMU7rEyZjaAMKFeJznmrZujK/y6w1OQ== 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=x4s/zSbSjd4LuPJVWEq390yRMOXHeBTSESod/wyLWAQ=; b=A4OmfBWfvvz7k0mZ9Kla7Z70fcZ0+2e+yudCqHbyGHkok7KSvLdj770dCVQOoVMBSwrYWzmmgAvTtQJoPruyh2IbKqlwewZI2VcvTH7hM7ccanyFrHupFoFTihkvYzMWXfH0R7ce3dXez6O0J0XqHtsbjkmRIHv/4mcZqsIMAns= Received: from AS4PR08MB7712.eurprd08.prod.outlook.com (2603:10a6:20b:513::6) by DB7PR08MB3290.eurprd08.prod.outlook.com (2603:10a6:5:21::28) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5250.13; Thu, 19 May 2022 08:44:53 +0000 Received: from AS4PR08MB7712.eurprd08.prod.outlook.com ([fe80::e496:81d:f003:8e2a]) by AS4PR08MB7712.eurprd08.prod.outlook.com ([fe80::e496:81d:f003:8e2a%6]) with mapi id 15.20.5273.014; Thu, 19 May 2022 08:44:53 +0000 From: Joyce Kong To: Ferruh Yigit , Jakub Grajciar CC: Ruifeng Wang , "dev@dpdk.org" , nd Subject: RE: [PATCH v1 1/2] net/memif: add a Rx fast path Thread-Topic: [PATCH v1 1/2] net/memif: add a Rx fast path Thread-Index: AQHYadwqP7y2kyM4EEeGMsVo3Pjy+a0k29SAgACWdrCAAG/G0A== Date: Thu, 19 May 2022 08:44:53 +0000 Message-ID: References: <20220412093243.3670187-1-joyce.kong@arm.com> <20220517105109.1086090-1-joyce.kong@arm.com> <20220517105109.1086090-2-joyce.kong@arm.com> <579ce4d1-cd10-46cd-709c-3ca66f4de37f@xilinx.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: Authentication-Results-Original: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=arm.com; X-MS-Office365-Filtering-Correlation-Id: 17f89b49-a452-44ed-e497-08da3973dff2 x-ms-traffictypediagnostic: DB7PR08MB3290:EE_|DBAEUR03FT037:EE_|AM0PR08MB5316:EE_ X-Microsoft-Antispam-PRVS: 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: FzRbDGyjYYD/qpsiBVKBtQf8q0zjzeElGecc+reNrt8T3mKs2yV+K2RpuXXVBL4KHrBrlyH8snyo8Tqc0e/Lszp1BELeoTBBAky6QMbN6UEhmqmidGLtpLYCm/Vx7Kw+HK2DuAHV+4hbA+V8e2EJQMeKN9G7V4P+KrOro+N0vm685+yu773hTvruzpL+wyiosh+b/vDt55LS32+yWxsrBRP4VGspPIn8dKRBEvkO1BeAPXYi114ot7Eg3c3+xlOX36fNCtYQPdHJpv4f3uOVHxMplbItJilDKuPmtfOtju+wxXwgrsUmV13jsB/SuQ7TL0Op03TBtvNhjOho+89GMzrFJtrj9CVnw7CK4N9LeWnCQ3JO/LqM7P0ITwhMlZ9izAuABtqZWlzXcedtqb5MK6ZiTBntLXyIDKMa+bZ1Kdf3htt4QhWwfLVMOXo9QOpguXEIrJZpzpycn4UgRJklROtPdUqCu9RjQ/qXVX75uiubUp8MWt8R3N6NJ32a/Iqh8nNY9K7iDAXWF8c5+Ak6RUXcS5tIS5fIMT3BL0gwabagMvmSLtXRVDvYkqlXiQTCnqCRD1Ve2tOpsYO4ytX5TVZ8LFhE78p+fdSnHPo7Kfub2oVMJVPe6vpdJj5XrihHZOHv4BsLjLQ2EU91fO+I4Zrsud66l/+icDj6TpXeEKEIVd0HQArjkjn1UXX706O65anz8DOu2IbQRfnvsEbyVg== X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:AS4PR08MB7712.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230001)(4636009)(366004)(83380400001)(52536014)(8676002)(4326008)(64756008)(38070700005)(66446008)(76116006)(66556008)(66946007)(6506007)(71200400001)(53546011)(110136005)(66476007)(316002)(186003)(54906003)(508600001)(9686003)(2940100002)(8936002)(55016003)(33656002)(86362001)(7696005)(5660300002)(2906002)(38100700002)(122000001); DIR:OUT; SFP:1101; Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB7PR08MB3290 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: DBAEUR03FT037.eop-EUR03.prod.protection.outlook.com X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id-Prvs: df21979b-2887-43e6-dc09-08da3973d82d X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: WK15rQ1vNvAtXH+tTWF6bai7UTLfHTNdJs0S97Zkloc39sFbnnwWQSAvF5wFvvVtTzMo9ZqjZngby6ClM+QUmrY41BAheHVQ0VUSbM6IcH+eU7dyH1ENP/HGD2CXCyReUACO7LEZ2v1jK1GO0jkD3gMV+vaqEyxNE0JEyPZCsVgDdTU5/HIw66D8EpUFkcwpMvJXaP3/f4zhX/Nn55R3mpNhAJ7X/NWu4kwu4/eJrsUtljRtDDzKTfGxTN90Crti2q/rd3QU4hJt5hgfhwwpvNbMREoHvwPeCVnlQaCNI1Mrf303+ajzvHwqIIhCL/J7+ifi5fjjLqdZxbRiYcpjFhsX7mFQXtEDS1plgTxAV7qZzUQ7RjIam29Ppk2qncZujLIKCJni7c1wOp0C1akFdowA24msv6/ZYvrII34yr2XuCB9YEXb+8Ku+jg42A23vL+cpxbyUDp9BDjqY3+1xhszreiJ5ANpAuG8+CiEHFw+pkzBaGtA5JBXYufp3m0n4zxrKpQTJxh319prKgbW+LPiJ2RhMZhVOuqWyq+x4YCI1l4/3JQ0aq+0WdE7sh7h9IK6NjxHNJ4tV+Y1aAT+RsskauGnrmLs5pZmvTi7H6mTunqlPcObdt6ZIhyTvgi84bgGr6hEq02/xuBuvjWtmW7GOhcQm1HY/lpu4/krwTcaNODyJA5bo9vF/vIilH3hz 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:(13230001)(4636009)(40470700004)(36840700001)(46966006)(508600001)(8676002)(53546011)(6506007)(336012)(83380400001)(70206006)(186003)(82310400005)(7696005)(316002)(33656002)(81166007)(47076005)(70586007)(9686003)(2940100002)(26005)(4326008)(356005)(36860700001)(5660300002)(55016003)(2906002)(86362001)(8936002)(40460700003)(110136005)(54906003)(52536014); DIR:OUT; SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 May 2022 08:45:06.7449 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 17f89b49-a452-44ed-e497-08da3973dff2 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: DBAEUR03FT037.eop-EUR03.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR08MB5316 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 DQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogSm95Y2UgS29uZw0KPiBT ZW50OiBUaHVyc2RheSwgTWF5IDE5LCAyMDIyIDM6MDAgUE0NCj4gVG86IEZlcnJ1aCBZaWdpdCA8 ZmVycnVoLnlpZ2l0QHhpbGlueC5jb20+OyBKYWt1YiBHcmFqY2lhciA8amdyYWpjaWFAY2lzY28u Y29tPg0KPiBDYzogUnVpZmVuZyBXYW5nIDxSdWlmZW5nLldhbmdAYXJtLmNvbT47IGRldkBkcGRr Lm9yZzsgbmQNCj4gPG5kQGFybS5jb20+DQo+IFN1YmplY3Q6IFJFOiBbUEFUQ0ggdjEgMS8yXSBu ZXQvbWVtaWY6IGFkZCBhIFJ4IGZhc3QgcGF0aA0KPiANCj4gSGkgRmVycnVoLA0KPiANCj4gPiAt LS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+IEZyb206IEZlcnJ1aCBZaWdpdCA8ZmVycnVo LnlpZ2l0QHhpbGlueC5jb20+DQo+ID4gU2VudDogVGh1cnNkYXksIE1heSAxOSwgMjAyMiAxMjo1 MyBBTQ0KPiA+IFRvOiBKb3ljZSBLb25nIDxKb3ljZS5Lb25nQGFybS5jb20+OyBKYWt1YiBHcmFq Y2lhcg0KPiA+IDxqZ3JhamNpYUBjaXNjby5jb20+DQo+ID4gQ2M6IFJ1aWZlbmcgV2FuZyA8UnVp ZmVuZy5XYW5nQGFybS5jb20+OyBkZXZAZHBkay5vcmc7IG5kDQo+IDxuZEBhcm0uY29tPg0KPiA+ IFN1YmplY3Q6IFJlOiBbUEFUQ0ggdjEgMS8yXSBuZXQvbWVtaWY6IGFkZCBhIFJ4IGZhc3QgcGF0 aA0KPiA+DQo+ID4gT24gNS8xNy8yMDIyIDExOjUxIEFNLCBKb3ljZSBLb25nIHdyb3RlOg0KPiA+ ID4gRm9yIG1lbWlmIG5vbi16ZXJvLWNvcHkgbW9kZSwgdGhlcmUgaXMgYSBicmFuY2ggdG8gY29t cGFyZSB0aGUgbWJ1Zg0KPiA+ID4gYW5kIG1lbWlmIGJ1ZmZlciBzaXplIGR1cmluZyBtZW1vcnkg Y29weWluZy4gQWRkIGEgZmFzdCBtZW1vcnkgY29weQ0KPiA+ID4gcGF0aCBieSByZW1vdmluZyB0 aGlzIGJyYW5jaCB3aXRoIG1idWYgYW5kIG1lbWlmIGJ1ZmZlciBzaXplIGRlZmluZWQNCj4gPiA+ IGF0IGNvbXBpbGUgdGltZS4gVGhlIHJlbW92YWwgb2YgdGhlIGJyYW5jaCBsZWFkcyB0byBjb25z aWRlcmFibGUNCj4gPiA+IHBlcmZvcm1hbmNlIHVwbGlmdC4NCj4gPiA+DQo+ID4gPiBXaGVuIG1l bWlmIDw9IGJ1ZmZlciBzaXplLCBSeCBjaG9vc2VzIHRoZSBmYXN0IG1lbWNweSBwYXRoLA0KPiA+ ID4gb3RoZXJ3aXNlIGl0IHdvdWxkIGNob29zZSB0aGUgb3JpZ2luYWwgcGF0aC4NCj4gPiA+DQo+ ID4gPiBUZXN0IHdpdGggMXAxcSBvbiBBbXBlcmUgQWx0cmEgQUFyY2g2NCBzZXJ2ZXIsDQo+ID4g PiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KPiA+ID4gICAg YnVmIHNpemUgIHwgbWVtaWYgPD0gbWJ1ZiB8IG1lbWlmID4gbWJ1ZiB8DQo+ID4gPiAtLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KPiA+ID4gbm9uLXpjIGdhaW4g fCAgICAgNC4zMCUgICAgIHwgICAgLTAuNTIlICAgIHwNCj4gPiA+IC0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQo+ID4gPiAgICAgemMgZ2FpbiAgfCAgICAgMi40 NiUgICAgIHwgICAgIDAuNzAlICAgIHwNCj4gPiA+IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tDQo+ID4gPg0KPiA+ID4gVGVzdCB3aXRoIDFwMXEgb24gQ2FzY2Fk ZSBMYWtlIFhlb24gWDg2c2VydmVyLA0KPiA+ID4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLQ0KPiA+ID4gICAgYnVmIHNpemUgIHwgbWVtaWYgPD0gbWJ1ZiB8IG1l bWlmID4gbWJ1ZiB8DQo+ID4gPiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tDQo+ID4gPiBub24temMgZ2FpbiB8ICAgICAyLjEzJSAgICAgfCAgICAtMS40MCUgICAg fA0KPiA+ID4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KPiA+ ID4gICAgIHpjIGdhaW4gIHwgICAgIDAuMTglICAgICB8ICAgICAwLjQ4JSAgICB8DQo+ID4gPiAt LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQo+ID4gPg0KPiA+DQo+ ID4NCj4gPiBIaSBKb3ljZSwNCj4gPg0KPiA+IEkgaGF2ZSBtdWx0aXBsZSBxdWVzdGlvbnMsDQo+ ID4NCj4gPiAxKSBUaGUgcGF0Y2ggdXBkYXRlcyBvbmx5IG5vbi16ZXJvLWNvcHkgbW9kZSBSeCBw YXRoICgnZXRoX21lbWlmX3J4JyksDQo+ID4gd2h5IHplcm8tY29weSBwYXRoIHBlcmZvcm1hbmNl IGFsc28gaW1wYWN0ZWQ/DQo+ID4NCj4gRm9yIG1lbWlmIHplcm8tY29weSBtb2RlLCBvbmx5IGNs aWVudCBydW5zICdldGhfbWVtaWZfcnhfemMnLCBhbmQgc2VydmVyIHN0aWxsDQo+IHJ1bnMgJ2V0 aF9tZW1pZl9yeCcsIHNvIHRoZSBwYXRjaCB3b3VsZCBpbXBhY3RzIHplcm8tY29weSBtb2RlLg0K PiANCj4gPiAyKSBBcyBmYXIgYXMgSSBjYW4gc2VlIHRoZXJlIGlzIGEgYmVoYXZpb3IgY2hhbmdl LCBtb3JlIGRldGFpbHMgYmVsb3cNCj4gPg0KPiA+IDMpIHBhdGNoIHRhbGtpbmcgYWJvdXQgbWVt aWYgYnVmZmVyIHNpemUgYmVpbmcgZGVmaW5lZCBpbiBjb21waWxlDQo+ID4gdGltZSwgaXMgdGhl IGJpZyAibWVtaWYgPD0gbWJ1ZiIgaWYgYmxvY2sgb3B0aW1pemVkIG91dD8NCj4gPiBTaW5jZSAn cGt0X2J1ZmZlcl9zaXplJyBpcyBhIGRldmFyZywgc28gaXQgY2FuIGNoYW5nZSBmcm9tIHJ1biB0 byBydW4NCj4gPiBhbmQgaXQgaXMgbm90IGtub3duIGluIGNvbXBpbGUgdGltZSwgSSBkb3VidCB0 aGF0IGl0IGlzIG9wdGltaXplZCBvdXQuDQo+ID4gSXMgaGF2aW5nICAncGt0X2J1ZmZlcl9zaXpl JyBhcyBkZXZhcmcgYnJlYWtzIHlvdXIgbG9naWM/DQo+ID4NCj4gRnJvbSBtZW1pZiBydW4gdG8g cnVuLCBydW4ucGt0X2J1ZmZlcl9zaXplIHdvdWxkIGNoYW5nZSwgYW5kDQo+IGNmZy5wa3RfYnVm ZmVyX3NpemUgd2hpY2ggaXMgdGhlIHJlc2VydmVkIG1heCBidWZmZXIgc2l6ZSB3b3VsZCBub3Qg Y2hhbmdlLg0KPiBGb3IgcGF0Y2ggZGV0YWlscywgSSB1c2UgY2ZnLnBrdF9idWZmZXJfc2l6ZSB0 byBpbXBsZW1lbnQgdGhlIGxvZ2ljLg0KPiANCj4gPiA0KSBPbmUgb3B0aW9uIGdhaW5zIHBlcmZv cm1hbmNlIGFuZCBvdGhlciBsb29zZSBwZXJmb3JtYW5jZSwgZG8geW91DQo+ID4gdGhpbmsgZ2Fp biBwZXJmb3JtYW5jZSBjYXNlIGlzIG1vcmUgY29tbW9uIHVzZSBjYXNlPyBJcyB0aGVyZSBhbnkg ZGF0YQ0KPiBhcm91bmQgaXQ/DQo+ID4NCj4gWWVzLCBJIHRoaW5rIHRoZSBnYWluIHBlcmZvcm1h bmNlIGNhc2UgaXMgbW9yZSBjb21tb24gY2FzZSwgYXMgdGhlIGRlZmF1bHQNCj4gbWVtaWYgYnVm ZmVyIHNpemUgZXF1YWxzIHRvIG1idWYgc2l6ZS4gSW4gdGhlb3J5LCB3aGVuIG1lbWlmIGJ1ZiBz aXplID49IG1idWYNCj4gc2l6ZSwgdGhlIFJ4IHJ1bnMgdGhlIG9yaWdpbmFsIHBhdGgsIGl0IHdv dWxkIG5vdCBsZWFkIHRvIG9idmlvdXMgaW1wYWN0Lg0KPiANCj4gPg0KPiA+IEpha3ViLA0KPiA+ DQo+ID4gRG8geW91IHdhbnQgdG8gdGVzdCB0aGlzIHBhdGNoIGZpcnN0IGJlZm9yZSBwcm9ncmVz c2luZyB3aXRoIGl0Pw0KPiA+DQo+ID4gPiBTaWduZWQtb2ZmLWJ5OiBKb3ljZSBLb25nIDxqb3lj ZS5rb25nQGFybS5jb20+DQo+ID4gPiAtLS0NCj4gPiA+ICAgZHJpdmVycy9uZXQvbWVtaWYvcnRl X2V0aF9tZW1pZi5jIHwgMTI0ICsrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLQ0KPiA+ID4g ICAxIGZpbGUgY2hhbmdlZCwgODQgaW5zZXJ0aW9ucygrKSwgNDAgZGVsZXRpb25zKC0pDQo+ID4g Pg0KPiA+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L21lbWlmL3J0ZV9ldGhfbWVtaWYuYw0K PiA+ID4gYi9kcml2ZXJzL25ldC9tZW1pZi9ydGVfZXRoX21lbWlmLmMNCj4gPiA+IGluZGV4IDU4 N2FkNDU1NzYuLmY1NTc3NmNhNDYgMTAwNjQ0DQo+ID4gPiAtLS0gYS9kcml2ZXJzL25ldC9tZW1p Zi9ydGVfZXRoX21lbWlmLmMNCj4gPiA+ICsrKyBiL2RyaXZlcnMvbmV0L21lbWlmL3J0ZV9ldGhf bWVtaWYuYw0KPiA+ID4gQEAgLTM0Miw2NiArMzQyLDExMSBAQCBldGhfbWVtaWZfcngodm9pZCAq cXVldWUsIHN0cnVjdCBydGVfbWJ1Zg0KPiA+ICoqYnVmcywgdWludDE2X3QgbmJfcGt0cykNCj4g PiA+ICAgCQlnb3RvIHJlZmlsbDsNCj4gPiA+ICAgCW5fc2xvdHMgPSBsYXN0X3Nsb3QgLSBjdXJf c2xvdDsNCj4gPiA+DQo+ID4gPiAtCXdoaWxlIChuX3Nsb3RzICYmIG5fcnhfcGt0cyA8IG5iX3Br dHMpIHsNCj4gPiA+IC0JCW1idWZfaGVhZCA9IHJ0ZV9wa3RtYnVmX2FsbG9jKG1xLT5tZW1wb29s KTsNCj4gPiA+IC0JCWlmICh1bmxpa2VseShtYnVmX2hlYWQgPT0gTlVMTCkpDQo+ID4gPiAtCQkJ Z290byBub19mcmVlX2J1ZnM7DQo+ID4gPiAtCQltYnVmID0gbWJ1Zl9oZWFkOw0KPiA+ID4gLQkJ bWJ1Zi0+cG9ydCA9IG1xLT5pbl9wb3J0Ow0KPiA+ID4gKwlpZiAobGlrZWx5KG1idWZfc2l6ZSA+ PSBwbWQtPmNmZy5wa3RfYnVmZmVyX3NpemUpKSB7DQo+ID4gPiArCQl3aGlsZSAobl9zbG90cyAm JiBuX3J4X3BrdHMgPCBuYl9wa3RzKSB7DQo+ID4gPiArCQkJbWJ1Zl9oZWFkID0gcnRlX3BrdG1i dWZfYWxsb2MobXEtPm1lbXBvb2wpOw0KPiA+ID4gKwkJCWlmICh1bmxpa2VseShtYnVmX2hlYWQg PT0gTlVMTCkpDQo+ID4gPiArCQkJCWdvdG8gbm9fZnJlZV9idWZzOw0KPiA+ID4gKwkJCW1idWYg PSBtYnVmX2hlYWQ7DQo+ID4gPiArCQkJbWJ1Zi0+cG9ydCA9IG1xLT5pbl9wb3J0Ow0KPiA+ID4g Kw0KPiA+ID4gK25leHRfc2xvdDE6DQo+ID4gPiArCQkJczAgPSBjdXJfc2xvdCAmIG1hc2s7DQo+ ID4gPiArCQkJZDAgPSAmcmluZy0+ZGVzY1tzMF07DQo+ID4gPg0KPiA+ID4gLW5leHRfc2xvdDoN Cj4gPiA+IC0JCXMwID0gY3VyX3Nsb3QgJiBtYXNrOw0KPiA+ID4gLQkJZDAgPSAmcmluZy0+ZGVz Y1tzMF07DQo+ID4gPiArCQkJY3BfbGVuID0gZDAtPmxlbmd0aDsNCj4gPiA+DQo+ID4gPiAtCQlz cmNfbGVuID0gZDAtPmxlbmd0aDsNCj4gPiA+IC0JCWRzdF9vZmYgPSAwOw0KPiA+ID4gLQkJc3Jj X29mZiA9IDA7DQo+ID4gPiArCQkJcnRlX3BrdG1idWZfZGF0YV9sZW4obWJ1ZikgPSBjcF9sZW47 DQo+ID4gPiArCQkJcnRlX3BrdG1idWZfcGt0X2xlbihtYnVmKSA9IGNwX2xlbjsNCj4gPiA+ICsJ CQlpZiAobWJ1ZiAhPSBtYnVmX2hlYWQpDQo+ID4gPiArCQkJCXJ0ZV9wa3RtYnVmX3BrdF9sZW4o bWJ1Zl9oZWFkKSArPSBjcF9sZW47DQo+ID4gPg0KPiA+ID4gLQkJZG8gew0KPiA+ID4gLQkJCWRz dF9sZW4gPSBtYnVmX3NpemUgLSBkc3Rfb2ZmOw0KPiA+ID4gLQkJCWlmIChkc3RfbGVuID09IDAp IHsNCj4gPiA+IC0JCQkJZHN0X29mZiA9IDA7DQo+ID4gPiAtCQkJCWRzdF9sZW4gPSBtYnVmX3Np emU7DQo+ID4gPiArCQkJcnRlX21lbWNweShydGVfcGt0bWJ1Zl9tdG9kKG1idWYsIHZvaWQgKiks DQo+ID4gPiArCQkJCSh1aW50OF90ICopbWVtaWZfZ2V0X2J1ZmZlcihwcm9jX3ByaXZhdGUsIGQw KSwNCj4gPiBjcF9sZW4pOw0KPiA+ID4gKw0KPiA+ID4gKwkJCWN1cl9zbG90Kys7DQo+ID4gPiAr CQkJbl9zbG90cy0tOw0KPiA+ID4NCj4gPiA+IC0JCQkJLyogc3RvcmUgcG9pbnRlciB0byB0YWls ICovDQo+ID4gPiArCQkJaWYgKGQwLT5mbGFncyAmIE1FTUlGX0RFU0NfRkxBR19ORVhUKSB7DQo+ ID4gPiAgIAkJCQltYnVmX3RhaWwgPSBtYnVmOw0KPiA+ID4gICAJCQkJbWJ1ZiA9IHJ0ZV9wa3Rt YnVmX2FsbG9jKG1xLT5tZW1wb29sKTsNCj4gPiA+ICAgCQkJCWlmICh1bmxpa2VseShtYnVmID09 IE5VTEwpKQ0KPiA+ID4gICAJCQkJCWdvdG8gbm9fZnJlZV9idWZzOw0KPiA+ID4gLQkJCQltYnVm LT5wb3J0ID0gbXEtPmluX3BvcnQ7DQo+ID4gPiAgIAkJCQlyZXQgPSBtZW1pZl9wa3RtYnVmX2No YWluKG1idWZfaGVhZCwNCj4gPiBtYnVmX3RhaWwsIG1idWYpOw0KPiA+ID4gICAJCQkJaWYgKHVu bGlrZWx5KHJldCA8IDApKSB7DQo+ID4gPiAgIAkJCQkJTUlGX0xPRyhFUlIsICJudW1iZXItb2Yt c2VnbWVudHMtDQo+ID4gb3ZlcmZsb3ciKTsNCj4gPiA+ICAgCQkJCQlydGVfcGt0bWJ1Zl9mcmVl KG1idWYpOw0KPiA+ID4gICAJCQkJCWdvdG8gbm9fZnJlZV9idWZzOw0KPiA+ID4gICAJCQkJfQ0K PiA+ID4gKwkJCQlnb3RvIG5leHRfc2xvdDE7DQo+ID4gPiAgIAkJCX0NCj4gPg0KPiA+IEl0IGlz IHZlcnkgaGFyZCB0byBjb21tZW50IG9uIHRoZSBjb3JyZWN0IHBhcnQgb2YgdGhlIHBhdGNoLCBz aW5jZSBpdA0KPiA+IGlzIG1peGVkIGEgbG90LCBidXQNCj4gPiAtIHByZXZpb3VzbHkgd2hlbiBt ZW1pZiBidWZmZXIgaXMgc2VnbWVudGVkLCBhbmQgaXRzIHNpemUgaXMgbGVzcyB0aGFuDQo+ID4g bWJ1ZjsgbWJ1ZiBpcyBmaWxsZWQgd2l0aCBhcyBtdWNoIG1lbWlmIGRhdGEgYXMgcG9zc2libGUg YW5kIGxhdGVyDQo+ID4gc3dpdGNoZWQgdG8gbmV4dCBtYnVmLCBsaWtlOg0KPiA+DQo+ID4gICAg bWVtaWYgYnVmZmVyDQo+ID4gKy0rICArLSsgICstKyAgKy0rDQo+ID4gfGF8LT58YnwtPnxjfC0+ fGR8DQo+ID4gKy0rICArLSsgICstKyAgKy0rDQo+ID4NCj4gPiArLS0tKyAgKy0tLSsNCj4gPiB8 YWJjfC0+fGQgIHwNCj4gPiArLS0tKyAgKy0tLSsNCj4gPiAgICBtYnVmDQo+ID4NCj4gPg0KPiA+ IC0gTm93IGVhY2ggbWVtaWYgc2VnbWVudCBpcyBhIG1idWYsDQo+ID4NCj4gPiAgICBtZW1pZiBi dWZmZXINCj4gPiArLSsgICstKyAgKy0rICArLSsNCj4gPiB8YXwtPnxifC0+fGN8LT58ZHwNCj4g PiArLSsgICstKyAgKy0rICArLSsNCj4gPg0KPiA+ICstLS0rICArLS0tKyAgKy0tLSsgICstLS0r DQo+ID4gfGEgIHwtPnxiICB8LT58YyAgfC0+fGQgIHwNCj4gPiArLS0tKyAgKy0tLSsgICstLS0r ICArLS0tKw0KPiA+ICAgIG1idWYNCj4gPg0KPiA+IENhbiB5b3UgcGxlYXNlIGNvbmZpcm0gdGhp cyBiZWhhdmlvciBjaGFuZ2U/IElmIHNvIGNhbiB5b3UgcGxlYXNlDQo+ID4gaGlnaGxpZ2h0IGlz IG1vcmUgaW4gdGhlIGNvbW1pdCBsb2c/DQo+ID4gQW5kIGlzIHRoaXMgdHJhZGVvZmYgc29tZXRo aW5nIHByZWZlcnJlZD8NCg0KWWVzLCB0aGUgcGF0Y2ggbGVhZHMgdG8gdGhlIGJlaGF2aW9yIGNo YW5nZSwgYW5kIEkgd2lsbCBoaWdobGlnaHQgbW9yZSBpbiB0aGUgY29tbWl0DQpsb2cgZm9yIG5l eHQgdmVyc2lvbi4NClRoaXMgY2hhbmdlIGlzIHRoZSBzYW1lIGFzIHplcm8tY29weSBtb2RlIGRv ZXMsIHJlZHVjaW5nIGNvbXBsZXhlZCBjb21wYXJhdGlvbg0Kd2l0aCBtb3JlIG1lbW9yeSBzcGFj ZS4gSSBhbSBhbHNvIGxvb2tpbmcgZm9yd2FyZCB0byBnZXQgc29tZSBmZWVkYmFjayBmcm9tIHRo ZQ0KY29tbXVuaXR5IGFib3V0IHRoZSB0cmFkZW9mZi4NCg0KVGhhbmtzLA0KSm95Y2UNCg0K