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 3C1ABA034F; Tue, 9 Nov 2021 12:43:37 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id CC03340E03; Tue, 9 Nov 2021 12:43:36 +0100 (CET) Received: from EUR02-AM5-obe.outbound.protection.outlook.com (mail-eopbgr00056.outbound.protection.outlook.com [40.107.0.56]) by mails.dpdk.org (Postfix) with ESMTP id DB4E44068B; Tue, 9 Nov 2021 12:43:35 +0100 (CET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ZHjtXT4zIGaX7N4OYOt9CIT+hOFx3WNhFAOWPuFOWzj7vfRp5ygLqmpt8F+r/2zCJm41HPPgoIbsm8nu71a2G/9/YPz2fj5EbvWBxWXAH7iJujBfCuq73zsVL12FOZZbnrxRXu3dnJ6shHBQ0uqrypu0xd++nJjvq2PhxRhAuDzBF8kLqbz+mZ3no8lS2PuHMbrk1U5cVhYeNUNT8n4EF+x72wj9aF7SfqvyLKbejmHBlsRGWmF6UzeBHbm6Y8AtKej1iX8FSpSmx86p4UvoNmNp7VXjybrcLEP3ZMN0ax7YTwFBq9wK/XuiKU49K4RL+9kc9ZYc2q83gOX3h6DXRA== 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=4irwrvFaibLedQS+vzHuA0go8rZi8d7qQn4XLDSydl0=; b=OyRw2lP92kAuJYqNruIa/AD00pUzfmoHG3pLVwnv20fh4PpTPzp862omH92d+KjSPxG/uhK0SeCfkEwg9WMTNsA0ly8rVQcngesXWBMXP1jCbhBbrMfD8WRlvG6nysPaQdZj8B6vHAnqNueDTjJFb68IRs10xGlLdjrfC1L/3slWDMn2m2OBzb8CzPjc1l5LEA4YLGXniCeK2YP+AD0PItlho+dsBKS/axq3+rgJejUigwvVhBeK50ELniCn/jGXCR8oRHz+dau/Xzi4czR6HvFppjknolaKxxRE47jwsTVFIVWPguNbB//k1e2dV4LMnEkYH+mFKoRaJwMKlSyqaw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=ericsson.com; dmarc=pass action=none header.from=ericsson.com; dkim=pass header.d=ericsson.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ericsson.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=4irwrvFaibLedQS+vzHuA0go8rZi8d7qQn4XLDSydl0=; b=EaLHxy6N3gQh+oYJJK0ibqSa1vrGwnMykY5hRJNVTUDqtdlpvxMj1rjnD6Sng7L1VXsFfiQ38V3yr4J6Fe3XH1XT5H9PV25pc/tm0zpdtNh+AgfxS9TFqCRucA53cAq4Y+0eDc3WZDCcXP/EENC55FRouFWBkXQPb4s5gN8mtn0= Received: from DB7PR07MB5978.eurprd07.prod.outlook.com (2603:10a6:10:80::15) by DB7PR07MB5708.eurprd07.prod.outlook.com (2603:10a6:10:83::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4690.5; Tue, 9 Nov 2021 11:43:33 +0000 Received: from DB7PR07MB5978.eurprd07.prod.outlook.com ([fe80::8b2:d48f:7cb7:8b3d]) by DB7PR07MB5978.eurprd07.prod.outlook.com ([fe80::8b2:d48f:7cb7:8b3d%6]) with mapi id 15.20.4690.015; Tue, 9 Nov 2021 11:43:33 +0000 From: =?utf-8?B?TWF0dGlhcyBSw7ZubmJsb20=?= To: "Kundapura, Ganapati" , "jerinj@marvell.com" , "Jayatheerthan, Jay" CC: "dev@dpdk.org" , "stable@dpdk.org" Thread-Topic: [PATCH] eventdev: fix Rx adapter stalls on event device backpressure Thread-Index: AQHX1KQ/QCYTqxYjk0WHUVuOpuqwt6v5o/YAgAEYJQCAACIZgIAALPCAgAAJn4A= Date: Tue, 9 Nov 2021 11:43:33 +0000 Message-ID: References: <20211108132558.28748-1-mattias.ronnblom@ericsson.com> <240c3c83-f0c9-3b51-0bc5-ae040ecd340b@ericsson.com> In-Reply-To: Accept-Language: en-US, sv-SE Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: user-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101 Thunderbird/91.3.0 authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=ericsson.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 26666d9c-39bb-45de-9fb5-08d9a37628e7 x-ms-traffictypediagnostic: DB7PR07MB5708: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:10000; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: xgqQ72VbYIv/67B7bijajGGxRnjMFRp7p3cwhmRV3DG/qeaXsSAhkmqTXPtwsmbY1e3yrRk1N7oLu0A2A5jpBNw4Yyz1WNzg2rkepipElAGgLY34weDz3cqcaGkbkjnictzTfRr9NK4IMEMF+wlX1JSbp8dBcM8DptbCEveqcVcGlIknf8Qm13q3XMptgT81ZpmP1+tIenBzyTO/ZriDHD/E57ecEfy4wtoifLMVfKQeqcNLFhEFl0Rw9/PyV1dVCYVrWqPHMAq4x07QaUsbiiz53ZhRKcXLzF7uVjEYCMl/L4Ghtgo2s0GuwVn+oT8oe9AD8+TBFNRg4MkpRilD4lThtXGAM2tcFigxKJLp7NqlI0eqO0C6ks1xdco8DN9JtpvY88Obra16dq1xUdpWh2t4NzTSbLExCZyV1JrgP7t3bLHQ7Ea9KebnxHs5PGx5UtQ+RQnuvPL04LCYhhjomlZQJ9/LjgX3d/vechwmt9ZbSfkBw+tzo24zIU4tyWcfdquk4ipczHr4Nq1wu9Zwip7n+UtXVodRS+p+FiTxLv4PILTPGwodGByf3tl62Sgk6ognkM5FgMS+ilsP6nrKB2OUdstkFcS7hGJAnV4ONkSCGN3POlHEOZeYAovzXK11pKENWPhYUoRIgJ3XW69aNuiV2Y6jo3AjJLDLuVE+lEpI6oiVTSH1ab4gFc6vOn5v3248XsP1f7HWyRNcyGAVd0Tegv7gNphrcx0hfOhQxINulgBeA+LSUaKr8tnOyCWL64AwNm7g3po7p2zmDiFHvg== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DB7PR07MB5978.eurprd07.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(366004)(38070700005)(6512007)(83380400001)(316002)(6486002)(5660300002)(4326008)(31696002)(86362001)(82960400001)(110136005)(54906003)(8936002)(71200400001)(8676002)(2616005)(85202003)(66556008)(64756008)(66476007)(76116006)(66446008)(66946007)(31686004)(38100700002)(66574015)(186003)(85182001)(2906002)(26005)(6506007)(122000001)(53546011)(508600001)(36756003)(45980500001)(43740500002); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?cXY5bHlLYmgxN0hRT25tYThHdFBqdVoyMW1nZ254V2pJQVRTTDNsTUZvRlJ2?= =?utf-8?B?WTF5bmZCaUZkQy84WWJ4SHJMN1RlSHlRd1ZnZ3pMOHRncmhJeVp6bGtoYlBh?= =?utf-8?B?bGZKN1M0MFo2TzV6R0tCN1pmcldwQnlCQmViTzNXWEZPTW0razROU0YxS2d6?= =?utf-8?B?Nks2NjJ6ZkRhWEFWRzg3TnpTSGttemVPcGgwZmluQWllR2Nma2RucWFUUGl5?= =?utf-8?B?TmtMaTIweUtvQ3dXWmo0d25yb3JaeDF5OThOSVhFTVNoV3h0eWNUamN3bEdD?= =?utf-8?B?UGdhaHV6OHl0a3BNUmkvTEZDSzJTYk94dTZYYVdSWEl2bTR3dVJkL2dKZTdZ?= =?utf-8?B?ci9yUmc4d0NqN1ZMWE5tTUFPOE9WdzdDaEpBOHl3dkdCdXQxQU13MHJXeVdW?= =?utf-8?B?ek0xVnlTNGhsUzU3aFZYelBnWnlxNEpwTTJpQlFDUE1VdWtPTUlyMWpMbDQz?= =?utf-8?B?SmliZ3U3UVpCS0ZCRC9KV2xNVWZqN2luNFNaWFd5M09FZ1pVRmNCdzFlSHNN?= =?utf-8?B?TUhCSmtRaHNsaWw5WUp5MmtmUGN2UmhlZmxzcUxoeWhjaW1wN2JhaERvWGh4?= =?utf-8?B?L1FoT3J3Z1JIUSsvTTRCd3I1aERPUGdvNWQvcDBpRkE1a1ZOcTVUQTRpdWRw?= =?utf-8?B?S1hKNThmMzJTaEtRQ0h0bHJDWGZSOURjYWszUDdHRWNiZ3ZOdnZDL2JNc0lI?= =?utf-8?B?QSswSkZBajZyVmRKV0FvZ2lUUGpJb3lCWGwyUzg3TERZbWYyaXdoUHQzeHpX?= =?utf-8?B?bUgxQk9YWVlqeDQ2MnB3QWl1V01mMEFvajczbE9lK0ZacFBkVkZMRTd1Z2pZ?= =?utf-8?B?SXVNM3VGcHFLM1UvZDJuN3NUNDZqU3NSU2FucWd4N0NLM2FEdHVielRuNU1t?= =?utf-8?B?aVZ5cG8ybmVsUW41dEJPNlE4T0w1RlhBWU1PUFpVZzJEQW1JMzdmTXJ1cHhH?= =?utf-8?B?MGpjWEhLait6bEFrdHlvZEpvU05GZzhCWnF5L0lFbkJGR2ljMTg1NWZmMzM5?= =?utf-8?B?SS92SlFCenpROHlDTllGV1E1a21pMDJYbEhuaUdmbGQ3cmoxbEFYQWZQZ0Mx?= =?utf-8?B?eFM5S0RmR21hQ1Z0emRIWCtHL3JmdFRNcXErRG1uaUs1RVFoaGJJWHduUU1k?= =?utf-8?B?R3dtSlRaZFNrb1hkUU5pSitmZ3cxakQ1NUpxVDVteUNmd0YrOFV1QWtsNGw4?= =?utf-8?B?VXNyNUpzVEFtTExadU1ZNXZhNEgzZGowL29MN01hQnhLQ1hvMzhxamF1Zm9F?= =?utf-8?B?MjgyNDJRT0xPRWZUT1BEM28xcXVxN2Z5NUZMUTlhbHNEVGcyQXBvd3lCOTRz?= =?utf-8?B?ZmxtYUFxR3gzL3hJR01NQ1lNbGg3YzFqUXc5Y05LbmlHRVpVR2pYQ2Z0Vmp4?= =?utf-8?B?TUt1MTltR0RHVHA1YUxVakNkNWR3bXRPZDlGN2hpWFF5Qytsd0srZUJlUGtB?= =?utf-8?B?MzlIbmlEYlExSVlaNjJ1aFFnN2pvOFo4QlZRd1BZbDVCRHJsbXRTVTBzVnhm?= =?utf-8?B?eDFSc2Rua2tCZWNVcXJQRXljYTY5bkwyQ1lBRzdadmJ3K1I2NEwraXpsb2th?= =?utf-8?B?QXc1dlBmSUxnSEVMdzJWSkNZM2VUc2s2K00rdUV2YmhjM2pGb0dKRi9GTURP?= =?utf-8?B?bEtNS3VUekpUQW5lekNCQmRzWHMzMDZJbk9oL0U1L1lzK3hFZnJONUdOcmE3?= =?utf-8?B?L2JPSExQUDRIa2tndDBTNUtKV3NDVThjbHZvL0g0UXNrTldJajR6SXI3b2Zi?= =?utf-8?B?WHFVZ1pmU0Jnd2ZjVDgvRFdWUEx6ZmszZzRrWE1IU1hTMVZWWDNOVmhPTklV?= =?utf-8?B?U0MyOHc2cEdLRW1JYXBQZkFDRlpaYS9BbmE5SDdsVHUxWmxQa3BzTW50d2l5?= =?utf-8?B?WVc4R1Fic1VVeTJ2TXc1NWtsdnhDYW5FS3EwSmJ3czM3SXJnWklKaW5YNTl5?= =?utf-8?B?Ry83TFEvTklXRXZDRXdoamdxeTd5QkY3cTczbTRBdForbXY5UEVReEFlTmdV?= =?utf-8?B?a0NyZWJEcXpSMXJId1IzbXdWaEVhUUhGbEJYNVA0Q2w5cTdaUmhIRXNNMVJ6?= =?utf-8?B?OUM3QlRwVFNmT3lPQURzWWpzWDZ4V1h6WVRuZm5QbFlKQjEzZThoclgyNVNP?= =?utf-8?B?QWdocHNtODc2R1lPZ1BpRTI4MkxHOGRCSWVTYnlwOG5hQ01zd3NJQU5halhh?= =?utf-8?B?eEhBNUQxSG8vckphcEZIUUlrcWw3bUowa1hBV29naHZyWUJtVkRvOGltN1RG?= =?utf-8?B?MmVFQ3UwL3A2NXdzRGhndmJLZ3Z3PT0=?= Content-Type: text/plain; charset="utf-8" Content-ID: <0B17FDDB59A4334999BFE023BD02644F@eurprd07.prod.outlook.com> Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: ericsson.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DB7PR07MB5978.eurprd07.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 26666d9c-39bb-45de-9fb5-08d9a37628e7 X-MS-Exchange-CrossTenant-originalarrivaltime: 09 Nov 2021 11:43:33.5393 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 92e84ceb-fbfd-47ab-be52-080c6b87953f X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: jIJNimfuYsL9NvCp9ozox026H6UmX6mN5XoaLqHYuTXip4EKJy8WqHDUQsxZAuDWirYVBW7QkmoOT0t5HZHpAYp9qepiOa0WMsNl/n+Fnfk= X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB7PR07MB5708 Subject: Re: [dpdk-dev] [PATCH] eventdev: fix Rx adapter stalls on event device backpressure 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" T24gMjAyMS0xMS0wOSAxMjowOSwgS3VuZGFwdXJhLCBHYW5hcGF0aSB3cm90ZToNCj4NCj4+IC0t LS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+PiBGcm9tOiBNYXR0aWFzIFLDtm5uYmxvbSA8bWF0 dGlhcy5yb25uYmxvbUBlcmljc3Nvbi5jb20+DQo+PiBTZW50OiAwOSBOb3ZlbWJlciAyMDIxIDEz OjU4DQo+PiBUbzogS3VuZGFwdXJhLCBHYW5hcGF0aSA8Z2FuYXBhdGkua3VuZGFwdXJhQGludGVs LmNvbT47DQo+PiBqZXJpbmpAbWFydmVsbC5jb207IEpheWF0aGVlcnRoYW4sIEpheSA8amF5Lmph eWF0aGVlcnRoYW5AaW50ZWwuY29tPg0KPj4gQ2M6IGRldkBkcGRrLm9yZzsgc3RhYmxlQGRwZGsu b3JnDQo+PiBTdWJqZWN0OiBSZTogW1BBVENIXSBldmVudGRldjogZml4IFJ4IGFkYXB0ZXIgc3Rh bGxzIG9uIGV2ZW50IGRldmljZQ0KPj4gYmFja3ByZXNzdXJlDQo+Pg0KPj4gT24gMjAyMS0xMS0w OSAwNzoyNiwgS3VuZGFwdXJhLCBHYW5hcGF0aSB3cm90ZToNCj4+PiBIaSBNYXR0aWFzLA0KPj4+ DQo+Pj4+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+Pj4+IEZyb206IE1hdHRpYXMgUsO2 bm5ibG9tIDxtYXR0aWFzLnJvbm5ibG9tQGVyaWNzc29uLmNvbT4NCj4+Pj4gU2VudDogMDggTm92 ZW1iZXIgMjAyMSAxOToxNA0KPj4+PiBUbzogamVyaW5qQG1hcnZlbGwuY29tOyBKYXlhdGhlZXJ0 aGFuLCBKYXkNCj4+Pj4gPGpheS5qYXlhdGhlZXJ0aGFuQGludGVsLmNvbT4NCj4+Pj4gQ2M6IGRl dkBkcGRrLm9yZzsgS3VuZGFwdXJhLCBHYW5hcGF0aQ0KPj4gPGdhbmFwYXRpLmt1bmRhcHVyYUBp bnRlbC5jb20+Ow0KPj4+PiBzdGFibGVAZHBkay5vcmcNCj4+Pj4gU3ViamVjdDogUmU6IFtQQVRD SF0gZXZlbnRkZXY6IGZpeCBSeCBhZGFwdGVyIHN0YWxscyBvbiBldmVudCBkZXZpY2UNCj4+Pj4g YmFja3ByZXNzdXJlDQo+Pj4+DQo+Pj4+IE9uIDIwMjEtMTEtMDggMTQ6MjUsIE1hdHRpYXMgUsO2 bm5ibG9tIHdyb3RlOg0KPj4+Pj4gSW4gdGhlIEV2ZW50ZGV2IEV0aGVybmV0IFJYIEFkYXB0ZXIs IGNvcnJlY3RseSBoYW5kbGUgdGhlIGNhc2Ugd2hlcmUNCj4+Pj4+IHRoZSBjaXJjdWxhciBlbnF1 ZXVlIGJ1ZmZlciBoZWFkIGFuZCB0YWlsIGluZGV4IHBvaW50cyB0byB0aGUgc2FtZQ0KPj4+Pj4g ZWxlbWVudCAoaS5lLiwgdGhlIGJ1ZmZlciBpcyBmdWxsKSBhbmQgdGhlIGJ1ZmZlciBoYXMgd3Jh cHBlZC4NCj4+Pj4+DQo+Pj4+PiBUaGlzIGJ1ZyBtYXkgYmUgdHJpZ2dlcmVkIGluIGNhc2UgdGhl cmUgaXMgYmFja3ByZXNzdXJlIGZyb20gdGhlDQo+Pj4+PiBldmVudCBkZXZpY2UgdG8gdGhlIFJY IGFkYXB0ZXIuDQo+Pj4+Pg0KPj4+Pj4gRml4ZXM6IDgxMTNmZDE1ZTIyOSAoImV2ZW50ZGV2L2V0 aF9yeDogbWFrZSBlbnF1ZXVlIGJ1ZmZlcg0KPj4+Pj4gY2lyY3VsYXIiKQ0KPj4+Pj4gQ2M6IGdh bmFwYXRpLmt1bmRhcHVyYUBpbnRlbC5jb20NCj4+Pj4+IENjOiBzdGFibGVAZHBkay5vcmcNCj4+ Pj4gRGlzcmVnYXJkIHRoZSBzdGFibGUgY2MuIFRoaXMgYnVnIGRvZXMgbm90IGFwcGVhciBpbiBh bnkgcmVsZWFzZWQNCj4+Pj4gRFBESyB2ZXJzaW9uIChlLmcuLCAyMS4wOCkuDQo+Pj4+DQo+Pj4+ DQo+Pj4+PiBTaWduZWQtb2ZmLWJ5OiBNYXR0aWFzIFLDtm5uYmxvbSA8bWF0dGlhcy5yb25uYmxv bUBlcmljc3Nvbi5jb20+DQo+Pj4+PiAtLS0NCj4+Pj4+ICAgICBsaWIvZXZlbnRkZXYvcnRlX2V2 ZW50X2V0aF9yeF9hZGFwdGVyLmMgfCAyMiArKysrKysrKysrKysrKy0tLS0tLQ0KPj4gLS0NCj4+ Pj4+ICAgICAxIGZpbGUgY2hhbmdlZCwgMTQgaW5zZXJ0aW9ucygrKSwgOCBkZWxldGlvbnMoLSkN Cj4+Pj4+DQo+Pj4+PiBkaWZmIC0tZ2l0IGEvbGliL2V2ZW50ZGV2L3J0ZV9ldmVudF9ldGhfcnhf YWRhcHRlci5jDQo+Pj4+IGIvbGliL2V2ZW50ZGV2L3J0ZV9ldmVudF9ldGhfcnhfYWRhcHRlci5j DQo+Pj4+PiBpbmRleCA1NjMxOGI1YTZmLi44MDk0MTZkOWI3IDEwMDY0NA0KPj4+Pj4gLS0tIGEv bGliL2V2ZW50ZGV2L3J0ZV9ldmVudF9ldGhfcnhfYWRhcHRlci5jDQo+Pj4+PiArKysgYi9saWIv ZXZlbnRkZXYvcnRlX2V2ZW50X2V0aF9yeF9hZGFwdGVyLmMNCj4+Pj4+IEBAIC03NzcsMTkgKzc3 NywyNSBAQCByeGFfZmx1c2hfZXZlbnRfYnVmZmVyKHN0cnVjdA0KPj4+PiBldmVudF9ldGhfcnhf YWRhcHRlciAqcnhfYWRhcHRlciwNCj4+Pj4+ICAgICAJCSAgICAgICBzdHJ1Y3QgZXRoX2V2ZW50 X2VucXVldWVfYnVmZmVyICpidWYsDQo+Pj4+PiAgICAgCQkgICAgICAgc3RydWN0IHJ0ZV9ldmVu dF9ldGhfcnhfYWRhcHRlcl9zdGF0cyAqc3RhdHMpDQo+Pj4+PiAgICAgew0KPj4+Pj4gLQl1aW50 MTZfdCBjb3VudCA9IGJ1Zi0+bGFzdCA/IGJ1Zi0+bGFzdCAtIGJ1Zi0+aGVhZCA6IGJ1Zi0+Y291 bnQ7DQo+Pj4+PiArCXVpbnQxNl90IGNvdW50ID0gYnVmLT5jb3VudDsNCj4+Pj4+ICsJdWludDE2 X3QgbiA9IDA7DQo+Pj4+Pg0KPj4+Pj4gICAgIAlpZiAoIWNvdW50KQ0KPj4+Pj4gICAgIAkJcmV0 dXJuIDA7DQo+Pj4+Pg0KPj4+Pj4gLQl1aW50MTZfdCBuID0gcnRlX2V2ZW50X2VucXVldWVfbmV3 X2J1cnN0KHJ4X2FkYXB0ZXItDQo+Pj4+PiBldmVudGRldl9pZCwNCj4+Pj4+IC0JCQkJCXJ4X2Fk YXB0ZXItPmV2ZW50X3BvcnRfaWQsDQo+Pj4+PiAtCQkJCQkmYnVmLT5ldmVudHNbYnVmLT5oZWFk XSwNCj4+Pj4+IC0JCQkJCWNvdW50KTsNCj4+Pj4+IC0JaWYgKG4gIT0gY291bnQpDQo+Pj4+PiAt CQlzdGF0cy0+cnhfZW5xX3JldHJ5Kys7DQo+Pj4+PiArCWlmIChidWYtPmxhc3QpDQo+Pj4+PiAr CQljb3VudCA9IGJ1Zi0+bGFzdCAtIGJ1Zi0+aGVhZDsNCj4+Pj4+ICsNCj4+Pj4+ICsJaWYgKGNv dW50KSB7DQo+Pj4+PiArCQluID0gcnRlX2V2ZW50X2VucXVldWVfbmV3X2J1cnN0KHJ4X2FkYXB0 ZXItDQo+Pj4+PiBldmVudGRldl9pZCwNCj4+Pj4+ICsJCQkJCQlyeF9hZGFwdGVyLT5ldmVudF9w b3J0X2lkLA0KPj4+Pj4gKwkJCQkJCSZidWYtPmV2ZW50c1tidWYtPmhlYWRdLA0KPj4+Pj4gKwkJ CQkJCWNvdW50KTsNCj4+Pj4+ICsJCWlmIChuICE9IGNvdW50KQ0KPj4+Pj4gKwkJCXN0YXRzLT5y eF9lbnFfcmV0cnkrKzsNCj4+Pj4+DQo+Pj4+PiAtCWJ1Zi0+aGVhZCArPSBuOw0KPj4+Pj4gKwkJ YnVmLT5oZWFkICs9IG47DQo+Pj4+PiArCX0NCj4+Pj4+DQo+Pj4+PiAgICAgCWlmIChidWYtPmxh c3QgJiYgbiA9PSBjb3VudCkgew0KPj4+Pj4gICAgIAkJdWludDE2X3QgbjE7DQo+Pj4gV2hlbiBo ZWFkID0gdGFpbCwgY291bnQgaXMgdGhlIG51bWJlciBvZiBldmVudHMgaW4gdGhlIGV2ZW50IGJ1 ZmZlcg0KPj4+IGkuZSBjb3VudCA9IGJ1Zi0+Y291bnQgYW5kIGxhc3QgPSAwIExhc3QgaXMgdGhl IG1hcmtlciB1c2VkIGluIGNhc2Ugb2Ygcm9sbA0KPj4gb3Zlci4NCj4+PiBJbiBjYXNlIG9mIHRh aWwgcm9sbCBvdmVyIGFuZCBoZWFkIGlzIG5vdCwgZXZlbnRzIGFyZSBwcm9jZXNzZWQgZnJvbSBo ZWFkIHRvDQo+PiBsYXN0IGFuZCB6ZXJvIHRvIHRhaWwuDQo+Pj4gTG9va3MgbGlrZSBjaGFuZ2Ug aXMgc2FtZSBhcyB0aGUgb3JpZ2luYWwuDQo+Pj4gQ291bGQgeW91IHBsZWFzZSBjbGFyaWZ5IG1v cmUgb24gdGhpcyBjaGFuZ2UgYW5kIGFsc28gY2xhcmlmeSBpZiB5b3Ugd2VyZQ0KPj4gYWJsZSB0 byByZXByb2R1Y2UgdGhlIGJhY2twcmVzc3VyZSBpc3N1ZT8NCj4+DQo+Pg0KPj4gVGhlIGVucXVl dWUgYnVmZmVyIHN0YXRlIEkgZW5jb3VudGVyZWQgd2FzIGxhc3QgIT0gMCBhbmQgaGVhZCA9PSB0 YWlsLCBhbmQNCj4+IHNpemUgIT0gMC4gSW4gdGhhdCBjYXNlLCB0aGUgZnVuY3Rpb24gcmV0dXJu cyBlYXJseSwgc2luY2UgY291bnQgPT0gMCwgZXZlbg0KPj4gdGhvdWdoIHRoZXJlIGFyZSBldmVu dHMgc3RvcmVkIGZyb20gMCB0byB0YWlsLiBoZWFkLCB0YWlsLCBsYXN0IGFuZCBzaXplIHdlcmUg YWxsDQo+PiAxOTIsIGZyb20gd2hhdCBJIHJlbWVtYmVyLg0KPj4NCj4gaGVhZCA9PSB0YWlsIG9u bHkgaW4gY2FzZSBvZiBlbXB0eSBidWZmZXIoTm8gZXZlbnRzIGVucXVldWVkKSBhbmQgY291bnQg d2lsbCBiZSB6ZXJvLg0KPiBJbiBjYXNlIG9mIGV2ZW50IGJ1ZmZlciBpcyBmdWxsIGFuZCB0YWls IGlzIHJvbGxlZCBvdmVyLCB0YWlsIHdpbGwgYmUgYmVoaW5kIG9uZSBiYXRjaCBzaXplIGZyb20g aGVhZCwNCj4gaGVhZCBjYW5ub3QgYmUgZXF1YWwgdG8gdGFpbC4NCg0KDQpXaHkgZG8geW91IGhh dmUgYSBjb3VudCBmaWVsZCBpZiBpdCdzIG5vdCB0byBicmVhayBhbiBhbWJpZ3VpdHkgYWJvdXQg DQp0aGUgc3RhdGUgb2YgdGhlIGJ1ZmZlcj8gQW55d2F5LiBUaGlzIGZ1bmN0aW9uIGlzIGZyb20g dGhlIFJYIGFkYXB0ZXI6DQoNCg0Kc3RhdGljIGlubGluZSBib29sDQpyeGFfcGt0X2J1Zl9hdmFp bGFibGUoc3RydWN0IGV0aF9ldmVudF9lbnF1ZXVlX2J1ZmZlciAqYnVmKQ0Kew0KIMKgwqDCoMKg wqDCoMKgIHVpbnQzMl90IG5iX3JlcSA9IGJ1Zi0+dGFpbCArIEJBVENIX1NJWkU7DQoNCiDCoMKg wqDCoMKgwqDCoCBpZiAoIWJ1Zi0+bGFzdCkgew0KIMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoCBpZiAobmJfcmVxIDw9IGJ1Zi0+ZXZlbnRzX3NpemUpDQogwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCByZXR1cm4gdHJ1ZTsNCg0KIMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoCBpZiAoYnVmLT5oZWFkID49IEJBVENIX1NJWkUpIHsNCiDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGJ1Zi0+bGFzdF9tYXNr ID0gfjA7DQogwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBi dWYtPmxhc3QgPSBidWYtPnRhaWw7DQogwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoCBidWYtPnRhaWwgPSAwOw0KIMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqAgcmV0dXJuIHRydWU7DQogwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgIH0NCiDCoMKgwqDCoMKgwqDCoCB9DQoNCiDCoMKgwqDCoMKgwqDCoCByZXR1cm4g bmJfcmVxIDw9IGJ1Zi0+aGVhZDsNCn0NCg0KDQpuYl9yZXEgd2lsbCBwb3RlbnRpYWxseSBiZSB0 aGUgbmV3IHRhaWwsIHllcz8gU28gaWYgeW91IHdhbnQgdG8gYXZvaWQgDQpoZWFkID09IHRhaWws IHRoZW4gdGhlIGNvbXBhcmlzb24gc2hvdWxkIGJlICI8IiBub3QgIjw9Ii4gQWx0aG91Z2ggSSAN CmRvbid0IHNlZSB3aGF0J3MgdGhlIHByb2JsZW0gd2l0aCBoZWFkID09IHRhaWwsIGV4Y2VwdCB0 aGUgYnVnIGluIHRoZSANCmJ1ZmZlciBmbHVzaCBmdW5jdGlvbi4NCg0KDQo+DQo+IFBsZWFzZSBw cm92aWRlIGRldGFpbHMgb24gaXNzdWUgcmVwcm8uDQo+ICAgDQoNCg0KSSB3YXMgdXNpbmcgRFNX ICsgUlggYWRhcHRlciBmcm9tIERQREsgdjIxLjExcmMxIHdoZW4gSSBlbmNvdW50ZXJlZCB0aGlz IA0KaXNzdWUuDQoNCg0KPj4gRm9yIHJlYXNvbnMgSSBkaWRuJ3QgYW5hbHl6ZSwgaXQgb25seSBz ZWVtIHRvIG9jY3VyIHdoZW4gdGhlIGV2ZW50IHBvcnQncw0KPj4gZW5xdWV1ZSBidXJzdCBzaXpl IHdhcyBsYXJnZXIgdGhhbiAzMiAodGhlIFJYIGJ1cnN0IHVzZWQgYWdhaW5zdCB0aGUgUlgNCj4+ IGFkYXB0ZXIncyBldGhkZXYgcXVldWVzKSwgYW5kIHRoZXJlIHdhcyBiYWNrcHJlc3N1cmUgZnJv bSB0aGUgZXZlbnQNCj4+IGRldmljZS4NCj4+DQo+IEJ1cnN0IHNpemUgbGFyZ2VyIHRoYW4gMzIg aW1wbGllcywgQkFUQ0hfU0laRSBpcyBtb2RpZmllZC4NCj4gUGxlYXNlIHByb3ZpZGUgZGV0YWls cyB3aGF0IGFsbCB0aGUgY2hhbmdlcyBkb25lIGZvciBoaXR0aW5nIHRoZSBpc3N1ZS4NCg0KDQpU aGUgYnVyc3Qgc2l6ZSBhZ2FpbnN0IHRoZSBldmVudCBkZXZpY2UgY2FuIGJlIG11Y2ggbGFyZ2Vy IHRoYW4gMzIuIFRoZSANClJYIGFkYXB0ZXIgZG9lc24ndCBob25vciBhbnkgcGFydGljdWxhciBs aW1pdCB0aGVyZSAoZXhjZXB0IHRoZSBjaXJjdWxhciANCmJ1ZmZlciBzaXplKSwgYnV0IHRoZSBi dXJzdCBpbiBwcmFjdGljZSB3aWxsIGJlIG5vIGxvbmdlciB0aGFuIHRoZSANCmNvbmZpZ3VyZWQg ZXZlbnRkZXYgb3IgZXZlbnRkZXYgcG9ydCBlbnF1ZXVlIGJ1cnN0IGxpbWl0Lg0KDQoNCkkgZGlk bid0IGNoYW5nZSBhbnl0aGluZyB0byByZXByb2R1Y2UgdGhpcyBpc3N1ZS4NCg0KDQpUaGUgc2Ft ZSBzZXR1cCB3b3JrcyB3aXRoIHYyMS4wOCwgc28gaXQgZG9lcyBzZWVtIGxpa2UgYSByZWdyZXNz aW9uLg0KDQoNCg==