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 5BB47A0C45; Thu, 28 Oct 2021 08:24:55 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id D6ADA4067B; Thu, 28 Oct 2021 08:24:54 +0200 (CEST) Received: from EUR05-AM6-obe.outbound.protection.outlook.com (mail-am6eur05on2087.outbound.protection.outlook.com [40.107.22.87]) by mails.dpdk.org (Postfix) with ESMTP id 80F874003F for ; Thu, 28 Oct 2021 08:24:53 +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=cjOY7bXl8oB1xylQG61JzfuLkWNWhKEii1r7J+b/cHk=; b=3xspsbBy9/I27dxsn6YuMVMSRj5PsoFeAvdTI1N11cQbqR95I2t2saZdHNaxqIc0LnkGgOJtgBLtA/9mzWGUa46c55kEkz45QwPRaqGG36XOPpkXagBky8uXpD356D2+Isj6zSADtS/kw4UTb1R8SEqfKaTUFAxYLVxWuEuiJjs= Received: from AS8P250CA0011.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:330::16) by AM0PR08MB5491.eurprd08.prod.outlook.com (2603:10a6:208:189::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4649.13; Thu, 28 Oct 2021 06:24:50 +0000 Received: from VE1EUR03FT042.eop-EUR03.prod.protection.outlook.com (2603:10a6:20b:330:cafe::e4) by AS8P250CA0011.outlook.office365.com (2603:10a6:20b:330::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4649.13 via Frontend Transport; Thu, 28 Oct 2021 06:24:50 +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; Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by VE1EUR03FT042.mail.protection.outlook.com (10.152.19.62) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4649.14 via Frontend Transport; Thu, 28 Oct 2021 06:24:50 +0000 Received: ("Tessian outbound d5def7722ff7:v103"); Thu, 28 Oct 2021 06:24:50 +0000 X-CR-MTA-TID: 64aa7808 Received: from bf33414b93aa.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id C20E74A1-AC99-4E58-AC52-CE977AF780E1.1; Thu, 28 Oct 2021 06:24:43 +0000 Received: from EUR03-DB5-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id bf33414b93aa.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Thu, 28 Oct 2021 06:24:43 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=B0a+4NMDJNPAslkQn0lxbXCnWNNl7bUIWsoCYPQ/N0Uam+G+FXGPCkb7zQK9UGt4P8qfk26YkpNpCg4rWvXkjWq49UiHkQDslp5KNS2sJX/5MfjYyd5sMYpkUzZS5IuSt/0farVpyiWCJX4+NHsVuuILk/GMyKVCHodVGrK0LLQ3S65kyaFeBga5Ubv3hFvrTH3R8RT0bxuR3UpPTufO669T4AlrS4hJBQEhBw4b4GpdWw3iNv9v1Od/5+xSkoHa3cYP3wPXgQWeBOwx2NV7rQPzXorkUfYeY9pke4S4S1oJ+lIazYRg9JRbcWMsc90e3b0Z80AYP29FXMqz1HfaeA== 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=cjOY7bXl8oB1xylQG61JzfuLkWNWhKEii1r7J+b/cHk=; b=TpbllDdiiw4HK49gsnTylwzPeRE664PvsqZDVfD4HXECpH9l901wuRab9/YQ7ryJ4zqRxz6VVFdmV4BskhE+pIG/3n7CXzEdmWmioBGZEg9e6bpXghrtE+9H5hrWhJKUJl1SU+0AFqNB+Im8n3bAr4eEg4YTidYenCXG6cfAT8iMBa+YH9pX6oxfQcVT+udrtwqavh6NOl0ETEnTH+Mo5Z5yQRmoKdraY3GoXUqnPM/50R7bME78szeYBtxJC46eYBNfc4Wy2SOfgK7P1zGdg7E9ZM/Dq5ZLM2huWW7c3r5Mktx1UIPlvrrdH+zx90gCwa6MZ6wwAiKJMZxryJpo3w== 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=cjOY7bXl8oB1xylQG61JzfuLkWNWhKEii1r7J+b/cHk=; b=3xspsbBy9/I27dxsn6YuMVMSRj5PsoFeAvdTI1N11cQbqR95I2t2saZdHNaxqIc0LnkGgOJtgBLtA/9mzWGUa46c55kEkz45QwPRaqGG36XOPpkXagBky8uXpD356D2+Isj6zSADtS/kw4UTb1R8SEqfKaTUFAxYLVxWuEuiJjs= Received: from DB9PR08MB6923.eurprd08.prod.outlook.com (2603:10a6:10:2ac::6) by DB7PR08MB4620.eurprd08.prod.outlook.com (2603:10a6:10:34::33) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4628.18; Thu, 28 Oct 2021 06:24:42 +0000 Received: from DB9PR08MB6923.eurprd08.prod.outlook.com ([fe80::705e:f09f:7dd:500a]) by DB9PR08MB6923.eurprd08.prod.outlook.com ([fe80::705e:f09f:7dd:500a%6]) with mapi id 15.20.4628.020; Thu, 28 Oct 2021 06:24:42 +0000 From: Feifei Wang To: "Ananyev, Konstantin" CC: "dev@dpdk.org" , nd , Ruifeng Wang , nd , nd , nd Thread-Topic: [PATCH v5 4/5] lib/bpf: use wait event scheme for Rx/Tx iteration Thread-Index: AQHXyj/Vo9zASYVJKUKpqPplDqFnDKvk7L5QgAAagoCAADYcgIABLbUQgACDnoCAAP+gAA== Date: Thu, 28 Oct 2021 06:24:42 +0000 Message-ID: References: <20210902053253.3017858-1-feifei.wang2@arm.com> <20211026080204.149550-1-feifei.wang2@arm.com> <20211026080204.149550-5-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: 8D3B1CCF0903E84D9EDB1C95AB561E3B.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-publictraffictype: Email X-MS-Office365-Filtering-Correlation-Id: 23deabfa-c829-411c-5281-08d999dba5bd x-ms-traffictypediagnostic: DB7PR08MB4620:|AM0PR08MB5491: X-Microsoft-Antispam-PRVS: x-checkrecipientrouted: true nodisclaimer: true x-ms-oob-tlc-oobclassifiers: OLM:10000;OLM:10000; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Untrusted: BCL:0; X-Microsoft-Antispam-Message-Info-Original: +7RM5o3Mpj4OOaueg+7ualGPqSkPwO/52z9vq249cGpaDjThHq6p4rGBed4284Px5Ecvbz1e7ZLvjLIrnU78oo19BTkyxI/gDGSOMe0Yyh6tVKe2qTpx6KRlw2X4a5oQE2Zz19LQ8nxSkMCzbZ1GCW7AdMhwrwNN81ukmCzQSz0Hewv/CrGGtyjPaR5oqIPZJELbx/4gBavdT0DZebKatvdcP5bL2cGu0Z72UujIrgnO7rqoVJwmgDY3YTusCNhk3bdx+c4X8VK4i+FZOdKaRG+sKb+NdHu4M165CCgm2OWGLQlnmrYDmWec+IneRKNKRdZijObZNStXB9Zn9pgVQVi9v0s5EpPSgGIwrTB2+uexOGrVt4nhwtdJc+x/VDU2yzLq/iuTc5VlOjwtqnvP0lSXSFeNm6+j6aD8uch5EugyWbUd8C6c8ouGb2GdPHtmrZxQTcGqYtw496pWWJ505oTeEuychGQODSXxqz4EtPPLJu/1XyUWF2u/4DdxB+DglpsWrc0D/spW5P20qte8MdtQ66ecZXau2na/CsFBV5oY9Ksu+oVTyFP8O2+wrLUqDtq54OAv6zEapXmPEfDH+UD8AvpzIdtscyAut6j1fHuktaDgbr4t9aKEhvOl+w3+CGW57y7+5d+RgkAUmZhukhFKP5BwBDirb2uqxYLGQAeGIthfeNrcHywH1M1HsM15wqKpRTckVkFJl3q4dadTLQ== X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DB9PR08MB6923.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(366004)(8936002)(52536014)(9686003)(508600001)(7696005)(6916009)(5660300002)(54906003)(2906002)(71200400001)(186003)(6506007)(55016002)(26005)(64756008)(33656002)(66556008)(76116006)(86362001)(66476007)(224303003)(122000001)(66946007)(316002)(38070700005)(83380400001)(4326008)(66446008)(38100700002); DIR:OUT; SFP:1101; Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB7PR08MB4620 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: VE1EUR03FT042.eop-EUR03.prod.protection.outlook.com X-MS-Office365-Filtering-Correlation-Id-Prvs: 8be29c54-d670-466f-14fa-08d999dba10f X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: i1HxIYXdGB9UM+YqLslZMBXYc3VpbJMcJTKq4EEY8eNxwywCMMttm/qYuLyy3NBOMbiYGqDoiEQXfTelld2/pFUAacyYjvlPz8SsPJCX1al6hLGTCJwGz1am1C2jjbllT29lD29C8Cf1eBJ5jmgOGRTN1aDg5uuxnp21S38jB/6zp1GjK1feSyEIf1O4LrR+MGr8rS0YCbPduEWKqt/dhrxxjnvRDsU+vsMDhw4OCEX5Z/H3ths7DHGuDlZLZbgPUOL96cFtgkvjMY3kwbDrL5JSsEW7Ja3QQAGzT8nKs3qH/kAOnr16NiNicsDRUmys2g3F516x4C19FPKOU2my/HLBVmhosSGg10kyWKK8Szpvn4ZoqZ9col5J8PSHZnjh16Z01swm7whbKYNPUzjA19B5C/k2f6Xyrkv7p1eXd19VkdIILZMjDWbvUkS6umlto17WGg8qCGuVYoyT2XAiPqfztQOqBj7Nrd/UrXyy3F+gS1joJ6dFiEGN52OJEhlIlQi5AsrwpvJpNHf/8OUoYqMwT1XmfSZNnjPsz0QJqQgsGyc3EreuzlrWUILQrfWutYAYhU4a3t7GaiE7FCw0XTdVPs+5ElD8SmFOH0RZsS87fsEC1d8wIIu9b1aFHhqFZk5D2YLp69Vop4GXpjHtQ6oh8JHUm4oTjXKJSDBl1BIylQ1veRoNEEtuJidYhWf7FaQKcKDaB5nEdC0RZjdA7A== 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:(4636009)(46966006)(36840700001)(47076005)(9686003)(33656002)(55016002)(224303003)(4326008)(36860700001)(81166007)(5660300002)(7696005)(356005)(82310400003)(8936002)(6862004)(86362001)(316002)(54906003)(186003)(2906002)(6506007)(83380400001)(70206006)(26005)(70586007)(336012)(508600001)(52536014); DIR:OUT; SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Oct 2021 06:24:50.5732 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 23deabfa-c829-411c-5281-08d999dba5bd 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: VE1EUR03FT042.eop-EUR03.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR08MB5491 Subject: [dpdk-dev] =?utf-8?b?5Zue5aSNOiBbUEFUQ0ggdjUgNC81XSBsaWIvYnBm?= =?utf-8?q?=3A_use_wait_event_scheme_for_Rx/Tx_iteration?= 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 Sender: "dev" DQoNCj4gLS0tLS3pgq7ku7bljp/ku7YtLS0tLQ0KPiDlj5Hku7bkuro6IEFuYW55ZXYsIEtvbnN0 YW50aW4gPGtvbnN0YW50aW4uYW5hbnlldkBpbnRlbC5jb20+DQo+IOWPkemAgeaXtumXtDogV2Vk bmVzZGF5LCBPY3RvYmVyIDI3LCAyMDIxIDEwOjQ4IFBNDQo+IOaUtuS7tuS6ujogRmVpZmVpIFdh bmcgPEZlaWZlaS5XYW5nMkBhcm0uY29tPg0KPiDmioTpgIE6IGRldkBkcGRrLm9yZzsgbmQgPG5k QGFybS5jb20+OyBSdWlmZW5nIFdhbmcNCj4gPFJ1aWZlbmcuV2FuZ0Bhcm0uY29tPjsgbmQgPG5k QGFybS5jb20+OyBuZCA8bmRAYXJtLmNvbT4NCj4g5Li76aKYOiBSRTogW1BBVENIIHY1IDQvNV0g bGliL2JwZjogdXNlIHdhaXQgZXZlbnQgc2NoZW1lIGZvciBSeC9UeCBpdGVyYXRpb24NCj4gDQo+ IA0KPiANCj4gPg0KPiA+ID4gLS0tLS3pgq7ku7bljp/ku7YtLS0tLQ0KPiA+ID4g5Y+R5Lu25Lq6 OiBkZXYgPGRldi1ib3VuY2VzQGRwZGsub3JnPiDku6PooaggQW5hbnlldiwgS29uc3RhbnRpbg0K PiA+ID4g5Y+R6YCB5pe26Ze0OiBUdWVzZGF5LCBPY3RvYmVyIDI2LCAyMDIxIDg6NTcgUE0NCj4g PiA+IOaUtuS7tuS6ujogRmVpZmVpIFdhbmcgPEZlaWZlaS5XYW5nMkBhcm0uY29tPg0KPiA+ID4g 5oqE6YCBOiBkZXZAZHBkay5vcmc7IG5kIDxuZEBhcm0uY29tPjsgUnVpZmVuZyBXYW5nDQo+ID4g PiA8UnVpZmVuZy5XYW5nQGFybS5jb20+OyBuZCA8bmRAYXJtLmNvbT4NCj4gPiA+IOS4u+mimDog UmU6IFtkcGRrLWRldl0gW1BBVENIIHY1IDQvNV0gbGliL2JwZjogdXNlIHdhaXQgZXZlbnQgc2No ZW1lIGZvcg0KPiA+ID4gUngvVHggaXRlcmF0aW9uDQo+ID4gPg0KPiA+ID4NCj4gPiA+ID4gSGkg RmVpZmVpLA0KPiA+ID4gPg0KPiA+ID4gPiA+ID4gSW5zdGVhZCBvZiBwb2xsaW5nIGZvciBjYmkt PnVzZSB0byBiZSB1cGRhdGVkLCB1c2Ugd2FpdCBldmVudCBzY2hlbWUuDQo+ID4gPiA+ID4gPg0K PiA+ID4gPiA+ID4gRnVydGhlcm1vcmUsIGRlbGV0ZSAnY29uc3QnIGZvciAnYnBmX2V0aF9jYmlf d2FpdCcuIFRoaXMgaXMNCj4gPiA+ID4gPiA+IGJlY2F1c2Ugb2YgYSBjb21waWxhdGlvbiBlcnJv cjoNCj4gPiA+ID4gPiA+IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tDQo+ID4gPiA+ID4gPiAtLS0tDQo+ID4gPiA+ID4gPiAtLS0t LQ0KPiA+ID4gPiA+ID4gLi4vbGliL2VhbC9pbmNsdWRlL3J0ZV9jb21tb24uaDozNjoxMzogZXJy b3I6IHJlYWQtb25seSB2YXJpYWJsZQ0KPiDigJh2YWx1ZeKAmQ0KPiA+ID4gPiA+ID4gdXNlZCBh cyDigJhhc23igJkgb3V0cHV0DQo+ID4gPiA+ID4gPiAgICAzNiB8ICNkZWZpbmUgYXNtIF9fYXNt X18NCj4gPiA+ID4gPiA+ICAgICAgIHwgICAgICAgICAgICAgXn5+fn5+fg0KPiA+ID4gPiA+ID4N Cj4gPiA+ID4gPiA+IC4uL2xpYi9lYWwvYXJtL2luY2x1ZGUvcnRlX3BhdXNlXzY0Lmg6NjY6Mzog bm90ZTogaW4gZXhwYW5zaW9uDQo+ID4gPiA+ID4gPiBvZg0KPiA+ID4gbWFjcm8g4oCYYXNt4oCZ DQo+ID4gPiA+ID4gPiAgICA2NiB8ICAgYXNtIHZvbGF0aWxlKCJsZGF4ciAld1t0bXBdLCBbJXhb YWRkcl1dIiBcDQo+ID4gPiA+ID4gPiAgICAgICB8ICAgXn5+DQo+ID4gPiA+ID4gPg0KPiA+ID4g PiA+ID4gLi4vbGliL2VhbC9hcm0vaW5jbHVkZS9ydGVfcGF1c2VfNjQuaDo5NjozOiBub3RlOiBp biBleHBhbnNpb24NCj4gPiA+ID4gPiA+IG9mIG1hY3JvIOKAmF9fTE9BRF9FWENfMzLigJkNCj4g PiA+ID4gPiA+ICAgIDk2IHwgICBfX0xPQURfRVhDXzMyKChzcmMpLCBkc3QsIG1lbW9yZGVyKSAg ICAgXA0KPiA+ID4gPiA+ID4gICAgICAgfCAgIF5+fn5+fn5+fn5+fn4NCj4gPiA+ID4gPiA+DQo+ ID4gPiA+ID4gPiAuLi9saWIvZWFsL2FybS9pbmNsdWRlL3J0ZV9wYXVzZV82NC5oOjE2Nzo0OiBu b3RlOiBpbg0KPiA+ID4gPiA+ID4gZXhwYW5zaW9uIG9mIG1hY3JvIOKAmF9fTE9BRF9FWEPigJkN Cj4gPiA+ID4gPiA+ICAgMTY3IHwgICAgX19MT0FEX0VYQygoYWRkciksIHZhbHVlLCBtZW1vcmRl ciwgc2l6ZSkgXA0KPiA+ID4gPiA+ID4gICAgICAgfCAgICBefn5+fn5+fn5+DQo+ID4gPiA+ID4g Pg0KPiA+ID4gPiA+ID4gLi4vbGliL2JwZi9icGZfcGt0LmM6MTI1OjM6IG5vdGU6IGluIGV4cGFu c2lvbiBvZiBtYWNybw0KPiDigJhydGVfd2FpdF9ldmVudOKAmQ0KPiA+ID4gPiA+ID4gICAxMjUg fCAgIHJ0ZV93YWl0X2V2ZW50KCZjYmktPnVzZSwgVUlOVDMyX01BWCwgPT0sIHB1c2UsDQo+ID4g PiA+ID4gPiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLQ0KPiA+ID4gPiA+ID4gLS0tLQ0KPiA+ID4gPiA+ID4gLS0tLS0NCj4gPiA+ ID4gPiA+DQo+ID4gPiA+ID4gPiBTaWduZWQtb2ZmLWJ5OiBGZWlmZWkgV2FuZyA8ZmVpZmVpLndh bmcyQGFybS5jb20+DQo+ID4gPiA+ID4gPiBSZXZpZXdlZC1ieTogUnVpZmVuZyBXYW5nIDxydWlm ZW5nLndhbmdAYXJtLmNvbT4NCj4gPiA+ID4gPiA+IC0tLQ0KPiA+ID4gPiA+ID4gIGxpYi9icGYv YnBmX3BrdC5jIHwgMTEgKysrKy0tLS0tLS0NCj4gPiA+ID4gPiA+ICAxIGZpbGUgY2hhbmdlZCwg NCBpbnNlcnRpb25zKCspLCA3IGRlbGV0aW9ucygtKQ0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ IGRpZmYgLS1naXQgYS9saWIvYnBmL2JwZl9wa3QuYyBiL2xpYi9icGYvYnBmX3BrdC5jIGluZGV4 DQo+ID4gPiA+ID4gPiA2ZTgyNDhmMGQ2Li4yMTNkNDRhNzVhIDEwMDY0NA0KPiA+ID4gPiA+ID4g LS0tIGEvbGliL2JwZi9icGZfcGt0LmMNCj4gPiA+ID4gPiA+ICsrKyBiL2xpYi9icGYvYnBmX3Br dC5jDQo+ID4gPiA+ID4gPiBAQCAtMTExLDkgKzExMSw5IEBAIGJwZl9ldGhfY2JpX3VudXNlKHN0 cnVjdCBicGZfZXRoX2NiaSAqY2JpKQ0KPiA+ID4gPiA+ID4gICAqIFdhaXRzIHRpbGwgZGF0YXBh dGggZmluaXNoZWQgdXNpbmcgZ2l2ZW4gY2FsbGJhY2suDQo+ID4gPiA+ID4gPiAgICovDQo+ID4g PiA+ID4gPiAgc3RhdGljIHZvaWQNCj4gPiA+ID4gPiA+IC1icGZfZXRoX2NiaV93YWl0KGNvbnN0 IHN0cnVjdCBicGZfZXRoX2NiaSAqY2JpKQ0KPiA+ID4gPiA+ID4gK2JwZl9ldGhfY2JpX3dhaXQo c3RydWN0IGJwZl9ldGhfY2JpICpjYmkpDQo+ID4gPiA+ID4NCj4gPiA+ID4gPiBIaSwgS29uc3Rh bnRpbg0KPiA+ID4gPiA+DQo+ID4gPiA+ID4gRm9yIHRoaXMgYnBmIHBhdGNoLCBJIGRlbGV0ZSAn Y29uc3QnIHRocm91Z2ggdGhpcyBpcyBjb250cmFyeSB0bw0KPiA+ID4gPiA+IHdoYXQgd2UgZGlz Y3Vzc2VkIGVhcmxpZXIuIFRoaXMgaXMgYmVjYXVzZSBpZiAgd2Uga2VlcA0KPiA+ID4gPiA+ICdj b25zdGFudCcgaGVyZSBhbmQNCj4gPiA+IHVzZSAncnRlX3dhaXRfZXZlbnQnDQo+ID4gPiA+ID4g bmV3IG1hY3JvLCBjb21waWxlciB3aWxsIHJlcG9ydCBlcnJvci4gQW5kIGVhcmxpZXIgdGhlIGFy bQ0KPiA+ID4gPiA+IHZlcnNpb24gY2Fubm90IGJlIGNvbXBpbGVkIGR1ZSB0byBJIGZvcmdvdCBl bmFibGUgIndmZSIgY29uZmlnDQo+ID4gPiA+ID4gaW4gdGhlIG1lc29uIGZpbGUsDQo+ID4gPiBz byB0aGlzIGlzc3VlIGNhbiBub3QgaGFwcGVuIGJlZm9yZS4NCj4gPiA+ID4NCj4gPiA+ID4NCj4g PiA+ID4gSG9uZXN0bHksIEkgZG9uJ3QgdW5kZXJzdGFuZCB3aHkgd2UgaGF2ZSB0byByZW1vdmUg cGVyZmVjdGx5IHZhbGlkDQo+ICdjb25zdCcNCj4gPiA+IHF1YWxpZmllciBoZXJlLg0KPiA+ID4g PiBJZiB0aGlzIG1hY3JvIGNhbid0IGJlIHVzZWQgd2l0aCBwb2ludGVycyB0byBjb25zdCAoc3Rp bGwgZG9uJ3QNCj4gPiA+ID4gdW5kZXJzdGFuZCB3aHkpLCB0aGVuIGxldCdzIGp1c3Qgbm90IHVz ZSB0aGlzIG1hY3JvIGhlcmUuDQo+ID4gPiA+IFN0cmljdGx5IHNwZWFraW5nIEkgZG9uJ3Qgc2Vl IG11Y2ggYmVuZWZpdCBoZXJlIGZyb20gaXQuDQo+ID4gPiA+DQo+ID4gPiA+ID4NCj4gPiA+ID4g PiA+ICB7DQo+ID4gPiA+ID4gPiAtCXVpbnQzMl90IG51c2UsIHB1c2U7DQo+ID4gPiA+ID4gPiAr CXVpbnQzMl90IHB1c2U7DQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gIAkvKiBtYWtlIHN1cmUg YWxsIHByZXZpb3VzIGxvYWRzIGFuZCBzdG9yZXMgYXJlIGNvbXBsZXRlZCAqLw0KPiA+ID4gPiA+ ID4gIAlydGVfc21wX21iKCk7DQo+ID4gPiA+ID4gPiBAQCAtMTIyLDExICsxMjIsOCBAQCBicGZf ZXRoX2NiaV93YWl0KGNvbnN0IHN0cnVjdCBicGZfZXRoX2NiaQ0KPiA+ID4gPiA+ID4gKmNiaSkN Cj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiAgCS8qIGluIHVzZSwgYnVzeSB3YWl0IHRpbGwgY3Vy cmVudCBSWC9UWCBpdGVyYXRpb24gaXMgZmluaXNoZWQgKi8NCj4gPiA+ID4gPiA+ICAJaWYgKChw dXNlICYgQlBGX0VUSF9DQklfSU5VU0UpICE9IDApIHsNCj4gPiA+ID4gPiA+IC0JCWRvIHsNCj4g PiA+ID4gPiA+IC0JCQlydGVfcGF1c2UoKTsNCj4gPiA+ID4gPiA+IC0JCQlydGVfY29tcGlsZXJf YmFycmllcigpOw0KPiA+ID4gPiA+ID4gLQkJCW51c2UgPSBjYmktPnVzZTsNCj4gPiA+ID4gPiA+ IC0JCX0gd2hpbGUgKG51c2UgPT0gcHVzZSk7DQo+ID4gPiA+ID4gPiArCQlydGVfd2FpdF9ldmVu dCgmY2JpLT51c2UsIFVJTlQzMl9NQVgsID09LCBwdXNlLA0KPiA+ID4gPiA+ID4gKwkJCQlfX0FU T01JQ19SRUxBWEVEKTsNCj4gPiA+DQo+ID4gPiBBZnRlciBhbm90aGVyIHRob3VnaHQsIGlmIHdl IGRvIHR5cGUgY29udmVyc2lvbiBhdCBtYWNybyBpbnZvY2F0aW9uIHRpbWU6DQo+ID4gPg0KPiA+ ID4gYnBmX2V0aF9jYmlfd2FpdChjb25zdCBzdHJ1Y3QgYnBmX2V0aF9jYmkgKmNiaSkgew0KPiA+ ID4gICAuLi4NCj4gPiA+ICAgcnRlX3dhaXRfZXZlbnQoKHVpbnQzMl90ICopJmNiaS0+dXNlLCBV SU5UMzJfTUFYLCA9PSwgcHVzZSwNCj4gPiA+IF9fQVRPTUlDX1JFTEFYRUQpOw0KPiA+ID4NCj4g PiA+IHdvdWxkIHRoYXQgaGVscD8NCj4gPg0KPiA+IEkgdHJ5IHRvIHdpdGggdGhpcyBhbmQgaXQg d2lsbCByZXBvcnQgY29tcGlsZXIgd2FybmluZzoNCj4gPiAnIGNhc3QgZGlzY2FyZHMg4oCYY29u c3TigJkgcXVhbGlmaWVyJy4NCj4gDQo+IFNvbWV0aGluZyBsaWtlOg0KPiAodWludDMyX3QgKiko dWludHB0cl90KSZjYmktPnVzZQ0KPiA/DQpJIHRyeSB0byBhcHBseSB0aGlzIGFuZCBpdCBpcyBP SyB0byBmaXggY29tcGxpZXIgd2FybmluZy4NCkdvb2QgY29tbWVudHMgYW5kIHdpdGggdGhpcyBj aGFuZ2UgSSB0aGluayB3ZmUgbmV3IG1hY3JvDQpjYW4gYmUgYXBwbGllZCBpbiB0aGlzIGJwZiBB UEkuIFRoYW5rcy4NCj4gDQo+ID4gSSB0aGluayB0aGlzIGlzIGR1ZSB0byB0aGF0IGluIHJ0ZV93 YWl0X2V2ZW50IG1hY3JvLCB3ZSB1c2UNCj4gPiB0eXBlb2YoKihhZGRyKSkgdmFsdWUgPSAwOw0K PiA+ICBhbmQgdmFsdWUgaXMgZGVmaW5lZCBhcyAiY29uc3QgdWludDMyX3QiLCBidXQgaXQgc2hv dWxkIGJlIGFibGUgdG8gYmUNCj4gPiB1cGRhdGVkLg0KPiA+IEZ1cnRoZXJtb3JlLCB0aGlzIHJl ZmxlY3RzIHRoZSBsaW1pdGF0aW9ucyBvZiB0aGUgbmV3IG1hY3JvLCBpdCBjYW5ub3QNCj4gPiBi ZSBhcHBsaWVkIHdoZW4gJ2FkZHInIGlzIHR5cGUgb2YgJ2NvbnN0Jy4gRmluYWxseSwgSSB0aGlu ayBJIHNob3VsZCBnaXZlIHVwIHRoZQ0KPiBjaGFuZ2UgZm9yICJicGYiLg0KPiANCj4gQWggeWVz LCBJIHNlZS4NCj4gT25lIHRyaWNrIHRvIGF2b2lkIGl0Og0KPiB0eXBlb2YgKCooYWRkcikgKyAw KSB2YWx1ZTsNCj4gLi4uDQo+IEJ1dCBpdCB3b3VsZCBjYXVzZSBpbnRlZ2VyIHByb21vdGlvbiBm b3IgdWludDE2X3QuDQo+IFNvIHByb2JhYmx5IHdvdWxkbid0IHN1aXQgeW91IGhlcmUuDQpJIGFs c28gdHJ5IHdpdGggdGhpcyBjaGFuZ2UsIGl0IGNhbiBhbHNvIGZpeCBvdXIgaXNzdWVzLiBCdXQg YXMgeW91IHNheSwNCklmICphZGRyIGlzIHVpbnQxNl90LCBpdCB3aWxsIGxhcmdlIGl0cyBzaXpl LiBJdCBpcyBhIHJlYWxseSBnb29kIHN1Z2dlc3Rpb24gc2luY2UgDQpJJ20gd2lsbGluZyB0byBh cHBseSB0aGUgbGFzdCBzdHJhdGVneS4NCg==