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 9A128A00C3; Tue, 20 Sep 2022 10:44:01 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 3A34E40DFB; Tue, 20 Sep 2022 10:44:01 +0200 (CEST) Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by mails.dpdk.org (Postfix) with ESMTP id 0EFDA4069B for ; Tue, 20 Sep 2022 10:43:58 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1663663439; x=1695199439; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=vxj/QJq6PSDc55ZXA9uHLYLGlyFijefD+rOLn3CXci8=; b=UCpTOmaMUBmBjvbkrkZwpzXrj3MA4c7RQIrKfilzTTvjKQRTPcR6AKUd R/did0BzVVHujjNC61r8lWQgePQ+pKk6+bRUZsd+qLajW4VEnmnBUwzxz wSdvzZmQ9itEKPOR/HIpi8t0b/+RyXdaoCFP7AQaZSteyXXWOq20wAjPd FxRVcYgchLxPxjmxR5cxe41XJbHo7D3r7YsrKNW1jm0K5qG1apKmWyYOL FEVIzMXEL+gXo+c4siQ5w27nEusXuENO9dCJPnsD5ZAOrLd5t4SmlgGjo kDs8wGR8lr32Tgj5HXR9MgXAN95CwHcd7QTQRR7wTAbhdMNg1vHLVqdHN w==; X-IronPort-AV: E=McAfee;i="6500,9779,10475"; a="301014973" X-IronPort-AV: E=Sophos;i="5.93,330,1654585200"; d="scan'208";a="301014973" Received: from orsmga004.jf.intel.com ([10.7.209.38]) by orsmga103.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 20 Sep 2022 01:43:53 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.93,330,1654585200"; d="scan'208";a="744441159" Received: from orsmsx603.amr.corp.intel.com ([10.22.229.16]) by orsmga004.jf.intel.com with ESMTP; 20 Sep 2022 01:43:53 -0700 Received: from orsmsx611.amr.corp.intel.com (10.22.229.24) by ORSMSX603.amr.corp.intel.com (10.22.229.16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.31; Tue, 20 Sep 2022 01:43:52 -0700 Received: from orsmsx607.amr.corp.intel.com (10.22.229.20) by ORSMSX611.amr.corp.intel.com (10.22.229.24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.31; Tue, 20 Sep 2022 01:43:52 -0700 Received: from orsedg603.ED.cps.intel.com (10.7.248.4) by orsmsx607.amr.corp.intel.com (10.22.229.20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.31 via Frontend Transport; Tue, 20 Sep 2022 01:43:52 -0700 Received: from NAM10-BN7-obe.outbound.protection.outlook.com (104.47.70.108) by edgegateway.intel.com (134.134.137.100) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2375.31; Tue, 20 Sep 2022 01:43:51 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=gCd+NdN2gfWvXa539rOOv2WG+gVhGB7OZzeS56bpmxmR0JvxqWKH3KrdaOoK3ihs5+5aBg1KwFtUEtS1fdyIklRqx7UbAQlOxtVfM/OCtbfsdiiX/qWZgaBNLwEDj1JP5xjmdrLgBlZTzBo/oAvt6e4/34H4yneuqEtgHBpNeGb8+mAJCb7o3olzDhe1uaOqKmmjmjLRDeU1y43qMY/Iubyf0duph+dpO4aOuXfEvgOrTzaTksSLyFlj2rSH1V3jCEz5GE7PncH5X63zM84mbwqn6i4jZYy8q3LHzSXvaSBa6WOqGq3DagH8PSLpvpolMADE1POUkqwK5C9Uui6c4A== 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=vxj/QJq6PSDc55ZXA9uHLYLGlyFijefD+rOLn3CXci8=; b=lLFZSZzwPg4Pv75VzywDUUzmI/Jtfuu2SD/IZhjazWsq9WXh3f1Alr2xYjAqCPFPqkb5MRPhEpgeRXkC5pKMCNRyhUY4tWY2EHF1auBe7cEvpxQafYBcXSucqS+M+Fc5TViv2oN+RhbEwCgg1RQUYnxp2q26d6REzPU/D9NdhJ08sxroI+pVURArNVBSrPj3FM7LWNTW6GxHCjKmqmuHyAelFmfJc8VCW3edheB/8conb+jBQB4FAG4eQjJAWRGKJtcOa4y9uD+sditJRpGAqD881KspVj0gYMpk/1goAL8fNbCYi8dEPIzTTXX4SwrInvsit2TNWO1aV91yw4zA7Q== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none Received: from PH0PR11MB5093.namprd11.prod.outlook.com (2603:10b6:510:3e::23) by DM4PR11MB7349.namprd11.prod.outlook.com (2603:10b6:8:106::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5632.19; Tue, 20 Sep 2022 08:43:49 +0000 Received: from PH0PR11MB5093.namprd11.prod.outlook.com ([fe80::d5ee:238c:c9e8:788b]) by PH0PR11MB5093.namprd11.prod.outlook.com ([fe80::d5ee:238c:c9e8:788b%6]) with mapi id 15.20.5632.021; Tue, 20 Sep 2022 08:43:49 +0000 From: "Liu, Changpeng" To: Maxime Coquelin , "dev@dpdk.org" CC: "Xia, Chenbo" Subject: RE: [PATCH] vhost: use try_lock in rte_vhost_vring_call Thread-Topic: [PATCH] vhost: use try_lock in rte_vhost_vring_call Thread-Index: AQHYwZeRjf3mjtMrEkOd0Zp5P1Nw9a3n/2SAgAABQgCAAAMEAIAAAn+QgAAILoCAAAC10A== Date: Tue, 20 Sep 2022 08:43:49 +0000 Message-ID: References: <20220906022225.17215-1-changpeng.liu@intel.com> <2a63f996-84f4-434f-1b19-5dd035870e9d@redhat.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-product: dlpe-windows dlp-version: 11.6.500.17 dlp-reaction: no-action authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: PH0PR11MB5093:EE_|DM4PR11MB7349:EE_ x-ms-office365-filtering-correlation-id: 7487c920-b8fb-4fa2-00b2-08da9ae43d23 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: GjGL6kKDXQXUBEbDLfWom5sw+jIvU55jzGmWj0Srqs5XHy03v1hIySuqol6ILJHWvHr6S0EhWFuGsGB+/1Jv87XoCgLR2uIu67ZwPRnhCkCiiMVUZITOP1/6LbqkXx4aqOtvCgT4+vylj5YyO4nPZniX9R752Xyon+af0IwEOM/+/zqvf9ar3wlqJUUOZrWfZSRjZQIAIuYC6u2O6b2N9Ih+LuOyq61uBYYD94sPt0sSSxGHojx9r1gEtjl/aKAgTIfGhi0VNPLUjZnhWd6LvDwkxyxsLrUqVNpq9BIumpziUeByF+AU4PwuIsCW2kh5ocAUYa/zC9u82xP7UFZXsTftlLJO4rVgjP+5YxakVo8hYgr+zMgTGKTEqiNmS5b59s88rZfNTQ/Baf7DsCwNQMDtRgYC5ha1qj+ELiBLAbvGEpfGOQhqkdNJKrC+IRqPIfJiFyxBqAgCnIRivXw5sjrnNkIUeeA6sEAHhKJFWvevOHi2jGrrc0a8KNLLiEtQg+ZL4xD2EzooHWCOFv+YB613Jz4r5/rALGCx2ESPipU+HDPttdPw92pWzJm1qg1H+2sKW3Br11YWmvKeAZQpDzRLuSxUEQbs+UA04xs6Z8vnYOFgvveGDo3WtLG1syJXcktjnmxE5BicvNuAD6KkbyM+/R13jh2v5xtEyBdcqemI5wlL+VPj+t8/KRexbLuzdNVLC5j4VQmVwpWR+Nwvsyd1s9KExqc415BkRwToawfHMfny5wy17I3VM92q8RfoLwpJfhpjhZHZOwkM4y/dUg== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:PH0PR11MB5093.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230022)(346002)(396003)(39860400002)(136003)(376002)(366004)(451199015)(9686003)(38100700002)(26005)(122000001)(82960400001)(38070700005)(55016003)(6506007)(8676002)(33656002)(107886003)(76116006)(4326008)(64756008)(2906002)(41300700001)(53546011)(7696005)(86362001)(5660300002)(186003)(71200400001)(66446008)(8936002)(110136005)(316002)(66556008)(66476007)(66946007)(478600001)(83380400001)(52536014); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?U3RSU1FYRXJ4bm1VRjdSaHRWK2JnSEl5RHpYdVpTQkRXNFJKd1p1SWRrcnVm?= =?utf-8?B?WWJLMDNlYTJhbXk2MmorbjVCbzFEdUFyTjRSS3VBcW1VUW1vU2NqSHZiSE9r?= =?utf-8?B?WTlDa1dkOE83QWs4aW9EVlBiM1ZRRGNrUk5yOGNSN3lnUVY3aHpxOHdadWxM?= =?utf-8?B?MlQ5SWlsZzl1WC9pOCtYOVdreW5scmhwQm4wWGhpNlVDOENQRmQydjN3T3dz?= =?utf-8?B?TFVjMFd1NTVZK0V1VnduNU9QbjFuc0VSWEVMcVJxV0ZHYUdCdFBPYWlrbG84?= =?utf-8?B?TThQanFoZjRsN1U0UzZEWnBoU1QzbUhyazNMTE44QnV4ZjhkSWlzYnBCNGNY?= =?utf-8?B?d0ZVN2djUS85LzMyRmtlMmgzb0xFaU5QcHRYUDVzdmdwVDV2eGdTa1J1d1dj?= =?utf-8?B?V1VMdWdEdkxLS25DZkJCc3c1UWZWakU2aWdxdnFlTUZRaGRWbE4wNVdhVEVP?= =?utf-8?B?VlJtTERzL2RIRXFUR2VwTXFDZXZ1VG1vbTNteWlYUVoyN0ZvbTRwVEVUMisz?= =?utf-8?B?dUltMDZ4TWt0ZFRIcUZsZG5sTFVPRzN0elIrVlRZLzE2bWI2WEw4QVhWVE5C?= =?utf-8?B?SStxZjZFZnQrNHk5MzdIK2VTbVlubTVHQkoyUC84d2FnWFlDVDFwZWFicmcv?= =?utf-8?B?ZFgvZm1DNU5wVlBIdmZzKy9UZlNIZExhczFlaytRcm9FRmJYNlp0bEl2NEoy?= =?utf-8?B?bGsxU01makViM05tZTdwTU1KNnZGNnJqaUx1bXF1Uk82L09zUDhQUzcxaW5j?= =?utf-8?B?SldncjZUREwzcnEwT3Y3M3cwaGxsbmwzT0dVaXlwM0xISUkvMm1BMlZrT3px?= =?utf-8?B?bmhxRkNoay9uOVpJOStXRFZKeWJ0TmV6TGFQTUZJaUVsdWpFVE1sWnVxcnpy?= =?utf-8?B?L0w2TnpMcHdoWFRuc1QxUERnVlozVHBHRHdsaXNGTGhSWW5OT0ttMkR2TUE1?= =?utf-8?B?ajBGVTZCVDh0Y1MwNktlT3htUGFIN0d6aFpRK2tsbHNNbFNzdG5UMGk5TktN?= =?utf-8?B?TU5HaHhkUm8weFF0dmdsT004Q2hqUnBwbU9zYWErNkZTbnM5TUFmbVhhK3Y1?= =?utf-8?B?TGJnemdVbk1RSS9BaFVlcHhocklsZDRESm5HOXp3RzE5YXJQWEQrc2VUNlBL?= =?utf-8?B?TmRDeGZzbmFDTzc2VlBzaVpmQUxGSXUrUEErT1U4MmJNVExFcjEwS0tnbVBv?= =?utf-8?B?VEVIVUJGRDd4azRQUlNkZ0hRMFEwcjNUMkQzRFFibHcwSDQ2aGhJUmJjRGw0?= =?utf-8?B?dGFHT0w3QjIyUmROQkxJTHVIZ0VqM1JDMWpXckJ0cDhFV2o0VVhmdWlUZWZJ?= =?utf-8?B?bkVoK1oxZkRhQllyQjNzNUttMG9UbEJLNjB1Q2RLOTU0RHY5L0NlaEF5eFM1?= =?utf-8?B?TmppS1VRenZnVUlJNkpOQlYzcUNFUlprNjc3d1FvdGZHbUlKZ1B6MlZTOFFS?= =?utf-8?B?Vms0MVpueXJYREJFYmdNdkpPT20rSnEwSEF4cURHd3UzZU42bTJya1dVNlc0?= =?utf-8?B?TTMxd1RLVFBXdllSd2xjSEZsMDBlY2ZDSWo0cWVuOE5FSGRqbTE5eUVaOGg0?= =?utf-8?B?NlMzd3RvK2hUbDN2cjlVSVFSZzg3VURtLy82RzJ2SDlzZlpNaVVlWWVpSFk3?= =?utf-8?B?Sk53MndmaWl3Vkt2MlE4S2RWRitFSjNPcGR4Y01MeEV4STRpcS82RmhTOFY5?= =?utf-8?B?ZGxaNDgyOTF5T1hITXpRSG5Jdnk3a3FHV1pweXAvQlAwU2c4NVRFb25tZk0x?= =?utf-8?B?eVpmeDJvTW5tSjRKTjNIKzZuL0Nlb1FhOTBndGQvRExkTFdNWEY2NUhNQk01?= =?utf-8?B?d3pSaHZ2KzFSQy9HRnBudHROa3JpVkxuQ2pHZkViU0hqQ1JPMmFSclVvc3V3?= =?utf-8?B?dDA3TWhHWk5EUEUwcm5ZWmljK1BFU1M2alN6YWZ6eFNpWHFSa29zOFkvRXdn?= =?utf-8?B?dGVkVFBPYXZyUWZmWERYSmxMcUovT2FIeG5RVUl0V1doNlROVlhIaGZqVis1?= =?utf-8?B?WTZCRWtqS2E2MEcvOXBTQUh4a0pHL0N3YVpGQ1hPRHdlNnZKZkZza1B1dFgr?= =?utf-8?B?WjMyaGtFUm9SM0pjQUx4U21OM1ptaGhpeGE4ZFp0dTNSTW9UK0RzY1ZubkdK?= =?utf-8?Q?V3inFsn8EvPir+dG4WzMMP5OP?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: PH0PR11MB5093.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 7487c920-b8fb-4fa2-00b2-08da9ae43d23 X-MS-Exchange-CrossTenant-originalarrivaltime: 20 Sep 2022 08:43:49.4959 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: ii4abxB/NsbXap9hU/16LjxPb8CS1a/+tuMrsl35ToceKAxR/5lNpp6osIenffsjzLjUJPY4/gSBdA5T4GW4HA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR11MB7349 X-OriginatorOrg: intel.com 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 DQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogTWF4aW1lIENvcXVlbGlu IDxtYXhpbWUuY29xdWVsaW5AcmVkaGF0LmNvbT4NCj4gU2VudDogVHVlc2RheSwgU2VwdGVtYmVy IDIwLCAyMDIyIDQ6MTMgUE0NCj4gVG86IExpdSwgQ2hhbmdwZW5nIDxjaGFuZ3BlbmcubGl1QGlu dGVsLmNvbT47IGRldkBkcGRrLm9yZw0KPiBDYzogWGlhLCBDaGVuYm8gPGNoZW5iby54aWFAaW50 ZWwuY29tPg0KPiBTdWJqZWN0OiBSZTogW1BBVENIXSB2aG9zdDogdXNlIHRyeV9sb2NrIGluIHJ0 ZV92aG9zdF92cmluZ19jYWxsDQo+IA0KPiANCj4gDQo+IE9uIDkvMjAvMjIgMDk6NDUsIExpdSwg Q2hhbmdwZW5nIHdyb3RlOg0KPiA+DQo+ID4NCj4gPj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0t LS0NCj4gPj4gRnJvbTogTWF4aW1lIENvcXVlbGluIDxtYXhpbWUuY29xdWVsaW5AcmVkaGF0LmNv bT4NCj4gPj4gU2VudDogVHVlc2RheSwgU2VwdGVtYmVyIDIwLCAyMDIyIDM6MzUgUE0NCj4gPj4g VG86IExpdSwgQ2hhbmdwZW5nIDxjaGFuZ3BlbmcubGl1QGludGVsLmNvbT47IGRldkBkcGRrLm9y Zw0KPiA+PiBDYzogWGlhLCBDaGVuYm8gPGNoZW5iby54aWFAaW50ZWwuY29tPg0KPiA+PiBTdWJq ZWN0OiBSZTogW1BBVENIXSB2aG9zdDogdXNlIHRyeV9sb2NrIGluIHJ0ZV92aG9zdF92cmluZ19j YWxsDQo+ID4+DQo+ID4+DQo+ID4+DQo+ID4+IE9uIDkvMjAvMjIgMDk6MjksIExpdSwgQ2hhbmdw ZW5nIHdyb3RlOg0KPiA+Pj4gSGkgTWF4aW1lLA0KPiA+Pj4NCj4gPj4+PiAtLS0tLU9yaWdpbmFs IE1lc3NhZ2UtLS0tLQ0KPiA+Pj4+IEZyb206IE1heGltZSBDb3F1ZWxpbiA8bWF4aW1lLmNvcXVl bGluQHJlZGhhdC5jb20+DQo+ID4+Pj4gU2VudDogVHVlc2RheSwgU2VwdGVtYmVyIDIwLCAyMDIy IDM6MTkgUE0NCj4gPj4+PiBUbzogTGl1LCBDaGFuZ3BlbmcgPGNoYW5ncGVuZy5saXVAaW50ZWwu Y29tPjsgZGV2QGRwZGsub3JnDQo+ID4+Pj4gQ2M6IFhpYSwgQ2hlbmJvIDxjaGVuYm8ueGlhQGlu dGVsLmNvbT4NCj4gPj4+PiBTdWJqZWN0OiBSZTogW1BBVENIXSB2aG9zdDogdXNlIHRyeV9sb2Nr IGluIHJ0ZV92aG9zdF92cmluZ19jYWxsDQo+ID4+Pj4NCj4gPj4+Pg0KPiA+Pj4+DQo+ID4+Pj4g T24gOS82LzIyIDA0OjIyLCBDaGFuZ3BlbmcgTGl1IHdyb3RlOg0KPiA+Pj4+PiBOb3RlIHRoYXQg dGhpcyBmdW5jdGlvbiBpcyBpbiBkYXRhIHBhdGgsIHNvIHRoZSB0aHJlYWQgY29udGV4dA0KPiA+ Pj4+PiBtYXkgbm90IHNhbWUgYXMgc29ja2V0IG1lc3NhZ2VzIHByb2Nlc3NpbmcgY29udGV4dCwg YnkgdXNpbmcNCj4gPj4+Pj4gdHJ5X2xvY2sgaGVyZSwgdXNlcnMgY2FuIGhhdmUgYW5vdGhlciB0 cnkgaW4gY2FzZSBvZiBWUSdzIGFjY2Vzcw0KPiA+Pj4+PiBsb2NrIGlzIGhlbGQgYnkgYHZob3N0 LWV2ZW50c2AgdGhyZWFkLg0KPiA+Pj4+Pg0KPiA+Pj4+PiBTaWduZWQtb2ZmLWJ5OiBDaGFuZ3Bl bmcgTGl1IDxjaGFuZ3BlbmcubGl1QGludGVsLmNvbT4NCj4gPj4+Pj4gLS0tDQo+ID4+Pj4+ICAg ICBsaWIvdmhvc3Qvdmhvc3QuYyB8IDYgKysrKystDQo+ID4+Pj4+ICAgICAxIGZpbGUgY2hhbmdl ZCwgNSBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pDQo+ID4+Pj4+DQo+ID4+Pj4+IGRpZmYg LS1naXQgYS9saWIvdmhvc3Qvdmhvc3QuYyBiL2xpYi92aG9zdC92aG9zdC5jDQo+ID4+Pj4+IGlu ZGV4IDYwY2IwNWEwZmYuLjA3MmQyYWNiN2IgMTAwNjQ0DQo+ID4+Pj4+IC0tLSBhL2xpYi92aG9z dC92aG9zdC5jDQo+ID4+Pj4+ICsrKyBiL2xpYi92aG9zdC92aG9zdC5jDQo+ID4+Pj4+IEBAIC0x MzI5LDcgKzEzMjksMTEgQEAgcnRlX3Zob3N0X3ZyaW5nX2NhbGwoaW50IHZpZCwgdWludDE2X3Qg dnJpbmdfaWR4KQ0KPiA+Pj4+PiAgICAgCWlmICghdnEpDQo+ID4+Pj4+ICAgICAJCXJldHVybiAt MTsNCj4gPj4+Pj4NCj4gPj4+Pj4gLQlydGVfc3BpbmxvY2tfbG9jaygmdnEtPmFjY2Vzc19sb2Nr KTsNCj4gPj4+Pj4gKwlpZiAoIXJ0ZV9zcGlubG9ja190cnlsb2NrKCZ2cS0+YWNjZXNzX2xvY2sp KSB7DQo+ID4+Pj4+ICsJCVZIT1NUX0xPR19DT05GSUcoZGV2LT5pZm5hbWUsIERFQlVHLA0KPiA+ Pj4+PiArCQkJImZhaWxlZCB0byBraWNrIGd1ZXN0LCB2aXJ0cXVldWUgYnVzeS5cbiIpOw0KPiA+ Pj4+PiArCQlyZXR1cm4gLTE7DQo+ID4+Pj4+ICsJfQ0KPiA+Pj4+Pg0KPiA+Pj4+PiAgICAgCWlm ICh2cV9pc19wYWNrZWQoZGV2KSkNCj4gPj4+Pj4gICAgIAkJdmhvc3RfdnJpbmdfY2FsbF9wYWNr ZWQoZGV2LCB2cSk7DQo+ID4+Pj4NCj4gPj4+PiBJIHRoaW5rIHRoYXQncyBwcm9ibGVtYXRpYywg YmVjYXVzZSBpdCB3aWxsIGJyZWFrIG90aGVyIGFwcGxpY2F0aW9ucw0KPiA+Pj4+IHRoYXQgY3Vy cmVudGx5IHJlbHkgb24gdGhlIEFQSSB0byBibG9jayB1bnRpbCB0aGUgY2FsbCBpcyBkb25lLg0K PiA+Pj4+DQo+ID4+Pj4gSnVzdCBzb21lIGludGVybmFsIERQREsgdXNhZ2Ugb2YgdGhpcyBBUEk6 DQo+ID4+Pj4gLi9kcml2ZXJzL3ZkcGEvaWZjL2lmY3ZmX3ZkcGEuYzo4NzE6CXJ0ZV92aG9zdF92 cmluZ19jYWxsKGludGVybmFsLT52aWQsDQo+ID4+Pj4gcWlkKTsNCj4gPj4+PiAuL2V4YW1wbGVz L3Zob3N0L3ZpcnRpb19uZXQuYzoyMzY6CXJ0ZV92aG9zdF92cmluZ19jYWxsKGRldi0+dmlkLA0K PiBxdWV1ZV9pZCk7DQo+ID4+Pj4gLi9leGFtcGxlcy92aG9zdC92aXJ0aW9fbmV0LmM6NDQ2Ogly dGVfdmhvc3RfdnJpbmdfY2FsbChkZXYtPnZpZCwNCj4gcXVldWVfaWQpOw0KPiA+Pj4+IC4vZXhh bXBsZXMvdmhvc3RfYmxrL3Zob3N0X2Jsay5jOjk5Og0KPiA+Pj4+IHJ0ZV92aG9zdF92cmluZ19j YWxsKHRhc2stPmN0cmxyLT52aWQsIHZxLT5pZCk7DQo+ID4+Pj4gLi9leGFtcGxlcy92aG9zdF9i bGsvdmhvc3RfYmxrLmM6MTM0Og0KPiA+Pj4+IHJ0ZV92aG9zdF92cmluZ19jYWxsKHRhc2stPmN0 cmxyLT52aWQsIHZxLT5pZCk7DQo+ID4+Pj4NCj4gPj4+PiBUaGlzIGNoYW5nZSB3aWxsIGJyZWFr IGFsbCB0aGUgYWJvdmUgdXNlcy4NCj4gPj4+Pg0KPiA+Pj4+IEFuZCB0aGF0J3Mgbm90IGNvdW50 aW5nIGV4dGVybmFsIHByb2plY3RzLg0KPiA+Pj4+DQo+ID4+Pj4gb3Ugc2hvdWxkIGJldHRlciBp bnRyb2R1Y2UgYSBuZXcgQVBJIHRoYXQgZG9lcyBub3QgYmxvY2suDQo+ID4+PiBDb3VsZCB5b3Ug YWRkIGEgbmV3IEFQSSB0byBkbyB0aGlzPw0KPiA+PiAgID4NCj4gPj4+IEkgdGhpbmsgd2UgY2Fu IHVzZSB0aGUgbmV3IEFQSSBpbiBTUERLIGFzIGEgd29ya2Fyb3VuZCwgbm90ZSB0aGF0IFNQREsN Cj4gcHJvamVjdA0KPiA+PiBpcyBibG9ja2VkIGZvcg0KPiA+Pj4gYSB3aGlsZSB3aGljaCBjYW4n dCBiZSB1c2VkIHdpdGggRFBESyAyMi4wNSBvciBuZXdlci4NCj4gPj4NCj4gPj4gRFBESyB2MjIu MDU/DQo+ID4+IFdoYXQgaXMgdGhlIGNvbW1pdCBpbnRyb2R1Y2luZyB0aGUgcmVncmVzc2lvbj8N Cj4gPiBIZXJlIGlzIHRoZSBjb21taXQgaW50cm9kdWNpbmcgdGhpcyBpc3N1ZQ0KPiA+IGM1NzM2 OTk4MzA1ZCAoInZob3N0OiBmaXggbWlzc2luZyB2aXJ0cXVldWUgbG9jayBwcm90ZWN0aW9uIikN Cj4gPiBCdWd6aWxsYSBJRDogMTAxNQ0KPiANCj4gT2ssIGl0IGNhbm5vdCBiZSByZXZlcnRlZCwg YXMgaXQgcHJldmVudHMgc29tZSB1bmRlZmluZWQNCj4gYmVoYXZpb3JzL2NyYXNoZXMuDQo+IA0K PiA+Pg0KPiA+PiBOb3RlIHRoYXQgaWYgd2UgaW50cm9kdWNlIGEgbmV3IEFQSSwgaXQgd29uJ3Qg YmUgYmFja3BvcnRlZCB0byBzdGFibGUNCj4gPj4gYnJhbmNoZXMuDQo+ID4gSSB1bmRlcnN0YW5k LCBidXQgZG8gd2UgaGF2ZSBiZXR0ZXIgaWRlYSBpbiBzaG9ydCB0aW1lPyB3ZSdyZSBwbGFubmlu Zw0KPiA+IHRvIHJlbGVhc2UgU1BESyAyMi4wOSByZWNlbnRseS4NCj4gDQo+IFlvdSBjYW4gaGF2 ZSBhbm90aGVyIHRocmVhZCB0aGF0IHNlbmRzIHRoZSBjYWxsPw0KV2UgYWxyZWFkeSB1c2UgdHdv IHRocmVhZHMgdG8gZG8gdGhpcy4gSGVyZSBpcyB0aGUgZXhhbXBsZSBmb3IgZXhpc3RpbmcgY29k ZSBpbiBTUERLOg0KDQpEUERLIHZob3N0LWV2ZW50cyB0aHJlYWQgICAgICAgICAgICAgICAgICAg ICAgICBTUERLIHRocmVhZA0KDQogICAgU0VUX1ZSSU5HX0tJQ0sgVlExICAgICAgIC0tLS0+ICAg ICAgICAgICAgU3RhcnQgcG9sbGluZyBWUTENCiAgICBSZXBseSB0byBEUERLICAgICAgICAgICAg ICAgICAgICA8LS0tLSAgICAgICAgICAgICAgRG9uZQ0KICAgIFNFVF9WUklOR19LSUNLIFZRMiAg ICAgICAtLS0tPiAgICAgICAgICAgIHRocmVhZCBpcyBibG9ja2VkIG9uIFZRJ3MgYWNjZXNzIGxv Y2ssIFNQREsgdGhyZWFkIGNhbid0IHByb3ZpZGUgcmVwbHkgbWVzc2FnZSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICANCiANCkZvciBleGFtcGxlLCB3ZSBjYW4ganVzdCByZXR1cm4gZm9y ICBTRVRfVlJJTkdfS0lDSyBWUTIgbWVzc2FnZSB3aXRob3V0IGNoZWNraW5nIFNQREsgdGhyZWFk LCBidXQgdGhpcyBsZWF2ZQ0KdW5jZXJ0YWluIHJlcGxpZXMgdG8gVk0uDQo+IA0KPiA+Pg0KPiA+ Pg0KPiA+Pj4gVmhvc3QtYmxrIGFuZCBzY3NpIGRldmljZXMgYXJlIG5vdCBzYW1lIHdpdGggdmhv c3QtbmV0LCB3ZSBuZWVkIHRvIGNvdmVyDQo+ID4+IFNlYUJJT1MgYW5kIFZNDQo+ID4+PiBjYXNl cywgc28gd2UgbmVlZCB0byBzdGFydCBwcm9jZXNzaW5nIHZyaW5ncyBhZnRlciAxIHZyaW5nIGlz IHJlYWR5Lg0KPiA+Pj4+DQo+ID4+Pj4gUmVnYXJkcywNCj4gPj4+PiBNYXhpbWUNCj4gPj4+DQo+ ID4NCg0K