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 00E76A0C41; Wed, 15 Sep 2021 09:23:18 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id BA5F64003F; Wed, 15 Sep 2021 09:23:18 +0200 (CEST) Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by mails.dpdk.org (Postfix) with ESMTP id 5C9134003C for ; Wed, 15 Sep 2021 09:23:16 +0200 (CEST) X-IronPort-AV: E=McAfee;i="6200,9189,10107"; a="307794078" X-IronPort-AV: E=Sophos;i="5.85,294,1624345200"; d="scan'208";a="307794078" Received: from fmsmga005.fm.intel.com ([10.253.24.32]) by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 15 Sep 2021 00:23:15 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.85,294,1624345200"; d="scan'208";a="700077586" Received: from orsmsx603.amr.corp.intel.com ([10.22.229.16]) by fmsmga005.fm.intel.com with ESMTP; 15 Sep 2021 00:23:15 -0700 Received: from orsmsx606.amr.corp.intel.com (10.22.229.19) 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.2242.12; Wed, 15 Sep 2021 00:23:14 -0700 Received: from ORSEDG602.ED.cps.intel.com (10.7.248.7) by orsmsx606.amr.corp.intel.com (10.22.229.19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.12 via Frontend Transport; Wed, 15 Sep 2021 00:23:14 -0700 Received: from NAM04-BN8-obe.outbound.protection.outlook.com (104.47.74.47) by edgegateway.intel.com (134.134.137.103) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2242.12; Wed, 15 Sep 2021 00:23:13 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=IyJ8mqn8T3k++nLAnRxrMo4e5VLjqqM5tec2n978bg7XQ6YbaqGWVSVDL4k8Q0NzEZHOx561h3sUCQ8DLhgzQbDvuS9Y8R6QL492l9ePOHcvqglGVTlztuUVSiOApKpVP1MbQf6r3nGg0XDewAg6aYxrYrbXt29HOjlKPHZi8w10TC+BmNxKtTdlQ4dY4W909WOGnNl6spXYxxQXuG2kWXBm7qK4dYk0vGcc+0tAlgOR9nYYIhZVRaBH6M5Hl054M0TPi2SG92iBKhUrC3NfH66xrm2JxlATWl9ALueoh65zc1iiLENk9tXic8DuGA2sCyMnREKx6fR2RCTLufLCsQ== 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; bh=0NlQKYXY7aluBQRYBddAtgF5+E6ydnCauAcjR2NfKPc=; b=UVD+g+VXgV43GfKDKdNxbmJpuhUlBIjrbmQI7BI2xjda8Tpt3gri2KyfQImZPU1gxdccLpB6Z4xHnBkoTVBwaBD6j2rJSlLYt5MhdzFh52+IpgaWFX+o+BcNIhqqCME6d9WH9CJFiWFlg0Y1Hbx5SI428p2H5YbAwS0+YDqW6GzZKQmop6IB0HAnFh7xqx6oKvhpDf/s/6K+EcElBSfGKAZirZCg0C2cP57QZWeXJzDXtPBMjNhFOzpljqdK8q17mttPOvqrQFJfgBLCFMn7U5clVgIwmNlDnYDZqas/7DY1FfVKuH8VPI2RXAkPlGwWIAHRVi2FfjY9hHhsbHjPMA== 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=0NlQKYXY7aluBQRYBddAtgF5+E6ydnCauAcjR2NfKPc=; b=f57QmNFfAGeFUNiBWlrnaseKaZKgj5huPILue5iAVKvWGEufG/dqVM2hm3cBGgoPM1ezOD9Rzy9DnGrcVZqmS4c9UK1PCKsTt4twDKp5lAGMrGduzXsgxT+OsfOp94kmj11DvTyF+PDTg4z2DjR3Va6RrAET4PWoYXp5h8cxtqw= Received: from MN2PR11MB4063.namprd11.prod.outlook.com (2603:10b6:208:13f::22) by MN2PR11MB4029.namprd11.prod.outlook.com (2603:10b6:208:155::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4523.14; Wed, 15 Sep 2021 07:23:08 +0000 Received: from MN2PR11MB4063.namprd11.prod.outlook.com ([fe80::6873:dced:7f68:801]) by MN2PR11MB4063.namprd11.prod.outlook.com ([fe80::6873:dced:7f68:801%3]) with mapi id 15.20.4523.014; Wed, 15 Sep 2021 07:23:07 +0000 From: "Xia, Chenbo" To: "Wang, YuanX" , "dev@dpdk.org" CC: "maxime.coquelin@redhat.com" , "Pai G, Sunil" , "Hu, Jiayu" , "Ding, Xuan" , "Jiang, Cheng1" , "Ma, WenwuX" , "Yang, YvonneX" Thread-Topic: [PATCH 2/2] vhost: support thread-safe API for clearing in-flight packets in async vhost Thread-Index: AQHXpUoeJy0MRgu6DECLsrx5i9UHPKuktSxQ Date: Wed, 15 Sep 2021 07:23:07 +0000 Message-ID: References: <20210909065807.812145-1-yuanx.wang@intel.com> <20210909065807.812145-3-yuanx.wang@intel.com> In-Reply-To: <20210909065807.812145-3-yuanx.wang@intel.com> Accept-Language: en-US, zh-CN Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-product: dlpe-windows dlp-reaction: no-action dlp-version: 11.6.200.16 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: ee73ce4b-2137-458f-7c01-08d97819aa81 x-ms-traffictypediagnostic: MN2PR11MB4029: 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:3276; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: OMmzLOF33IazgpbwrICJwKhBRH9a43Ij5fOBbJmTr7xKZ1kSSgF+h0LaDTE9gREyJCiL6+VvYE7322+6iHn/7u1LPEuojPIfm3Oo7lUpz7REgfvhidZpF1Cb9zyEYovCRtlH3yDG5bpPsp40ONAWK0pTl9EbnQmExByl4J0Yt3sproZkwZyB7xWH3TM1/x9Bwzo5KA/7dNwQJc35NEtn01/JFLSQrQ4hi7ra0DRLLTXl2AoC2f+TOu54FunXEGCOb8WQnq6L2rHAtrMWhmJQW+l9Mm8gVEf9YxqolGNmF97Ce2EVqMtLq3El5TdgSCBddt3AJbxLhJ+FQrTNgLsvvEXBhGimRfxvXHFxOdLMhNWZ8OVYhL44p4sNX50pWBnoQQYpPzf8BqsxRANkeA+gVyWaE/QxYw0CWhd60zQNKUqmcbNImpoLOxuK4DmC7R/Qh8G00Uzqky6mNhKD+9z1I9FjvhQ0ytuwc3s+FH9DfYMi3xv8NdhDL9vqS61ZdVVvxI5vvFsqiFejYnEJjevIkUL4bN9toNL0EPleUUabdRnoBb/iUxecUGDLogciSWbAfHkjr/HY/QcRAu0JglPzMNeKIl9dLYhrgFpG4UG2GpCZ+QsjrEBtQqXoUHaj/QuV/Z+++RTelK5zWaTJ0ytI9XrV0wRflfaLN9JUWX9YgCfuv/dOeByHn2S5MT0H+in3c6iNS2j5DARJdIldKjfegQ== 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)(346002)(396003)(136003)(39860400002)(366004)(376002)(8936002)(26005)(9686003)(186003)(5660300002)(55016002)(478600001)(107886003)(66446008)(66556008)(64756008)(66476007)(66946007)(76116006)(53546011)(6506007)(52536014)(83380400001)(54906003)(8676002)(7696005)(110136005)(71200400001)(86362001)(4326008)(38100700002)(33656002)(38070700005)(2906002)(122000001)(316002); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?U2N1ekhRS1V4K2lzNVhTQ0ZiU1M3eUhUWDhIS09majZmSSttTytLMWhYSmg2?= =?utf-8?B?TzZaZXFsVWVmN1pFZmNDNTR3Skd6UllyR1hRT0V3Ly9TbVlDTVZnZ0thakZ2?= =?utf-8?B?OTl0YTl2VlhpcVpSMFZmTm54Szc3NWpMMmQyOFFMenlFc0pSOFZGZmc2OEZX?= =?utf-8?B?S2tSakUrZ09XaitFRXMzSWswKzl3QmZWZkg0K0w3bzV6YkdwaU5IZGUvdEU1?= =?utf-8?B?eDJJVTQ0MmVTME5HUVdDSlNPWUV2Wk93VUw3T1p3RlJLSDlrcEI5YWY1TzZn?= =?utf-8?B?Z2owKzB2TDM1VUJ4T2s0dkI4RmJlTHlXeENDN1Fxa094TEdRU0RjTTRkdzZt?= =?utf-8?B?Q0hDbHZvbHFZMnFaTXFPWU55aVlsNHhIamlya2ppa25NM21zZm9obE04dW4w?= =?utf-8?B?dXBEeFk1TEJRN2k1VlNsZW1vempTWlR5Z3pDSFhqM2RsRjNtc0hSaytETkhK?= =?utf-8?B?L1Z5RlJvL3NzN1hSZk9ncHdNV3JOeXNWc3IzSzBONDZVOEdYejNBN2x1NzBR?= =?utf-8?B?VjBzc0ZOM3AvYnBFMW1sL3VWbmdrdm9oR3BSRXUrblhsUFpTaXlxbHNrcGk3?= =?utf-8?B?SnNjWVVCY2M5MktSQTdsbWt3dTMzU1FLdSs1VSt0aVJqcjRSRTZRbFlQck9U?= =?utf-8?B?blJiZmpQZElTVmN0ajh0MW1HYWsrcFJrR21UNVREVEdjVUtLV0NmbEovWTAy?= =?utf-8?B?dmFhaGhTZ2dUTEUxVzQzWnRJbW02TlE4V25jL2ZYQ2I2QmVZOVBpMm1saTdq?= =?utf-8?B?dmRtbjlUTlVOampPY3k2UzY5TkdTbDVhSkpuTzBJb3h4NkdaOEVQUGg1OC9a?= =?utf-8?B?dG5VeFRnUys4cjRqOFg4NmFQRTNiUDlUNDRDT0FoSHFEYTBtZWRycGs5T0JU?= =?utf-8?B?MndhZWg1T0Q3NDZHdjFDOG03TjJ2R0x6VG5BVEtNSVNhNU9BUDFxWGRGR0hh?= =?utf-8?B?Y3BWTVFUNnRLaE9qeXNSU3A3OC9Vd0ExcEZ4RUdkTWxhQURSR0pqN2hqb2lO?= =?utf-8?B?VGsvc2F1RDFkWmNuVE5oUGlWUGZrZmxhNWZLSUlLSVpaa093eENJWXN1ZFBn?= =?utf-8?B?bXRkUnY1YUIzTE80QnJzRWFVWm1XVlNyVGprWlN3K3AxUkMyZW5ZYUFLT1NT?= =?utf-8?B?MjlhdFlMdnNWeXcvd1JPaUdMWTd4MnhYZkNka2hQYU5RTFNDWi9CaG56ck1k?= =?utf-8?B?RVY1MEh6eXdCK2VBQUNRbm92L00vbXM4SHlSKzBHcHN4MGRncDZscVQvZDVI?= =?utf-8?B?RU4wL1NwRk8wbzNBVlFQRkY0RFBFenRKckdXTDN4QlFVeUdHSHZYWFRoR0wv?= =?utf-8?B?TTRUazZIQ2VSZVlhNTV2NkFtaUpvamZTdDh4MW1nOEdEVk8vNVBFK2M2YVRn?= =?utf-8?B?eDdzRG83c0t2V2V4Y1YxMW14OFFOVGV0MXMrSkxyT1laa3Zxc0R5TERuWWEy?= =?utf-8?B?UjlsdU1JbThxRHJ5aFZQY1ZKMGRhUGc5N1A3L1ozS2ZwL3Jmc01LREZCZDVv?= =?utf-8?B?S3Urc1I3Kzd0SlREK3BZVXNDK1JHRzRaUG9Hdm84eVYrdmZsc2ZqV1d2cEJV?= =?utf-8?B?cDVYNlkrZ3o1QWs2cWEzNEhrR0crZktYcXE0bEhQV0NWc1BaTW5JZG1UbHdk?= =?utf-8?B?R0s2Y21XSXlrbGZLd2ZYa2R5YkVVK3F6NXJJbzh1alpwQk5DS3dDQjhFUzVr?= =?utf-8?B?YzU1NmRYRmlWVERERGRiemF6L2s2dmw1bTRuTUpRSGpvd0NEQUVnV2hJTGIr?= =?utf-8?Q?ox1u/EOebNKPV6BMDZKDp1CE3NDUU0QDJDwv/jo?= 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: ee73ce4b-2137-458f-7c01-08d97819aa81 X-MS-Exchange-CrossTenant-originalarrivaltime: 15 Sep 2021 07:23:07.7375 (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: zNoKjuhr2Y3pKD4hSnmzYM0X94CpLVJv1UNiQS+a7ST42AokG5+FaLzzMYY2e6OqyWrP6eCb4T3PMXdvud9YvA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR11MB4029 X-OriginatorOrg: intel.com Subject: Re: [dpdk-dev] [PATCH 2/2] vhost: support thread-safe API for clearing in-flight packets in async vhost 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" SGkgWXVhbiwNCg0KPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBXYW5nLCBZ dWFuWCA8eXVhbngud2FuZ0BpbnRlbC5jb20+DQo+IFNlbnQ6IFRodXJzZGF5LCBTZXB0ZW1iZXIg OSwgMjAyMSAyOjU4IFBNDQo+IFRvOiBkZXZAZHBkay5vcmcNCj4gQ2M6IG1heGltZS5jb3F1ZWxp bkByZWRoYXQuY29tOyBYaWEsIENoZW5ibyA8Y2hlbmJvLnhpYUBpbnRlbC5jb20+OyBQYWkgRywN Cj4gU3VuaWwgPHN1bmlsLnBhaS5nQGludGVsLmNvbT47IEh1LCBKaWF5dSA8amlheXUuaHVAaW50 ZWwuY29tPjsgRGluZywgWHVhbg0KPiA8eHVhbi5kaW5nQGludGVsLmNvbT47IEppYW5nLCBDaGVu ZzEgPGNoZW5nMS5qaWFuZ0BpbnRlbC5jb20+OyBNYSwgV2Vud3VYDQo+IDx3ZW53dXgubWFAaW50 ZWwuY29tPjsgWWFuZywgWXZvbm5lWCA8eXZvbm5leC55YW5nQGludGVsLmNvbT47IFdhbmcsIFl1 YW5YDQo+IDx5dWFueC53YW5nQGludGVsLmNvbT4NCj4gU3ViamVjdDogW1BBVENIIDIvMl0gdmhv c3Q6IHN1cHBvcnQgdGhyZWFkLXNhZmUgQVBJIGZvciBjbGVhcmluZyBpbi1mbGlnaHQNCj4gcGFj a2V0cyBpbiBhc3luYyB2aG9zdA0KDQpzdXBwb3J0IC0+IGFkZA0KDQo+IA0KPiBUaGlzIHBhdGNo IGFkZHMgdGhyZWFkLXNhZmUgdmVyc2lvbiBmb3INCj4gY2xlYXJpbmcgaW4tZmxpZ2h0IHBhY2tl dHMgZnVuY3Rpb24uDQo+IA0KPiBTaWduZWQtb2ZmLWJ5OiBZdWFuIFdhbmcgPHl1YW54LndhbmdA aW50ZWwuY29tPg0KPiAtLS0NCj4gIGxpYi92aG9zdC9ydGVfdmhvc3RfYXN5bmMuaCB8IDIxICsr KysrKysrKysrKysrKysrKysrKw0KPiAgbGliL3Zob3N0L3ZlcnNpb24ubWFwICAgICAgIHwgIDEg Kw0KPiAgbGliL3Zob3N0L3ZpcnRpb19uZXQuYyAgICAgIHwgMzYgKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrDQo+ICAzIGZpbGVzIGNoYW5nZWQsIDU4IGluc2VydGlvbnMoKykN Cg0KTWlzcyB1cGRhdGUgb2YgcmVsZWFzZSBub3RlLg0KDQo+IA0KPiBkaWZmIC0tZ2l0IGEvbGli L3Zob3N0L3J0ZV92aG9zdF9hc3luYy5oIGIvbGliL3Zob3N0L3J0ZV92aG9zdF9hc3luYy5oDQo+ IGluZGV4IDVlMjQyOWFiNzAuLmE0MThlMGEwM2QgMTAwNjQ0DQo+IC0tLSBhL2xpYi92aG9zdC9y dGVfdmhvc3RfYXN5bmMuaA0KPiArKysgYi9saWIvdmhvc3QvcnRlX3Zob3N0X2FzeW5jLmgNCj4g QEAgLTI2MSw2ICsyNjEsMjcgQEAgaW50IHJ0ZV92aG9zdF9hc3luY19nZXRfaW5mbGlnaHQoaW50 IHZpZCwgdWludDE2X3QNCj4gcXVldWVfaWQpOw0KPiAgX19ydGVfZXhwZXJpbWVudGFsDQo+ICB1 aW50MTZfdCBydGVfdmhvc3RfY2xlYXJfcXVldWVfdGhyZWFkX3Vuc2FmZShpbnQgdmlkLCB1aW50 MTZfdCBxdWV1ZV9pZCwNCj4gIAkJc3RydWN0IHJ0ZV9tYnVmICoqcGt0cywgdWludDE2X3QgY291 bnQpOw0KPiArDQo+ICsvKioNCj4gKyAqIFRoaXMgZnVuY3Rpb24gY2hlY2tzIGFzeW5jIGNvbXBs ZXRpb24gc3RhdHVzIGFuZCBjbGVhciBwYWNrZXRzIGZvcg0KPiArICogYSBzcGVjaWZpYyB2aG9z dCBkZXZpY2UgcXVldWUuIFBhY2tldHMgd2hpY2ggYXJlIGluZmxpZ2h0IHdpbGwgYmUNCj4gKyAq IHJldHVybmVkIGluIGFuIGFycmF5Lg0KPiArICoNCj4gKyAqIEBwYXJhbSB2aWQNCj4gKyAqICBJ RCBvZiB2aG9zdCBkZXZpY2UgdG8gY2xlYXIgZGF0YQ0KPiArICogQHBhcmFtIHF1ZXVlX2lkDQo+ ICsgKiAgUXVldWUgaWQgdG8gY2xlYXIgZGF0YQ0KPiArICogQHBhcmFtIHBrdHMNCj4gKyAqICBC bGFuayBhcnJheSB0byBnZXQgcmV0dXJuIHBhY2tldCBwb2ludGVyDQo+ICsgKiBAcGFyYW0gY291 bnQNCj4gKyAqICBTaXplIG9mIHRoZSBwYWNrZXQgYXJyYXkNCj4gKyAqIEByZXR1cm4NCj4gKyAq ICBOdW1iZXIgb2YgcGFja2V0cyByZXR1cm5lZA0KPiArICovDQo+ICtfX3J0ZV9leHBlcmltZW50 YWwNCj4gK3VpbnQxNl90IHJ0ZV92aG9zdF9jbGVhcl9xdWV1ZShpbnQgdmlkLCB1aW50MTZfdCBx dWV1ZV9pZCwNCj4gKwkJc3RydWN0IHJ0ZV9tYnVmICoqcGt0cywgdWludDE2X3QgY291bnQpOw0K PiArDQo+ICAvKioNCj4gICAqIFRoaXMgZnVuY3Rpb24gdHJpZXMgdG8gcmVjZWl2ZSBwYWNrZXRz IGZyb20gdGhlIGd1ZXN0IHdpdGggb2ZmbG9hZGluZw0KPiAgICogY29waWVzIHRvIHRoZSBhc3lu YyBjaGFubmVsLiBUaGUgcGFja2V0cyB0aGF0IGFyZSB0cmFuc2ZlciBjb21wbGV0ZWQNCj4gZGlm ZiAtLWdpdCBhL2xpYi92aG9zdC92ZXJzaW9uLm1hcCBiL2xpYi92aG9zdC92ZXJzaW9uLm1hcA0K PiBpbmRleCAzZDU2NmE2ZDVmLi5mNzhjYzg5YjU4IDEwMDY0NA0KPiAtLS0gYS9saWIvdmhvc3Qv dmVyc2lvbi5tYXANCj4gKysrIGIvbGliL3Zob3N0L3ZlcnNpb24ubWFwDQo+IEBAIC04OCw0ICs4 OCw1IEBAIEVYUEVSSU1FTlRBTCB7DQo+IA0KPiAgCSMgYWRkZWQgaW4gMjEuMTENCj4gIAlydGVf dmhvc3RfYXN5bmNfdHJ5X2RlcXVldWVfYnVyc3Q7DQo+ICsJcnRlX3Zob3N0X2NsZWFyX3F1ZXVl Ow0KPiAgfTsNCj4gZGlmZiAtLWdpdCBhL2xpYi92aG9zdC92aXJ0aW9fbmV0LmMgYi9saWIvdmhv c3QvdmlydGlvX25ldC5jDQo+IGluZGV4IDdmNjE4M2E5MjkuLjUxNjkzYTdjMzUgMTAwNjQ0DQo+ IC0tLSBhL2xpYi92aG9zdC92aXJ0aW9fbmV0LmMNCj4gKysrIGIvbGliL3Zob3N0L3ZpcnRpb19u ZXQuYw0KPiBAQCAtMjE0Miw2ICsyMTQyLDQyIEBAIHJ0ZV92aG9zdF9jbGVhcl9xdWV1ZV90aHJl YWRfdW5zYWZlKGludCB2aWQsIHVpbnQxNl90DQo+IHF1ZXVlX2lkLA0KPiAgCXJldHVybiBuX3Br dHNfY3BsOw0KPiAgfQ0KPiANCj4gK3VpbnQxNl90DQo+ICtydGVfdmhvc3RfY2xlYXJfcXVldWUo aW50IHZpZCwgdWludDE2X3QgcXVldWVfaWQsIHN0cnVjdCBydGVfbWJ1ZiAqKnBrdHMsDQo+IHVp bnQxNl90IGNvdW50KQ0KPiArew0KPiArCXN0cnVjdCB2aXJ0aW9fbmV0ICpkZXYgPSBnZXRfZGV2 aWNlKHZpZCk7DQo+ICsJc3RydWN0IHZob3N0X3ZpcnRxdWV1ZSAqdnE7DQo+ICsJdWludDE2X3Qg bl9wa3RzX2NwbDsNCj4gKw0KPiArCWlmICghZGV2KQ0KPiArCQlyZXR1cm4gMDsNCj4gKw0KPiAr CVZIT1NUX0xPR19EQVRBKERFQlVHLCAiKCVkKSAlc1xuIiwgZGV2LT52aWQsIF9fZnVuY19fKTsN Cj4gKw0KDQpTaG91bGQgY2hlY2sgcXVldWUgaWQgaGVyZS4NCg0KPiArCXZxID0gZGV2LT52aXJ0 cXVldWVbcXVldWVfaWRdOw0KPiArDQo+ICsJaWYgKHVubGlrZWx5KCF2cS0+YXN5bmNfcmVnaXN0 ZXJlZCkpIHsNCj4gKwkJVkhPU1RfTE9HX0RBVEEoRVJSLCAiKCVkKSAlczogYXN5bmMgbm90IHJl Z2lzdGVyZWQgZm9yIHF1ZXVlDQo+IGlkICVkLlxuIiwNCj4gKwkJCWRldi0+dmlkLCBfX2Z1bmNf XywgcXVldWVfaWQpOw0KPiArCQlyZXR1cm4gMDsNCj4gKwl9DQo+ICsNCj4gKwlpZiAoIXJ0ZV9z cGlubG9ja190cnlsb2NrKCZ2cS0+YWNjZXNzX2xvY2spKSB7DQo+ICsJCVZIT1NUX0xPR19DT05G SUcoRVJSLCAiRmFpbGVkIHRvIGNsZWFyIGFzeW5jIHF1ZXVlLCB2aXJ0IHF1ZXVlDQo+IGJ1c3ku XG4iKTsNCg0KU2hvdWxkIGJlIFZIT1NUX0xPR19EQVRBLiBBbmQgcGxlYXNlIGFkZCB2aWQgYW5k IHFpZCBpbmZvIGluIHRoZSBsb2cuDQoNCj4gKwkJcmV0dXJuIDA7DQo+ICsJfQ0KPiArDQo+ICsJ aWYgKChxdWV1ZV9pZCAlIDIpID09IDApDQoNCllvdSBjYW4gcmVtb3ZlIGludGVybmFsICcoKScN Cg0KPiArCQluX3BrdHNfY3BsID0gdmhvc3RfcG9sbF9lbnF1ZXVlX2NvbXBsZXRlZChkZXYsIHF1 ZXVlX2lkLCBwa3RzLA0KPiBjb3VudCk7DQo+ICsJZWxzZQ0KPiArCQluX3BrdHNfY3BsID0gYXN5 bmNfcG9sbF9kZXF1ZXVlX2NvbXBsZXRlZF9zcGxpdChkZXYsIHZxLCBxdWV1ZV9pZCwNCj4gcGt0 cywgY291bnQsDQoNCkFkZCBjaGVjayB0byBtYWtlIHN1cmUgaXQncyBzcGxpdCBxdWV1ZS4NCg0K VGhhbmtzLA0KQ2hlbmJvDQoNCj4gKwkJCQkJCWRldi0+ZmxhZ3MgJiBWSVJUSU9fREVWX0xFR0FD WV9PTF9GTEFHUyk7DQo+ICsNCj4gKwlydGVfc3BpbmxvY2tfdW5sb2NrKCZ2cS0+YWNjZXNzX2xv Y2spOw0KPiArDQo+ICsJcmV0dXJuIG5fcGt0c19jcGw7DQo+ICt9DQo+ICsNCj4gIHN0YXRpYyBf X3J0ZV9hbHdheXNfaW5saW5lIHVpbnQzMl90DQo+ICB2aXJ0aW9fZGV2X3J4X2FzeW5jX3N1Ym1p dChzdHJ1Y3QgdmlydGlvX25ldCAqZGV2LCB1aW50MTZfdCBxdWV1ZV9pZCwNCj4gIAlzdHJ1Y3Qg cnRlX21idWYgKipwa3RzLCB1aW50MzJfdCBjb3VudCkNCj4gLS0NCj4gMi4yNS4xDQoNCg==