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 47B9AA04F3; Tue, 7 Jan 2020 17:28:12 +0100 (CET) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 650961DA05; Tue, 7 Jan 2020 17:28:11 +0100 (CET) Received: from mx0b-0016f401.pphosted.com (mx0b-0016f401.pphosted.com [67.231.156.173]) by dpdk.org (Postfix) with ESMTP id 4269B1DA03 for ; Tue, 7 Jan 2020 17:28:09 +0100 (CET) Received: from pps.filterd (m0045851.ppops.net [127.0.0.1]) by mx0b-0016f401.pphosted.com (8.16.0.42/8.16.0.42) with SMTP id 007GCnAC000555; Tue, 7 Jan 2020 08:28:08 -0800 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=marvell.com; h=from : to : cc : subject : date : message-id : references : in-reply-to : content-type : content-transfer-encoding : mime-version; s=pfpt0818; bh=nLvdq27HTdt+JuJMRMJdpuPxhe/ctrcWRkylCkedTwY=; b=GXj56EUho2WjmsmTEGTnkCfkyZiOYl4g+SVTuh+XfgSip0wRnzBZtkkZLE4WHUbJu75w tnDAQoQNBlvA8nEVs91DEHwPgrl3RADESqkYbPYG5/mN6UN8eKVsUU5UjAYr9CyIabPJ UeofDJxB/n07akxFIQHPbYhuq7evHSxFbCdhHx5EVbg3XbOVe1eV85liofCvPEheBRAK jyuFOUgC6qf54UOh6U1ibLUKgeeDNGcERYz0THEg23riKZJo3kwv/gG36AaRm6PVIbyl C7DaAnUi11qCH3HJ3YxuRBzj0P5MqNan90HfJ9pACzbkH+Kh8hteRmT4Na9ifmJXVrEM uw== Received: from sc-exch01.marvell.com ([199.233.58.181]) by mx0b-0016f401.pphosted.com with ESMTP id 2xcn0b1p4s-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-SHA384 bits=256 verify=NOT); Tue, 07 Jan 2020 08:28:08 -0800 Received: from SC-EXCH02.marvell.com (10.93.176.82) by SC-EXCH01.marvell.com (10.93.176.81) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Tue, 7 Jan 2020 08:28:06 -0800 Received: from NAM12-BN8-obe.outbound.protection.outlook.com (104.47.55.175) by SC-EXCH02.marvell.com (10.93.176.82) with Microsoft SMTP Server (TLS) id 15.0.1497.2 via Frontend Transport; Tue, 7 Jan 2020 08:28:06 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=DprnxRKYcni7d/JW/P3rA+gW8FY9lL6lk+07XhfBAT6nwzjPjrl1cmUbeC/c0IUOfx4VR677ccslmli4PALkmoehWHdQZF2+AR2asl//RaMPOG2fV52VNpJOF2jaOMHTvNOBWA/n9EUfv6wZUqoB7Sg9nV0JW2Km0DPnwZxtpyG1QNLbiAi51+ZAN/auDLOFVbI86e9mTC7u7Q6/T7Q5X85dFFuvStiYIfUAPW62IgCrfj2uu2AbLheQB4TuvgYhj59cwM4fqlXCbxnOaoS/N9W0XswhS76a1UzW2/iG0nh1ggMmemz3OGFff9DtzDIypOXeiBwNg7MWaUGcrw7Sfw== 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=nLvdq27HTdt+JuJMRMJdpuPxhe/ctrcWRkylCkedTwY=; b=XTwqgIOXjOeJ3oQ/plkNxVTSBm8JA9CdFq73TmDo1X9CWyckI4ljVP75aFQ2AgQIOCgkYuabfvHSoBK5g4iqzu70fYU95rvQuZsF3XNrQtYZBmsaIxmPu6e8X+rWtcS6p5lIwuHYZZQO0C3k3OXVgSlbK5jZmlhRcD5B0aswZnhUsz1/iQG8vkYAqgVKPY1fvn7IIOtw+fljMgDW2ewVp8m+SBDMgsg8MJZB7K1SDgDLu7XY+yxVqxEHvI/KK+gksZ7+0wZQBmviNke8l4Zv2fIVlatRd1i6tnv0uXVqK6W1wlrpAT39ZFIk83uYzR0KMWaBpCinTTNT5DohlXjPhA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=marvell.com; dmarc=pass action=none header.from=marvell.com; dkim=pass header.d=marvell.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=marvell.onmicrosoft.com; s=selector1-marvell-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=nLvdq27HTdt+JuJMRMJdpuPxhe/ctrcWRkylCkedTwY=; b=SPTTnKFxSm1T+8x0GRilZvn+603OD9sGOOvqgK9PiZxT+ozi4s2I3t0ck18NMrqqQXUZLhR7MucPu7ATSIfN8aw5oA8cDfwIkp2/eDJfcOplfxuGbD1/LbyxHdWmW9tqQpm5ZolcakpoCuCciIkGZG3bdKIom6nFxOFDm3fnaMM= Received: from CY4PR1801MB1863.namprd18.prod.outlook.com (10.171.255.160) by CY4PR1801MB1944.namprd18.prod.outlook.com (10.171.255.35) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2602.15; Tue, 7 Jan 2020 16:28:05 +0000 Received: from CY4PR1801MB1863.namprd18.prod.outlook.com ([fe80::edb0:c18d:7455:f60b]) by CY4PR1801MB1863.namprd18.prod.outlook.com ([fe80::edb0:c18d:7455:f60b%4]) with mapi id 15.20.2602.016; Tue, 7 Jan 2020 16:28:04 +0000 From: Pavan Nikhilesh Bhagavatula To: "Ananyev, Konstantin" , "Jerin Jacob Kollanukkaran" , "Kovacevic, Marko" , Ori Kam , "Richardson, Bruce" , "Nicolau, Radu" , Akhil Goyal , "Kantecki, Tomasz" , Sunil Kumar Kori CC: "dev@dpdk.org" Thread-Topic: [dpdk-dev] [PATCH v2 10/11] examples/l3fwd: add graceful teardown for eventdevice Thread-Index: AQHVwj0oOcla0FnPekODMp/kjYSNRqfdFF4QgAB8YgCAAdausA== Date: Tue, 7 Jan 2020 16:28:04 +0000 Message-ID: References: <20191204144345.5736-1-pbhagavatula@marvell.com> <20191204144345.5736-11-pbhagavatula@marvell.com> In-Reply-To: Accept-Language: en-IN, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [223.226.91.107] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: e5a25ee0-8255-4e62-3f33-08d7938e9259 x-ms-traffictypediagnostic: CY4PR1801MB1944: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:218; x-forefront-prvs: 027578BB13 x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(4636009)(346002)(396003)(39860400002)(366004)(376002)(136003)(189003)(199004)(13464003)(52536014)(316002)(6636002)(4326008)(110136005)(55016002)(71200400001)(9686003)(81166006)(81156014)(5660300002)(478600001)(33656002)(8936002)(76116006)(66946007)(66476007)(66556008)(64756008)(66446008)(186003)(86362001)(26005)(7696005)(2906002)(55236004)(6506007)(921003)(1121003); DIR:OUT; SFP:1101; SCL:1; SRVR:CY4PR1801MB1944; H:CY4PR1801MB1863.namprd18.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; MX:1; A:1; received-spf: None (protection.outlook.com: marvell.com does not designate permitted sender hosts) x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: pmufjEjmTeLKpkQekbUSoUOyOlLWPLdgOlHAv2mmqCFCPZr2PUfBPyODJPUsSDxiR7eboTypsqoLraODmsV6sx1NObBUufMrMs7rpnsLYO1AJInLH/gse0CpGMnkxVeY96e9saFzLpMda2xlb8Ybc3kr8us0enxTEKYm/3aZCVUkXrqHi+FGNTFVGSaap3hodNXKqqVjqI7rcYz0PfzdoHntdWIu0PP3PZJMt2PxjkpKS1KryCHWKmhYXQniQCpH0ssCqZnT3GXD3zxUCZOHYsy7exhr/cT/poiEF/bg25dTLj3SrPlwHyoTmBuQEUeB4Xqgd94niTOSXP+U9PYkUSfhudBUDgfpvR31sfNXR69EesRxPb+ho/r0CzcxLuw7quToNcYgxlZFOa5vBiAy8NjucA7JBegmOTLvAx2Ff6TvN2sA+HIp2I0iGU4huMR/Pp8vwh7DdlhPZR0I23KaJAd52AWBu4GXWs2qBetXcfnIAsNOsykgzALvGVQm6iJEUx+5aTjAvumAojMHTi5K9w== Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-CrossTenant-Network-Message-Id: e5a25ee0-8255-4e62-3f33-08d7938e9259 X-MS-Exchange-CrossTenant-originalarrivaltime: 07 Jan 2020 16:28:04.4437 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 70e1fb47-1155-421d-87fc-2e58f638b6e0 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: x/YXXTRDGqkEZi6UgZ8+4MYVMxClPm9myHt5x2lXmVO3uLn/L/8ii+AraK/EHYfoH+CW8wRfunCG+TBKw8UaX7H5+Q82MgBq+ASW1BSdP04= X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY4PR1801MB1944 X-OriginatorOrg: marvell.com X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.138, 18.0.572 definitions=2020-01-07_05:2020-01-07, 2020-01-07 signatures=0 Subject: Re: [dpdk-dev] [PATCH v2 10/11] examples/l3fwd: add graceful teardown for eventdevice 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" DQoNCj4tLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPkZyb206IEFuYW55ZXYsIEtvbnN0YW50 aW4gPGtvbnN0YW50aW4uYW5hbnlldkBpbnRlbC5jb20+DQo+U2VudDogTW9uZGF5LCBKYW51YXJ5 IDYsIDIwMjAgNTo0MyBQTQ0KPlRvOiBQYXZhbiBOaWtoaWxlc2ggQmhhZ2F2YXR1bGEgPHBiaGFn YXZhdHVsYUBtYXJ2ZWxsLmNvbT47IEplcmluDQo+SmFjb2IgS29sbGFudWtrYXJhbiA8amVyaW5q QG1hcnZlbGwuY29tPjsgS292YWNldmljLCBNYXJrbw0KPjxtYXJrby5rb3ZhY2V2aWNAaW50ZWwu Y29tPjsgT3JpIEthbSA8b3Jpa2FAbWVsbGFub3guY29tPjsNCj5SaWNoYXJkc29uLCBCcnVjZSA8 YnJ1Y2UucmljaGFyZHNvbkBpbnRlbC5jb20+OyBOaWNvbGF1LCBSYWR1DQo+PHJhZHUubmljb2xh dUBpbnRlbC5jb20+OyBBa2hpbCBHb3lhbCA8YWtoaWwuZ295YWxAbnhwLmNvbT47DQo+S2FudGVj a2ksIFRvbWFzeiA8dG9tYXN6LmthbnRlY2tpQGludGVsLmNvbT47IFN1bmlsIEt1bWFyIEtvcmkN Cj48c2tvcmlAbWFydmVsbC5jb20+DQo+Q2M6IGRldkBkcGRrLm9yZw0KPlN1YmplY3Q6IFtFWFRd IFJFOiBbZHBkay1kZXZdIFtQQVRDSCB2MiAxMC8xMV0gZXhhbXBsZXMvbDNmd2Q6IGFkZA0KPmdy YWNlZnVsIHRlYXJkb3duIGZvciBldmVudGRldmljZQ0KPg0KPkV4dGVybmFsIEVtYWlsDQo+DQo+ LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLQ0KPg0KPj4gPj4gQWRkIGdyYWNlZnVsIHRlYXJkb3duIHRoYXQgYWRkcmVz c2VzIGJvdGggZXZlbnQgbW9kZSBhbmQgcG9sbA0KPj4gPm1vZGUuDQo+PiA+Pg0KPj4gPj4gU2ln bmVkLW9mZi1ieTogUGF2YW4gTmlraGlsZXNoIDxwYmhhZ2F2YXR1bGFAbWFydmVsbC5jb20+DQo+ PiA+PiAtLS0NCj4+ID4+ICBleGFtcGxlcy9sM2Z3ZC9tYWluLmMgfCA0OQ0KPisrKysrKysrKysr KysrKysrKysrKysrKysrKysrKy0NCj4+ID4tLS0tLS0tLS0tLS0NCj4+ID4+ICAxIGZpbGUgY2hh bmdlZCwgMzQgaW5zZXJ0aW9ucygrKSwgMTUgZGVsZXRpb25zKC0pDQo+PiA+Pg0KPj4gPj4gZGlm ZiAtLWdpdCBhL2V4YW1wbGVzL2wzZndkL21haW4uYyBiL2V4YW1wbGVzL2wzZndkL21haW4uYw0K Pj4gPj4gaW5kZXggMGFlNjRkZDQxLi42ODk5OGY0MmMgMTAwNjQ0DQo+PiA+PiAtLS0gYS9leGFt cGxlcy9sM2Z3ZC9tYWluLmMNCj4+ID4+ICsrKyBiL2V4YW1wbGVzL2wzZndkL21haW4uYw0KPj4g Pj4gQEAgLTkyMCw3ICs5MjAsNyBAQCBtYWluKGludCBhcmdjLCBjaGFyICoqYXJndikNCj4+ID4+ ICAJc3RydWN0IGxjb3JlX2NvbmYgKnFjb25mOw0KPj4gPj4gIAlzdHJ1Y3QgcnRlX2V0aF9kZXZf aW5mbyBkZXZfaW5mbzsNCj4+ID4+ICAJc3RydWN0IHJ0ZV9ldGhfdHhjb25mICp0eGNvbmY7DQo+ PiA+PiAtCWludCByZXQ7DQo+PiA+PiArCWludCBpLCByZXQ7DQo+PiA+PiAgCXVuc2lnbmVkIG5i X3BvcnRzOw0KPj4gPj4gIAl1aW50MTZfdCBxdWV1ZWlkLCBwb3J0aWQ7DQo+PiA+PiAgCXVuc2ln bmVkIGxjb3JlX2lkOw0KPj4gPj4gQEAgLTExOTUsMjcgKzExOTUsNDYgQEAgbWFpbihpbnQgYXJn YywgY2hhciAqKmFyZ3YpDQo+PiA+PiAgCQl9DQo+PiA+PiAgCX0NCj4+ID4+DQo+PiA+PiAtDQo+ PiA+PiAgCWNoZWNrX2FsbF9wb3J0c19saW5rX3N0YXR1cyhlbmFibGVkX3BvcnRfbWFzayk7DQo+ PiA+Pg0KPj4gPj4gIAlyZXQgPSAwOw0KPj4gPj4gIAkvKiBsYXVuY2ggcGVyLWxjb3JlIGluaXQg b24gZXZlcnkgbGNvcmUgKi8NCj4+ID4+ICAJcnRlX2VhbF9tcF9yZW1vdGVfbGF1bmNoKGwzZndk X2xrcC5tYWluX2xvb3AsIE5VTEwsDQo+PiA+Q0FMTF9NQVNURVIpOw0KPj4gPj4gLQlSVEVfTENP UkVfRk9SRUFDSF9TTEFWRShsY29yZV9pZCkgew0KPj4gPj4gLQkJaWYgKHJ0ZV9lYWxfd2FpdF9s Y29yZShsY29yZV9pZCkgPCAwKSB7DQo+PiA+PiAtCQkJcmV0ID0gLTE7DQo+PiA+PiAtCQkJYnJl YWs7DQo+PiA+PiArCWlmIChldnRfcnNyYy0+ZW5hYmxlZCkgew0KPj4gPj4gKwkJZm9yIChpID0g MDsgaSA8IGV2dF9yc3JjLT5yeF9hZHB0ci5uYl9yeF9hZHB0cjsgaSsrKQ0KPj4gPj4gKwkJCXJ0 ZV9ldmVudF9ldGhfcnhfYWRhcHRlcl9zdG9wKA0KPj4gPj4gKwkJCQkJZXZ0X3JzcmMtPnJ4X2Fk cHRyLnJ4X2FkcHRyW2ldKTsNCj4+ID4+ICsJCWZvciAoaSA9IDA7IGkgPCBldnRfcnNyYy0+dHhf YWRwdHIubmJfdHhfYWRwdHI7IGkrKykNCj4+ID4+ICsJCQlydGVfZXZlbnRfZXRoX3R4X2FkYXB0 ZXJfc3RvcCgNCj4+ID4+ICsJCQkJCWV2dF9yc3JjLT50eF9hZHB0ci50eF9hZHB0cltpXSk7DQo+ PiA+PiArDQo+PiA+PiArCQlSVEVfRVRIX0ZPUkVBQ0hfREVWKHBvcnRpZCkgew0KPj4gPj4gKwkJ CWlmICgoZW5hYmxlZF9wb3J0X21hc2sgJiAoMSA8PCBwb3J0aWQpKSA9PSAwKQ0KPj4gPj4gKwkJ CQljb250aW51ZTsNCj4+ID4+ICsJCQlydGVfZXRoX2Rldl9zdG9wKHBvcnRpZCk7DQo+PiA+PiAg CQl9DQo+PiA+PiAtCX0NCj4+ID4+DQo+PiA+PiAtCS8qIHN0b3AgcG9ydHMgKi8NCj4+ID4+IC0J UlRFX0VUSF9GT1JFQUNIX0RFVihwb3J0aWQpIHsNCj4+ID4+IC0JCWlmICgoZW5hYmxlZF9wb3J0 X21hc2sgJiAoMSA8PCBwb3J0aWQpKSA9PSAwKQ0KPj4gPj4gLQkJCWNvbnRpbnVlOw0KPj4gPj4g LQkJcHJpbnRmKCJDbG9zaW5nIHBvcnQgJWQuLi4iLCBwb3J0aWQpOw0KPj4gPj4gLQkJcnRlX2V0 aF9kZXZfc3RvcChwb3J0aWQpOw0KPj4gPj4gLQkJcnRlX2V0aF9kZXZfY2xvc2UocG9ydGlkKTsN Cj4+ID4+IC0JCXByaW50ZigiIERvbmVcbiIpOw0KPj4gPg0KPj4gPldoeSB0byBzdG9wIHBvcnRz ICpiZWZvcmUqIG1ha2luZyBzdXJlIGFsbCBsY29yZXMgYXJlIHN0b3BwZWQ/DQo+PiA+U2hvdWxk bid0IHRoYXQgcGVhY2Ugb2YgY29kZSBiZSBpZGVudGljYWwgZm9yIGJvdGggcG9sbCBhbmQgZXZl bnQNCj5tb2RlPw0KPj4gPlNvbWV0aGluZyBsaWtlOg0KPj4gPnJ0ZV9lYWxfbXBfd2FpdF9sY29y ZSgpOw0KPj4gPg0KPj4gPiAgICAgICAgICAgICAgICBSVEVfRVRIX0ZPUkVBQ0hfREVWKHBvcnRp ZCkgew0KPj4gPiAgICAgICAgICAgICAgICAgICAgICAgIGlmICgoZW5hYmxlZF9wb3J0X21hc2sg JiAoMSA8PCBwb3J0aWQpKSA9PSAwKQ0KPj4gPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgY29udGludWU7DQo+PiA+ICAgICAgICAgICAgICAgICAgICAgICAgcnRlX2V0aF9kZXZfc3Rv cChwb3J0aWQpOw0KPj4gPiAgICAgICAgICAgICAgICAgICAgICAgIHJ0ZV9ldGhfZGV2X2Nsb3Nl KHBvcnRpZCk7DQo+PiA+ICAgICAgICAgICAgICAgIH0NCj4+ID4/DQo+PiA+DQo+Pg0KPj4gRXZl bnQgZGV2IHNwZWMgcmVxdWlyZXMgc3RvcHBpbmcgcHJvZHVjZXJzIGJlZm9yZSBjb25zdW1lcnMg ZWxzZQ0KPndlIG1pZ2h0IHJ1biBpbnRvDQo+PiBkZWFkbG9jayBpbiBzb21lIGNhc2VzLg0KPg0K Pk9rLi4uIGJ1dCBmb3IgVFggcGF0aCB3b3VsZG4ndCBjb3JlIGJlIGEgcHJvZHVjZXI/DQoNCk5v dCBpbiBhbGwgY2FzZXMsIHRydWUgaW4gY2FzZSBvZiBTVyBldmVudCBkZXZpY2UgYW5kIGltcGxl bWVudGF0aW9uIGRlZmluZWQgaW4gSFcgZXZlbnQgZGV2aWNlcy4NCg0KQWxzbyBib3RoIHRoZSBj YXNlcyBvZiBUeCBwb2xsIG9uIGZvcmNlX3F1aXQgaW4gY2FzZSBUeCBwYXRoIGZhaWxzIHNvIHRo YXQgY29yZXMgY2FuIGV4aXQuDQoNCiAgICAgICAgICAgICAgICBpZiAoZmxhZ3MgJiBMM0ZXRF9F VkVOVF9UWF9FTlEpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIGV2LnF1ZXVlX2lkID0gdHhf cV9pZDsNCiAgICAgICAgICAgICAgICAgICAgICAgIGV2Lm9wID0gUlRFX0VWRU5UX09QX0ZPUldB UkQ7DQogICAgICAgICAgICAgICAgICAgICAgICB3aGlsZSAocnRlX2V2ZW50X2VucXVldWVfYnVy c3QoZXZlbnRfZF9pZCwgZXZlbnRfcF9pZCwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICZldiwgMSkgJiYgIWZvcmNlX3F1aXQpDQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIDsNCiAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAg ICBpZiAoZmxhZ3MgJiBMM0ZXRF9FVkVOVF9UWF9ESVJFQ1QpIHsNCiAgICAgICAgICAgICAgICAg ICAgICAgIHJ0ZV9ldmVudF9ldGhfdHhfYWRhcHRlcl90eHFfc2V0KG1idWYsIDApOw0KICAgICAg ICAgICAgICAgICAgICAgICAgd2hpbGUgKCFydGVfZXZlbnRfZXRoX3R4X2FkYXB0ZXJfZW5xdWV1 ZShldmVudF9kX2lkLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgZXZlbnRfcF9pZCwgJmV2LCAxLCAwKSAmJg0KICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICFmb3JjZV9xdWl0KQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICA7DQogICAgICAgICAgICAgICAgfQ0KDQo+QWxzbyBmb3IgdGhhdCB3b3VsZG4ndCBydGVf ZXZlbnRfZXRoXyhyeHx0eClfYWRhcHRlcl9zdG9wKDAgYmUNCj5lbm91Z2g/DQoNCkluIGNhc2Ug b2YgSFcgZXZlbnQgZGV2aWNlcyB0aGUgYWJvdmUgbWlnaHQgYmUgbm9wIGFzIGNvbnRyb2wgbGll cyB3aXRoIGRyaXZlci9uZXQuDQpBbmQgc2luY2UgYW55d2F5IHdlIG5lZWQgdG8gc3RvcCBldGhl cm5ldCBkZXZpY2Ugd2UgbWlnaHQgYXMgd2VsbCBkbyBpdCBoZXJlLg0KDQo+SSBhbSBub3QgZmFt aWxpYXIgd2l0aCBldmVudC1kZXYgc3BlYyBhdCBhbGwsIHNvIGZvcmdpdmUgZm9yIHBvc3NpYmx5 IGR1bWINCj5xdWVzdGlvbnMg8J+YiQ0KDQrwn5iKDQoNCj4NCj4+DQo+PiA+PiArCQlydGVfZWFs X21wX3dhaXRfbGNvcmUoKTsNCj4+ID4+ICsJCVJURV9FVEhfRk9SRUFDSF9ERVYocG9ydGlkKSB7 DQo+PiA+PiArCQkJaWYgKChlbmFibGVkX3BvcnRfbWFzayAmICgxIDw8IHBvcnRpZCkpID09IDAp DQo+PiA+PiArCQkJCWNvbnRpbnVlOw0KPj4gPj4gKwkJCXJ0ZV9ldGhfZGV2X2Nsb3NlKHBvcnRp ZCk7DQo+PiA+PiArCQl9DQo+PiA+PiArDQo+PiA+PiArCQlydGVfZXZlbnRfZGV2X3N0b3AoZXZ0 X3JzcmMtPmV2ZW50X2RfaWQpOw0KPj4gPj4gKwkJcnRlX2V2ZW50X2Rldl9jbG9zZShldnRfcnNy Yy0+ZXZlbnRfZF9pZCk7DQo+PiA+PiArDQo+PiA+PiArCX0gZWxzZSB7DQo+PiA+PiArCQlydGVf ZWFsX21wX3dhaXRfbGNvcmUoKTsNCj4+ID4+ICsNCj4+ID4+ICsJCVJURV9FVEhfRk9SRUFDSF9E RVYocG9ydGlkKSB7DQo+PiA+PiArCQkJaWYgKChlbmFibGVkX3BvcnRfbWFzayAmICgxIDw8IHBv cnRpZCkpID09IDApDQo+PiA+PiArCQkJCWNvbnRpbnVlOw0KPj4gPj4gKwkJCXByaW50ZigiQ2xv c2luZyBwb3J0ICVkLi4uIiwgcG9ydGlkKTsNCj4+ID4+ICsJCQlydGVfZXRoX2Rldl9zdG9wKHBv cnRpZCk7DQo+PiA+PiArCQkJcnRlX2V0aF9kZXZfY2xvc2UocG9ydGlkKTsNCj4+ID4+ICsJCQlw cmludGYoIiBEb25lXG4iKTsNCj4+ID4+ICsJCX0NCj4+ID4+ICAJfQ0KPj4gPj4gIAlwcmludGYo IkJ5ZS4uLlxuIik7DQo+PiA+Pg0KPj4gPj4gLS0NCj4+ID4+IDIuMTcuMQ0KDQo=