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 33918A0C4B; Fri, 16 Jul 2021 08:54:20 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id DB1824014D; Fri, 16 Jul 2021 08:54:19 +0200 (CEST) Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by mails.dpdk.org (Postfix) with ESMTP id 8641B40143 for ; Fri, 16 Jul 2021 08:54:18 +0200 (CEST) X-IronPort-AV: E=McAfee;i="6200,9189,10046"; a="210732343" X-IronPort-AV: E=Sophos;i="5.84,244,1620716400"; d="scan'208";a="210732343" Received: from orsmga006.jf.intel.com ([10.7.209.51]) by orsmga103.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 15 Jul 2021 23:54:17 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.84,244,1620716400"; d="scan'208";a="413379903" Received: from fmsmsx601.amr.corp.intel.com ([10.18.126.81]) by orsmga006.jf.intel.com with ESMTP; 15 Jul 2021 23:54:17 -0700 Received: from fmsmsx607.amr.corp.intel.com (10.18.126.87) by fmsmsx601.amr.corp.intel.com (10.18.126.81) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.10; Thu, 15 Jul 2021 23:54:16 -0700 Received: from fmsmsx610.amr.corp.intel.com (10.18.126.90) by fmsmsx607.amr.corp.intel.com (10.18.126.87) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.10; Thu, 15 Jul 2021 23:54:16 -0700 Received: from fmsedg602.ED.cps.intel.com (10.1.192.136) by fmsmsx610.amr.corp.intel.com (10.18.126.90) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.10 via Frontend Transport; Thu, 15 Jul 2021 23:54:16 -0700 Received: from NAM10-MW2-obe.outbound.protection.outlook.com (104.47.55.105) by edgegateway.intel.com (192.55.55.71) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2242.10; Thu, 15 Jul 2021 23:54:15 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=LOpOP/1uQLLa/Iez5LiEohxxe09vXXyXYnt2uQD6oSmn9lMhG27Ec6jEXq2O5dDVjzYUMfUp7jsj3ZM7LwEPzyZXIGzAmUoWgmuwYcabScIRNmpONarN/TENM5LlZIFTR+NSdKjSM0zxRsA00AXc2zngALz7BCzzwmujTvMzo/7DeY3nY+q6DNR8c8yfUJ26XSDXgNRVYCHsd7e06tmb+vIZY9BfVZrAlPDH/+0QR8LVNGJHEX9YZG3GWZ+tKb6NG1YBR3gYGouHykpIvOJC94msUInVk0Dub7X7jLxLwAECJdYlixgLkHZbh5xTbeG9po5ps2pZHP2dmTjcKIcXeQ== 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=hSM+EFqukO3vDI00ud7Vp68RRX0vqhUfXPP6FWMt6nY=; b=MxCZDcn5lPldusQYdLtR4xZzlnyxNKTpNr65VIderq7GcvhcPb2xQW2QaeEoNgqJWbXLvdTTKxJ0CFXTRh9rxFdcCxOwCRjRNfXFjLCwoqRhZP+NOSDbWHoqooVSglraULnqUV0lkLnlh8oZ0LItv7YcTJm0dDQcqXWozvHI+tqb0aUBXtJemcG9K+FIuBfj0NyFfDYvnDFGr60gpq6l+BIZk0nfNd1piSVqORzNklylrIuu5OcPEIkwmOpzRe9uCGN8J0XisLCzD40z4UdeFOXCBpmy9+V+GoLRB1ZD+oJo9Y9jNh1IAWvw1s16Gp3FI5pYTdI+1wcpi9Q7mb93vw== 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 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=intel.onmicrosoft.com; s=selector2-intel-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=hSM+EFqukO3vDI00ud7Vp68RRX0vqhUfXPP6FWMt6nY=; b=UO+xBR5CovgiQx0PxZ0ybzJPNa6tFpXq++ELjsX434giURYifis9W+NTn8fdFaSJcPpUJcpWcSKcNAHuGJxvfUQd6Pqx65YEv15x6EKyYF9QnekE2jVQLz9GUZLXG3vPhpb4rxBOVBJGw3YMK3+jWF6dTPvR6vX2n6F0FqctSlQ= Received: from MN2PR11MB4063.namprd11.prod.outlook.com (2603:10b6:208:13f::22) by MN2PR11MB4064.namprd11.prod.outlook.com (2603:10b6:208:137::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4331.23; Fri, 16 Jul 2021 06:54:12 +0000 Received: from MN2PR11MB4063.namprd11.prod.outlook.com ([fe80::d447:3a7a:aad7:4d32]) by MN2PR11MB4063.namprd11.prod.outlook.com ([fe80::d447:3a7a:aad7:4d32%7]) with mapi id 15.20.4308.028; Fri, 16 Jul 2021 06:54:11 +0000 From: "Xia, Chenbo" To: "Hu, Jiayu" , "dev@dpdk.org" CC: "maxime.coquelin@redhat.com" Thread-Topic: [PATCH v4 3/3] vhost: add thread unsafe async registeration functions Thread-Index: AQHXd4VbBBQ/PM9QxkahSezbod1WDKtFIeIA Date: Fri, 16 Jul 2021 06:54:11 +0000 Message-ID: References: <1625823790-91995-2-git-send-email-jiayu.hu@intel.com> <1626162383-89674-1-git-send-email-jiayu.hu@intel.com> <1626162383-89674-4-git-send-email-jiayu.hu@intel.com> In-Reply-To: <1626162383-89674-4-git-send-email-jiayu.hu@intel.com> Accept-Language: en-US, zh-CN Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: intel.com; dkim=none (message not signed) header.d=none;intel.com; dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: fba56ecc-fc70-4dc9-aef3-08d948268472 x-ms-traffictypediagnostic: MN2PR11MB4064: x-ld-processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:5516; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: ZWwvstj/ZyC1y/UNAH3YAVZlQoascTRK7xAUXVjxWL2brnGK0WJ3XKYGVqFKzi7I/QVIWnAuQ6+lNHM4nN+QFTnv6D/n2bRTzHAsw3TjxRc5UChDfQK72sUigX5Ym+w/EQ2LBETR4tlxrf3VHzlHkYOjSj+/ATwZ90xs6hxy2BYyRn+JLD8g4AQYZnqeXAY3rTysa6H5tbJzb71M+wic/dKGPKBqi1I4dKgfiMxPyAm9nnIHeVvBSNsSUeDSSChTwvStLjc0WPs5RHPyuYppwGYVa9dOielZZA1B/pJFsz/UQGAgCUus7mdVtySw3lj7K1C9cDajxWb0/wobGe+y2WPzPCTTLNkX074QDTSMqWvjoLziNWhYTUyLjjU4iOPpLfBVMfooQkysM69/QrXv8ZeNYO4JW1R6jLqacSI+wwkMHpucvlvOPL8xi4UZDLnLh6bRQck/i8P4xZ3c97Kg4ON8tUzl1UeRK1OgbLNW/i8JxZck5qE7qaViBsSR4MwytxiTbK24DVat3qeOlKxW+iC0G9kU5kVXTGiI5VB57JWuvJX8QLwrrB7BntnjDZpSAy2zoeM3/EdXj/LnBpLBjQVEfzdqiEbe5eqK2pMIAgyxqQMpPWPP2J+DZIONyDp8K0Y/ZreJVVXN/2kaVA4J8ophbYWO3oSZun+m5A5nYjHbs+fK0eHZwh5yyPMXTzPtFqn13SiLuipry4ZQ8dJ2tA== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:MN2PR11MB4063.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(396003)(346002)(136003)(366004)(376002)(39860400002)(2906002)(478600001)(86362001)(26005)(9686003)(33656002)(186003)(38100700002)(6506007)(83380400001)(55016002)(53546011)(71200400001)(4326008)(7696005)(66446008)(64756008)(66556008)(66476007)(8676002)(122000001)(110136005)(8936002)(5660300002)(316002)(76116006)(52536014)(66946007)(38070700004); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?K3NUTXJ3VzJKcjAzNFA1Y2dzMWViamJQSDk2TGF6Tk0zUlp5aVRDejkrU21r?= =?utf-8?B?K2ErRko0dWRqblF6WUFseDRRVWJ5QzQ4anY3VzJIanU0UC9KTjVDZFkyY0JE?= =?utf-8?B?QW5CMlJtdGZKUUpIMG80U3AxTVVsOUFjT2ovMjVHcEdUZ3Z4cUd6N0NxTHNp?= =?utf-8?B?clNmWnVVMHo2UzUzb1VRNWcyc3NyeFRlWVhpQ0dVaWRkS3AwdmVIS1I4V2dm?= =?utf-8?B?bmVxdFZSYkRVaWo2YmsxVVBtcElva1JzdUJxOWQxRzE3VWZNcndwTlV5eDdu?= =?utf-8?B?ZGVzNGpvVVVYN3VEV3JTeWFNWXUrWmZBR2FGVFA0cHlCSUhpb2l0UXFndThq?= =?utf-8?B?VlR3d1FBUWFINnpRemN3THF1OUkvRlpGUmR0NmFmSnZDSjhZTjNlSjdpT0xi?= =?utf-8?B?WEtxTnp4a2hTaWlVWXNpN3lDeGNsYThHK0IwSGNacWc0QzNOZWxaMDdSNVZE?= =?utf-8?B?S3g3RXZjUWl6MjJ5TUYzOUU3akhvZFZmdFVuenpJakU1cHB3SWFpbHdIYXpD?= =?utf-8?B?c0pTeE91SFBjeWQrWXkxVzAzME9DZzZnZXVnSEJnRi83M1lsV3ZsWndwUGVP?= =?utf-8?B?enhPS3dwVnIvZDZIUWYyRHhrazVreVZVWlBDUmtrazZTbHBRanNNMjM2L0dh?= =?utf-8?B?bnRHOUpHUUlLbk1GTmw2WG9yeS9RVTYwV0xwUExhbmtIMmpqS1UwYU5Ndjdo?= =?utf-8?B?bGpGRXZxbU02WUROM1ZEd2F4N3RSQ3U4RFVsWVp5TW96Z3ZGV3ZtcndOWFNQ?= =?utf-8?B?WjhkaGRZeDJLcGR1UkEyUFBxejNvYW8rRHgzWmliWGdBMVZ6RGZJYW12STc0?= =?utf-8?B?Wnl6UUNzM05WTEg5ampJeGVVOEJhZlk3b2FtQ1NLYWlTaTY0ZUJtUk5CSVky?= =?utf-8?B?VVcxUHhmemhVeDVCQXVReXJkc3BjaFo2ZFkwTzQvT1lNMnNpbGZiRHFzRlVE?= =?utf-8?B?cXhXL1VZaVhQMExDeWJrOEhXbmxVbUJtVGc1VVIvaUFGSnZ3Z0xSTkcydEpD?= =?utf-8?B?dHJTSG9GaWdVTG0zdk9HMDkwWit1SFNnUnRaUGhNV2h3UHg2WTFIM0M5RWtw?= =?utf-8?B?SGxIN0RQTDZqeVl6L2NTU1FqanFMYzF3Um9uM3lETFVmSnlUU3llUG1MbzBo?= =?utf-8?B?QnJ1SnIyd1kvV1BzZXhNRHpSbGdkeVVGZ3NYSnNGOWZ5SFFYenlQYzMrazcx?= =?utf-8?B?UVZaYmMvV3FnOUgwblQ4dGpnaU1CZjJIRi9hMzlUZEhuTnJiL29Db0pkK3B2?= =?utf-8?B?SnJRdFp6cWV5K2tHMjdMNzJOc1ZheTZzeDJacDZvS1MzdlBBNG9JV00wbko0?= =?utf-8?B?ZURaL1J5RkJ2Q3VMOC83cWRqeUlDUFUxVU1BeU4vK2gveEdmVWRFUHhISEdL?= =?utf-8?B?WTZwZlZyOG9pQlJSemxHK1lwYjVoeEMwbDBRQjBHcTFySGE3WmszNG1VUzlB?= =?utf-8?B?bE5vY0hYR3Z0eWs3am5QblVTRWoyTnppV1IrZjhhNjVqaUJZdkh3Q0t2Y1Ey?= =?utf-8?B?V2x5Q0JtS28vM0M4cG1EOG1TN2VReTljWXMxa3RaYUZ6QlVrTjFqK240aWNJ?= =?utf-8?B?MzlVUUpDK0NZSXNPQ0owbGxnMTRJRXlHV2sya0ptNlU5bUdsNnp2RG0ycklR?= =?utf-8?B?cXQxckR1TU5Iakh4dU9HKzdabnRObE1PcVRLa1JuTDFxTmhNc2J6cjlicndH?= =?utf-8?B?a0lmbWNPeVRXeVBTZnhRM3k0bDBzcWRicmhmZERCOTBqZ21MMm1leSt0OGtu?= =?utf-8?Q?lgyj7laduI3FX06va5DFZFCURxkmgyk03djPUVs?= 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: MN2PR11MB4063.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: fba56ecc-fc70-4dc9-aef3-08d948268472 X-MS-Exchange-CrossTenant-originalarrivaltime: 16 Jul 2021 06:54:11.2424 (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: Nsv+n3jZa+bkE4SvgyCSyPD0cvvGMCp9had7w8jagwiwtOq6n9uEWit0IgqRFiP9wq6uHs0G3JLqnbHdLHRybQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR11MB4064 X-OriginatorOrg: intel.com Subject: Re: [dpdk-dev] [PATCH v4 3/3] vhost: add thread unsafe async registeration functions 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" SGkgSmlheXUsDQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogSHUsIEpp YXl1IDxqaWF5dS5odUBpbnRlbC5jb20+DQo+IFNlbnQ6IFR1ZXNkYXksIEp1bHkgMTMsIDIwMjEg Mzo0NiBQTQ0KPiBUbzogZGV2QGRwZGsub3JnDQo+IENjOiBtYXhpbWUuY29xdWVsaW5AcmVkaGF0 LmNvbTsgWGlhLCBDaGVuYm8gPGNoZW5iby54aWFAaW50ZWwuY29tPjsgSHUsIEppYXl1DQo+IDxq aWF5dS5odUBpbnRlbC5jb20+DQo+IFN1YmplY3Q6IFtQQVRDSCB2NCAzLzNdIHZob3N0OiBhZGQg dGhyZWFkIHVuc2FmZSBhc3luYyByZWdpc3RlcmF0aW9uIGZ1bmN0aW9ucw0KPiANCj4gVGhpcyBw YXRjaCBhZGRzIHRocmVhZCB1bnNhZmUgdmVyc2lvbiBmb3IgYXN5bmMgcmVnaXN0ZXIgYW5kDQo+ IHVucmVnaXN0ZXIgZnVuY3Rpb25zLg0KPiANCj4gU2lnbmVkLW9mZi1ieTogSmlheXUgSHUgPGpp YXl1Lmh1QGludGVsLmNvbT4NCj4gLS0tDQo+ICBkb2MvZ3VpZGVzL3Byb2dfZ3VpZGUvdmhvc3Rf bGliLnJzdCB8ICAxMiArKysNCj4gIGxpYi92aG9zdC9ydGVfdmhvc3RfYXN5bmMuaCAgICAgICAg IHwgIDM5ICsrKysrKysrKysNCj4gIGxpYi92aG9zdC92ZXJzaW9uLm1hcCAgICAgICAgICAgICAg IHwgICA0ICsNCj4gIGxpYi92aG9zdC92aG9zdC5jICAgICAgICAgICAgICAgICAgIHwgMTQ2ICsr KysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tDQo+IC0NCj4gIDQgZmlsZXMgY2hhbmdl ZCwgMTY3IGluc2VydGlvbnMoKyksIDM0IGRlbGV0aW9ucygtKQ0KPiANCj4gZGlmZiAtLWdpdCBh L2RvYy9ndWlkZXMvcHJvZ19ndWlkZS92aG9zdF9saWIucnN0DQo+IGIvZG9jL2d1aWRlcy9wcm9n X2d1aWRlL3Zob3N0X2xpYi5yc3QNCj4gaW5kZXggYWZmZGM1Ny4uZmZlMDlhMyAxMDA2NDQNCj4g LS0tIGEvZG9jL2d1aWRlcy9wcm9nX2d1aWRlL3Zob3N0X2xpYi5yc3QNCj4gKysrIGIvZG9jL2d1 aWRlcy9wcm9nX2d1aWRlL3Zob3N0X2xpYi5yc3QNCj4gQEAgLTI1Niw2ICsyNTYsMTIgQEAgVGhl IGZvbGxvd2luZyBpcyBhbiBvdmVydmlldyBvZiBzb21lIGtleSBWaG9zdCBBUEkNCj4gZnVuY3Rp b25zOg0KPiAgICAgIHZob3N0IGludm9rZXMgdGhpcyBmdW5jdGlvbiB0byBnZXQgdGhlIGNvcHkg ZGF0YSBjb21wbGV0ZWQgYnkgYXN5bmMNCj4gICAgICBkZXZpY2VzLg0KPiANCj4gKyogYGBydGVf dmhvc3RfYXN5bmNfY2hhbm5lbF9yZWdpc3Rlcl90aHJlYWRfdW5zYWZlKHZpZCwgcXVldWVfaWQs IGNvbmZpZywNCj4gb3BzKWBgDQo+ICsgIFJlZ2lzdGVyIGEgdmhvc3QgcXVldWUgd2l0aCBhc3lu YyBjb3B5IGRldmljZSBjaGFubmVsIHdpdGhvdXQNCg0KJ1JlZ2lzdGVyIGFuIGFzeW5jIGNvcHkg ZGV2aWNlIGNoYW5uZWwgZm9yIGEgdmhvc3QgcXVldWUnIHNvdW5kcyBiZXR0ZXIgDQoNCj4gKyAg cGVyZm9ybWluZyBhbnkgbG9ja2luZy4NCj4gKw0KPiArICBUaGlzIGZ1bmN0aW9uIGlzIG9ubHkg c2FmZSB0byBjYWxsIGZyb20gd2l0aGluIHZob3N0IGNhbGxiYWNrIGZ1bmN0aW9ucy4NCg0KY2Fs bCBpbiB2aG9zdCBjYWxsYmFjayBmdW5jdGlvbnM/DQoNCj4gKw0KPiAgKiBgYHJ0ZV92aG9zdF9h c3luY19jaGFubmVsX3VucmVnaXN0ZXIodmlkLCBxdWV1ZV9pZClgYA0KPiANCj4gICAgVW5yZWdp c3RlciB0aGUgYXN5bmMgY29weSBkZXZpY2UgY2hhbm5lbCBmcm9tIGEgdmhvc3QgcXVldWUuDQo+ IEBAIC0yNjgsNiArMjc0LDEyIEBAIFRoZSBmb2xsb3dpbmcgaXMgYW4gb3ZlcnZpZXcgb2Ygc29t ZSBrZXkgVmhvc3QgQVBJDQo+IGZ1bmN0aW9uczoNCj4gICAgZGV2aWNlcyBmb3IgYWxsIHZob3N0 IHF1ZXVlcyBpbiBkZXN0cm95X2RldmljZSgpLCB3aGVuIGENCj4gICAgdmlydGlvIGRldmljZSBp cyBwYXVzZWQgb3Igc2h1dCBkb3duLg0KPiANCj4gKyogYGBydGVfdmhvc3RfYXN5bmNfY2hhbm5l bF91bnJlZ2lzdGVyX3RocmVhZF91bnNhZmUodmlkLCBxdWV1ZV9pZClgYA0KPiArICBVbnJlZ2lz dGVyIHRoZSBhc3luYyBjb3B5IGRldmljZSBjaGFubmVsIGZyb20gYSB2aG9zdCBxdWV1ZSB3aXRo b3V0DQoNCmZvciBhIHZob3N0IHF1ZXVlPw0KDQo+ICsgIHBlcmZvcm1pbmcgYW55IGxvY2tpbmcu DQo+ICsNCj4gKyAgVGhpcyBmdW5jdGlvbiBpcyBvbmx5IHNhZmUgdG8gY2FsbCBmcm9tIHdpdGhp biB2aG9zdCBjYWxsYmFjayBmdW5jdGlvbnMuDQoNCkNhbGwgaW4gdmhvc3QgY2FsbGJhY2sgZnVu Y3Rpb25zPw0KDQpBbmQgbGV0J3MgbWFrZSBpdCBjbGVhcmVyLiBBZGQgdGhpczogKGkuZS4sIHN0 cnVjdCB2aG9zdF9kZXZpY2Vfb3BzKQ0KDQo+ICsNCj4gICogYGBydGVfdmhvc3Rfc3VibWl0X2Vu cXVldWVfYnVyc3QodmlkLCBxdWV1ZV9pZCwgcGt0cywgY291bnQsIGNvbXBfcGt0cywNCj4gY29t cF9jb3VudClgYA0KPiANCj4gICAgU3VibWl0IGFuIGVucXVldWUgcmVxdWVzdCB0byB0cmFuc21p dCBgYGNvdW50YGAgcGFja2V0cyBmcm9tIGhvc3QgdG8gZ3Vlc3QNCj4gZGlmZiAtLWdpdCBhL2xp Yi92aG9zdC9ydGVfdmhvc3RfYXN5bmMuaCBiL2xpYi92aG9zdC9ydGVfdmhvc3RfYXN5bmMuaA0K PiBpbmRleCBjOTM0OTBkLi5lNGQyMGEzIDEwMDY0NA0KPiAtLS0gYS9saWIvdmhvc3QvcnRlX3Zo b3N0X2FzeW5jLmgNCj4gKysrIGIvbGliL3Zob3N0L3J0ZV92aG9zdF9hc3luYy5oDQo+IEBAIC0x NDIsNiArMTQyLDQ1IEBAIF9fcnRlX2V4cGVyaW1lbnRhbA0KPiAgaW50IHJ0ZV92aG9zdF9hc3lu Y19jaGFubmVsX3VucmVnaXN0ZXIoaW50IHZpZCwgdWludDE2X3QgcXVldWVfaWQpOw0KPiANCj4g IC8qKg0KPiArICogcmVnaXN0ZXIgYW4gYXN5bmMgY2hhbm5lbCBmb3Igdmhvc3Qgd2l0aG91dCBw ZXJmb3JtaW5nIGFueSBsb2NraW5nDQoNCnJlZ2lzdGVyIC0+IFJlZ2lzdGVyDQoNCmZvciB2aG9z dCAtPiBmb3IgYSB2aG9zdCBxdWV1ZQ0KDQo+ICsgKg0KPiArICogQG5vdGUgVGhpcyBmdW5jdGlv biBkb2VzIG5vdCBwZXJmb3JtIGFueSBsb2NraW5nLCBhbmQgaXMgb25seSBzYWZlIHRvIGNhbGwN Cj4gKyAqICAgICAgIGZyb20gd2l0aGluIHZob3N0IGNhbGxiYWNrIGZ1bmN0aW9ucy4NCg0KRnJv bSB3aXRoaW4gLT4gaW4gPw0KDQo+ICsgKg0KPiArICogQHBhcmFtIHZpZA0KPiArICogIHZob3N0 IGRldmljZSBpZCBhc3luYyBjaGFubmVsIHRvIGJlIGF0dGFjaGVkIHRvDQo+ICsgKiBAcGFyYW0g cXVldWVfaWQNCj4gKyAqICB2aG9zdCBxdWV1ZSBpZCBhc3luYyBjaGFubmVsIHRvIGJlIGF0dGFj aGVkIHRvDQo+ICsgKiBAcGFyYW0gY29uZmlnDQo+ICsgKiAgRE1BIGNoYW5uZWwgY29uZmlndXJh dGlvbg0KDQpETUEgLT4gYXN5bmM/DQoNCj4gKyAqIEBwYXJhbSBvcHMNCj4gKyAqICBETUEgb3Bl cmF0aW9uIGNhbGxiYWNrcw0KDQpBc3luYyBjaGFubmVsIG9wZXJhdGlvbiBjYWxsYmFja3M/DQoN Cj4gKyAqIEByZXR1cm4NCj4gKyAqICAwIG9uIHN1Y2Nlc3MsIC0xIG9uIGZhaWx1cmVzDQo+ICsg Ki8NCj4gK19fcnRlX2V4cGVyaW1lbnRhbA0KPiAraW50IHJ0ZV92aG9zdF9hc3luY19jaGFubmVs X3JlZ2lzdGVyX3RocmVhZF91bnNhZmUoaW50IHZpZCwgdWludDE2X3QgcXVldWVfaWQsDQoNCkFj Y29yZGluZyB0byBEUERLIGNvZGluZyBzdHlsZS4gUmV0dXJuIHZhbHVlIHNob3VsZCBub3QgYmUg aW4gdGhlIHNhbWUgbGluZQ0Kb2YgdGhlIGZ1bmN0aW9uIG5hbWUuIEp1c3QgbWFrZSBhIG5ldyBs aW5lIGZvciBpdC4gUGxlYXNlIGNoZWNrIG90aGVyIGZ1bmN0aW9ucyBsaWtlDQp1bnJlZ2lzdGVy Lg0KDQo+ICsJc3RydWN0IHJ0ZV92aG9zdF9hc3luY19jb25maWcgY29uZmlnLA0KPiArCXN0cnVj dCBydGVfdmhvc3RfYXN5bmNfY2hhbm5lbF9vcHMgKm9wcyk7DQo+ICsNCj4gKy8qKg0KPiArICog dW5yZWdpc3RlciBhIGRtYSBjaGFubmVsIGZvciB2aG9zdCB3aXRob3V0IHBlcmZvcm1pbmcgYW55 IGxvY2sNCg0KVW5yZWdpc3RlciBhbiBhc3luYyBjaGFubmVsIGZvciBhIHZob3N0IHF1ZXVlDQoN Cj4gKyAqDQo+ICsgKiBAbm90ZSBUaGlzIGZ1bmN0aW9uIGRvZXMgbm90IHBlcmZvcm0gYW55IGxv Y2tpbmcsIGFuZCBpcyBvbmx5IHNhZmUgdG8gY2FsbA0KPiArICogICAgICAgZnJvbSB3aXRoaW4g dmhvc3QgY2FsbGJhY2sgZnVuY3Rpb25zLg0KDQppbiB2aG9zdCBjYWxsYmFjayBmdW5jdGlvbnMN Cg0KPiArICoNCj4gKyAqIEBwYXJhbSB2aWQNCj4gKyAqICB2aG9zdCBkZXZpY2UgaWQgRE1BIGNo YW5uZWwgdG8gYmUgZGV0YWNoZWQNCg0KVmhvc3QgZGV2aWNlIGlkIEFzeW5jIGNoYW5uZWwgdG8g YmUgZGV0YWNoZWQgZnJvbQ0KDQo+ICsgKiBAcGFyYW0gcXVldWVfaWQNCj4gKyAqICB2aG9zdCBx dWV1ZSBpZCBETUEgY2hhbm5lbCB0byBiZSBkZXRhY2hlZA0KDQpEaXR0bw0KDQo+ICsgKiBAcmV0 dXJuDQo+ICsgKiAgMCBvbiBzdWNjZXNzLCAtMSBvbiBmYWlsdXJlcw0KPiArICovDQo+IC0tDQo+ IDIuNy40DQoNCg==