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 112C5A0093; Fri, 17 Jun 2022 08:34:37 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id EBA2940698; Fri, 17 Jun 2022 08:34:36 +0200 (CEST) Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) by mails.dpdk.org (Postfix) with ESMTP id 918FB40689 for ; Fri, 17 Jun 2022 08:34:35 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1655447675; x=1686983675; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=/BAjE0u4eu8Dmhjq/I2Npoph6VuvSYzLHTK/YfpjmA8=; b=EPkfm9TBfivV6BS5R6M3t3kgnCTV1Hbi9AbrqGwhVhZc1Ir1uGyGyvvj SM2xjclTCl5EDCMj/dwFTEqvfKZYnG/28vUQXXWHVnb6yO8hOxx0WWToA jO+4pPU8+dcH07k6Ty4eXLeQ7hsYXncx+gEH/VKS1qz1S40i+s9/BahTb brkk4Xe6gKyB4tpCsPhvyfvkNyE25QmyJL17AWD2s5LiLl9O44HtSs4RH zz0bn+LGk1ljHaYbcuWozP682/9LgS2V7gw8RDBqikChTtodvwFJBV7eE 5QYy4XJSXptq0B3YlE2Xzik+Ji0x1iEbCOKUYuk2LpPGImZTYwjS4nstl A==; X-IronPort-AV: E=McAfee;i="6400,9594,10380"; a="259893415" X-IronPort-AV: E=Sophos;i="5.92,306,1650956400"; d="scan'208";a="259893415" Received: from orsmga003.jf.intel.com ([10.7.209.27]) by fmsmga107.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 16 Jun 2022 23:34:34 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.92,306,1650956400"; d="scan'208";a="536728913" Received: from orsmsx606.amr.corp.intel.com ([10.22.229.19]) by orsmga003.jf.intel.com with ESMTP; 16 Jun 2022 23:34:34 -0700 Received: from orsmsx611.amr.corp.intel.com (10.22.229.24) 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.2308.27; Thu, 16 Jun 2022 23:34:33 -0700 Received: from ORSEDG602.ED.cps.intel.com (10.7.248.7) 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.2308.27 via Frontend Transport; Thu, 16 Jun 2022 23:34:33 -0700 Received: from NAM11-BN8-obe.outbound.protection.outlook.com (104.47.58.175) 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.2308.27; Thu, 16 Jun 2022 23:34:33 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=XMOpMrdVEnYaHvWSO1ZEnexIqgnu6OlEsdWQtMEyP4mBEyj6gAz5dfiBQSmWAtqD8BuI9KZfKIuWM8u8YDpT+Wnikm+wvzxU5YUqwJLAjBYVCxPzqjHPLs8JM4YISiSceS/Kdrz/0tz7JBvDQjnvlynMYAphPy+Q2KucYD4HLEopSfo+727iHtrmFtNjReqfwllRxsclgthZTY/L9lAxHX+tn+c7fiSkdS1vBl3WZvjW9PHxvweBBDa8viqivW4RnUC88QnvR+kBMY97qDLwRxk1/F4+gyKe4FwKC7c1arQly4T+Ss2QJtxJYA6HORKmP75KMSKn3YMKSI0HCwEcbw== 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=/BAjE0u4eu8Dmhjq/I2Npoph6VuvSYzLHTK/YfpjmA8=; b=MgJ8yfT10Au6AWuRlueSbQzvIgeqP9TxXNJu/7bNR5OlNlGkHEOt2P6yMhuf+jRPtA7ikQ+KqbgFoA/WgL4yV48jgFxvvldPELkp/I+KbzCPXfM+mpbDirMXluG+fhwU6OE/jg7OV+k8x5ENEQNZRxl1P5dGvK7gWLRjnMCoh5tcq5Y1S7KCh3QBA1w0KCihsVzopEavaSge5jroGNBYidRCt1Tae5h0gJV1gEML316XznDNC92+lii8CEITrt+m788NjgyhlIIL1n2vn29e4oZ7JfGVh1yTBszWIlqB3Qs/XZw6rt63ay+8mxNU/tRpOCuhVDcWwBH+pqHBUZw3Bg== 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 BN9PR11MB5513.namprd11.prod.outlook.com (2603:10b6:408:102::11) by SN6PR11MB3455.namprd11.prod.outlook.com (2603:10b6:805:bb::26) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5332.17; Fri, 17 Jun 2022 06:34:31 +0000 Received: from BN9PR11MB5513.namprd11.prod.outlook.com ([fe80::31c6:2ec8:2f71:42da]) by BN9PR11MB5513.namprd11.prod.outlook.com ([fe80::31c6:2ec8:2f71:42da%2]) with mapi id 15.20.5332.022; Fri, 17 Jun 2022 06:34:31 +0000 From: "Ding, Xuan" To: David Marchand CC: Maxime Coquelin , "Xia, Chenbo" , dev , "Hu, Jiayu" , "Jiang, Cheng1" , "Pai G, Sunil" , "liangma@liangbit.com" , "Wang, YuanX" , "Mcnamara, John" Subject: RE: [PATCH v8 4/5] vhost: support async dequeue for split ring Thread-Topic: [PATCH v8 4/5] vhost: support async dequeue for split ring Thread-Index: AQHYaRZSjvmpTGkC30ut0GCZgplO0a1SS0KAgAAAg4CAAMBFoA== Date: Fri, 17 Jun 2022 06:34:31 +0000 Message-ID: References: <20220407152546.38167-1-xuan.ding@intel.com> <20220516111041.63914-1-xuan.ding@intel.com> <20220516111041.63914-5-xuan.ding@intel.com> In-Reply-To: Accept-Language: zh-CN, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-product: dlpe-windows dlp-reaction: no-action dlp-version: 11.6.500.17 authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: c6508890-88ca-4b17-f65e-08da502b6f99 x-ms-traffictypediagnostic: SN6PR11MB3455:EE_ x-ld-processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr x-microsoft-antispam-prvs: x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: WyeaXH5A5nFgY3ZzUu0twmQ4hBu2UMfNrf+rgiUFK0uzrhDSk8VshJgyYyLHaYF4KyjYOSC1xSD6DgzyefRTHgChrBSXaDkByFXeMHsucYgoLROCffbfBP20IdQzrPumxr9ehQEO38Pln7s01mX9e/BG4o37rY24TmDoc/PAts2OMOtMBPUt1N7vpONpHkNJ/6nteHjj2BbR/1vQLIxICfORJDcBb89rcUrdKmrnKkk0/lzGkOWb5nFFnHDyFTpnVcuX0WkK4OjSgjhF0Ej+nN/ZEkqsjC2P8NkS0YtI470kTa2t4DzyYhOHe5uHT0Pr/QsBJk8kMJAoOuK86yBaTiSmuwCmaImHvRjJ63H1YI0q0GwnEdq/hKr5pfigkxsEO0lGUTaM54jjAdiVSC9N7UpIhPYypvh3S1z5Djgq/9EdbJ1qi0lm/6pQ6KlKd81de33VhUjm2cDo5u3qU/tuL5ee1RfdiyYklIHCkaDN/xZXBjrugR566oN4K9YWmu14l8AQ8lcHn1Q1Rhg1r8AVhew0BYkQmKlE3PLIhTIxPsMvdx8CBqs6OqwgGw06pbdjZTBWtS7Y6coKt3HRdf56P14NK8csf8hLLrCxiubrosXofoHeNbicHIfeBR4QDQkgycgwwjoPU9z2iZnfg4wW/S57UDfO/vON13C0aF7lYS0OF5dH23luj7l2jNNYXfTEDdKQ00QWA6hWU2UhXzZbM1kbLXhGgqmdwRPrcU5aQJhcVbCK6tajKrqElj68ljDFiXd9JeSBV7DS5LN1Ufl9WVyCf/dipQraSclUBOXE7fXHg1bKsjMN3aMk3cBBbQguEaTIkXZ7RnR+HNlYljcSIg== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:BN9PR11MB5513.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230016)(366004)(82960400001)(38100700002)(38070700005)(9686003)(71200400001)(122000001)(6506007)(26005)(7696005)(86362001)(83380400001)(107886003)(186003)(2906002)(66446008)(6916009)(4326008)(66476007)(64756008)(8676002)(66946007)(66556008)(316002)(54906003)(5660300002)(8936002)(55016003)(498600001)(966005)(53546011)(52536014)(33656002)(76116006); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?ekcydlRzQU0yTlI2eUcrOFlIcUhIbVVFK0owT1Q1WEllVjd5VmxWK05DVUow?= =?utf-8?B?WGpmaHZ5Y0ZJQWZpeWw2QjJ2am1CQ1A1WHo4Y2V1UXFzT1N5WGRRQUlZQWJr?= =?utf-8?B?S2tHd1o3MysvRGJwbm1ZQ3BBeTJWMXR6REZQNUl6eVBjUno3c0hKSExhK0x6?= =?utf-8?B?cEk4RUdaMU5WS1FlWmF3TzZCYVdNdTVqZjJkcGJnZjVVOEt5T1YvZmxBQTg0?= =?utf-8?B?Q2hrV2lTaDQ0cG1BTGFsamo0dWNOWS9qM0UvS0VjL3RlSnBjeDJmYmJzT1px?= =?utf-8?B?UWpYZHlkRE5IUks0Q0RmcTBwdWZhWDhPWXliMVpVcDdZUzM1dFF5a2NtWUZM?= =?utf-8?B?TlhRVTJieDhuM1I2bVhPclNzUDNBaUhUdHBiNzlTQld4ZWhLek5SQnhlaFBV?= =?utf-8?B?KythS2hUTDhVb2hZTFE5eks0MktReHpmSkNVVTJDN2FqN0lrNXVHbzBScmVi?= =?utf-8?B?Qm9vNEFYOThDUHBFOUcrdVJJcUJSQ05HQkpTeWZpTlcyVHVreUwwZVhGOWk1?= =?utf-8?B?Ymtad2krdGFKc3hheDNvTTNHU3NvbWRpdVNXVlYyaFROVlBRd0daSFFVSm1w?= =?utf-8?B?bmMwV1UvdmlJY0VTWm1KT0grS0hsK1JLcmk5SHE1OGtTT3J5SitGWURveGpo?= =?utf-8?B?cEFlbHNBb3BLaEM5b3g2dTdRQTFRRi9xcDRxR1EwSzV5RXpMWnZYVldnajQ0?= =?utf-8?B?Rm95azNabnNIYXJ4QnZjRlJldXdIQ1krVE52TUhtWkNrSFFya1VEZVY3SUZT?= =?utf-8?B?UmF4TkVnRk5xdk8vempFbVE5a3FLRWtxSkVGQ0hnRXZnTlpLVXdHNWVkcFB2?= =?utf-8?B?Q3AvK3BxVTNQT3k5QTBoVXNISU9CZFRlb003Y1BocDdWUS9xbkw2bE91a1hN?= =?utf-8?B?NkZVMGpUQlJIYnYvQzFMNlJSK0s1eW1WM3krN0Z0T2JPakRFOStZbHE5UG1p?= =?utf-8?B?cExjT2ZhaVgzTnlGRERZY2ZxRlNGY0g3MEl5SlpxUStwNW9uUk83dE1BQWZ4?= =?utf-8?B?VnVLdFNXQzhTVzUrRmpGa3B4Q3ZYYi9TZDhLQitwQmxOUDdZdCtsSGlTeHhr?= =?utf-8?B?eklOYzNWam16SEN6ck5wN2t0ekwxbHRFaEJSc1JaOWhGSllCZ2JWOEhZeVR2?= =?utf-8?B?RTRyT2IvLzBUMlVtOUNoZGE1TFZmU1hTNCthaGJjQnVqTFVIZEZhOXFJcXVQ?= =?utf-8?B?andjd1VWNzhMVjNrOE9KTDNkRzBWK1dSK1R1MVAyZjJIVUZWaXpXcVFaS0JJ?= =?utf-8?B?b1kzUTNmcE9wK1JMS25BcW1NUE5uTlExLzhKeThldXpFOEtCKzV3WDExU2h2?= =?utf-8?B?Rjc2TThzblI1dGtpbEZoRXl6emZ5bTB4UmV6dEdWMzNtNVBIc0lFUFNwSk9h?= =?utf-8?B?aFk4dGMwMzJodmFBRmNTOXU4VEF5ODVlQVZJbFZwdzBFdDJJNEVvR1hYanRC?= =?utf-8?B?Yi94Y0EwYUsrZE1zVWxrVENsbUhiNENyc3JucWpockY0bXYxbnRGTHNoN2ZZ?= =?utf-8?B?Q3ZnV1ZkRkk3WWljU1RMNE1CZzRSay8zN1l2YXpkbVNTVU1LU2RXQk1hSUMx?= =?utf-8?B?VHBISGpzUHI2L1RwdTkyVUNmbndsOUtaUjBuTjF0MHNhVC90eXoyNEt6NXdM?= =?utf-8?B?dHBYenZ5TDUzcWQweHp6eHRQWXNBN01PTkVQS1oyZk80U2tiVXRUSzRlY0VK?= =?utf-8?B?Z1FZNGx4cHZQUTFwLy8xbDRUQllxRk1ua0RXeS9lNnJzcjhiaFlhU3FFRVEv?= =?utf-8?B?S1puN1lCd3owUSsycXFGYTVSNURURnZxcEkydWhvNUNmbit3clJCZGRUaCsy?= =?utf-8?B?T3AzSUI5aE81cmJCU2NjUGZWVC9oS29KZjE5Yjh3OUlCb0wzSnV1QVFtUW00?= =?utf-8?B?QkJxY1hJZnBxR0IrQkRtM3MvMjlNbXMwMTE2WXNJb3RlM3cvVnFwTTduK1hu?= =?utf-8?B?NlJCMXAvRWEza1l0NkhQWmkzWEQ0cy9mZHVMOEc1azQzeURPZXYzSy9JVEgz?= =?utf-8?B?V2VaM1VPYTNoOHBmMjZuTVhoNHRwZjBnTldLdGJVdnhaS0F3eUJqTVNXdmhR?= =?utf-8?B?UmZ4dlVoZG1xbC9vRThYNnZrTWtmZ3FaanpIWnpITnAvbGtUMkQwMGhYMXhw?= =?utf-8?B?dFM3Uko1MkJLTjY0b2trY3dzOURTdFM0anhRSVNMZitSWU5rOVpPdStYdUQ1?= =?utf-8?B?TzhqMHhaRU1FZThvcnpqZE5TYVJlUzl0MFprM2xYZGVzbHIzZFdBcDhUUXRM?= =?utf-8?B?Ukp2cXpwM1ViQm44RGRMcHI5Mnl0NWVoRkVvaEZ6RU81QzBpOVFWc0hvZG9x?= =?utf-8?B?RTRpMmV6aE1BRHlNOGIrc0dUUnJ6ZVNOUUxBVUdmc3N0QjNabFJudz09?= 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: BN9PR11MB5513.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: c6508890-88ca-4b17-f65e-08da502b6f99 X-MS-Exchange-CrossTenant-originalarrivaltime: 17 Jun 2022 06:34:31.2054 (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: MMm5Bs6qtzUVUkbmFcFcNclTtjisWD2DguzwikEImdEj+nHmMDMevNKyQmhnIh/13q2xz5y6BoH4xm1hj1rYlA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN6PR11MB3455 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 SGkgRGF2aWQsDQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogRGF2aWQg TWFyY2hhbmQgPGRhdmlkLm1hcmNoYW5kQHJlZGhhdC5jb20+DQo+IFNlbnQ6IFRodXJzZGF5LCBK dW5lIDE2LCAyMDIyIDEwOjQwIFBNDQo+IFRvOiBEaW5nLCBYdWFuIDx4dWFuLmRpbmdAaW50ZWwu Y29tPg0KPiBDYzogTWF4aW1lIENvcXVlbGluIDxtYXhpbWUuY29xdWVsaW5AcmVkaGF0LmNvbT47 IFhpYSwgQ2hlbmJvDQo+IDxjaGVuYm8ueGlhQGludGVsLmNvbT47IGRldiA8ZGV2QGRwZGsub3Jn PjsgSHUsIEppYXl1DQo+IDxqaWF5dS5odUBpbnRlbC5jb20+OyBKaWFuZywgQ2hlbmcxIDxjaGVu ZzEuamlhbmdAaW50ZWwuY29tPjsgUGFpIEcsIFN1bmlsDQo+IDxzdW5pbC5wYWkuZ0BpbnRlbC5j b20+OyBsaWFuZ21hQGxpYW5nYml0LmNvbTsgV2FuZywgWXVhblgNCj4gPHl1YW54LndhbmdAaW50 ZWwuY29tPjsgTWNuYW1hcmEsIEpvaG4gPGpvaG4ubWNuYW1hcmFAaW50ZWwuY29tPg0KPiBTdWJq ZWN0OiBSZTogW1BBVENIIHY4IDQvNV0gdmhvc3Q6IHN1cHBvcnQgYXN5bmMgZGVxdWV1ZSBmb3Ig c3BsaXQgcmluZw0KPiANCj4gT24gVGh1LCBKdW4gMTYsIDIwMjIgYXQgNDozOCBQTSBEYXZpZCBN YXJjaGFuZA0KPiA8ZGF2aWQubWFyY2hhbmRAcmVkaGF0LmNvbT4gd3JvdGU6DQo+ID4NCj4gPiBP biBNb24sIE1heSAxNiwgMjAyMiBhdCAxOjE2IFBNIDx4dWFuLmRpbmdAaW50ZWwuY29tPiB3cm90 ZToNCj4gPiA+ICtzdGF0aWMgX19ydGVfYWx3YXlzX2lubGluZSB1aW50MTZfdA0KPiA+ID4gK3Zp cnRpb19kZXZfdHhfYXN5bmNfc3BsaXQoc3RydWN0IHZpcnRpb19uZXQgKmRldiwgc3RydWN0IHZo b3N0X3ZpcnRxdWV1ZQ0KPiAqdnEsDQo+ID4gPiArICAgICAgICAgICAgICAgc3RydWN0IHJ0ZV9t ZW1wb29sICptYnVmX3Bvb2wsIHN0cnVjdCBydGVfbWJ1ZiAqKnBrdHMsDQo+IHVpbnQxNl90IGNv dW50LA0KPiA+ID4gKyAgICAgICAgICAgICAgIGludDE2X3QgZG1hX2lkLCB1aW50MTZfdCB2Y2hh bl9pZCwgYm9vbA0KPiA+ID4gK2xlZ2FjeV9vbF9mbGFncykgew0KPiA+ID4gKyAgICAgICBzdGF0 aWMgYm9vbCBhbGxvY2Vycl93YXJuZWQ7DQo+ID4gPiArICAgICAgIGJvb2wgZHJvcHBlZCA9IGZh bHNlOw0KPiA+ID4gKyAgICAgICB1aW50MTZfdCBmcmVlX2VudHJpZXM7DQo+ID4gPiArICAgICAg IHVpbnQxNl90IHBrdF9pZHgsIHNsb3RfaWR4ID0gMDsNCj4gPiA+ICsgICAgICAgdWludDE2X3Qg bnJfZG9uZV9wa3RzID0gMDsNCj4gPiA+ICsgICAgICAgdWludDE2X3QgcGt0X2VyciA9IDA7DQo+ ID4gPiArICAgICAgIHVpbnQxNl90IG5feGZlcjsNCj4gPiA+ICsgICAgICAgc3RydWN0IHZob3N0 X2FzeW5jICphc3luYyA9IHZxLT5hc3luYzsNCj4gPiA+ICsgICAgICAgc3RydWN0IGFzeW5jX2lu ZmxpZ2h0X2luZm8gKnBrdHNfaW5mbyA9IGFzeW5jLT5wa3RzX2luZm87DQo+ID4gPiArICAgICAg IHN0cnVjdCBydGVfbWJ1ZiAqcGt0c19wcmVhbGxvY1tNQVhfUEtUX0JVUlNUXTsNCj4gPg0KPiA+ IFdoeSBkbyB3ZSBuZWVkIHRoaXMgYXJyYXk/DQo+ID4gUGx1cywgc2VlIGJsb3cuDQo+ID4NCj4g PiA+ICsgICAgICAgdWludDE2X3QgcGt0c19zaXplID0gY291bnQ7DQo+ID4gPiArDQo+ID4gPiAr ICAgICAgIC8qKg0KPiA+ID4gKyAgICAgICAgKiBUaGUgb3JkZXJpbmcgYmV0d2VlbiBhdmFpbCBp bmRleCBhbmQNCj4gPiA+ICsgICAgICAgICogZGVzYyByZWFkcyBuZWVkcyB0byBiZSBlbmZvcmNl ZC4NCj4gPiA+ICsgICAgICAgICovDQo+ID4gPiArICAgICAgIGZyZWVfZW50cmllcyA9IF9fYXRv bWljX2xvYWRfbigmdnEtPmF2YWlsLT5pZHgsDQo+IF9fQVRPTUlDX0FDUVVJUkUpIC0NCj4gPiA+ ICsgICAgICAgICAgICAgICAgICAgICAgIHZxLT5sYXN0X2F2YWlsX2lkeDsNCj4gPiA+ICsgICAg ICAgaWYgKGZyZWVfZW50cmllcyA9PSAwKQ0KPiA+ID4gKyAgICAgICAgICAgICAgIGdvdG8gb3V0 Ow0KPiA+ID4gKw0KPiA+ID4gKyAgICAgICBydGVfcHJlZmV0Y2gwKCZ2cS0+YXZhaWwtPnJpbmdb dnEtPmxhc3RfYXZhaWxfaWR4ICYNCj4gPiA+ICsgKHZxLT5zaXplIC0gMSldKTsNCj4gPiA+ICsN Cj4gPiA+ICsgICAgICAgYXN5bmNfaXRlcl9yZXNldChhc3luYyk7DQo+ID4gPiArDQo+ID4gPiAr ICAgICAgIGNvdW50ID0gUlRFX01JTihjb3VudCwgTUFYX1BLVF9CVVJTVCk7DQo+IA0KPiBeXl4N Cj4gT2ssIG15IHBvaW50IGFib3V0IHRoZSBvdmVyZmxvdyBkb2VzIG5vdCBzdGFuZC4NCj4gSnVz dCB0aGUgcGt0c19wcmVhbGxvYyBhcnJheSBpcyBwcm9iYWJseSB1c2VsZXNzLg0KDQpBbGxvY2F0 aW5nIGEgYnVsayBvZiBtYnVmcyBieSBydGVfcGt0bWJ1Zl9hbGxvY19idWxrKCkgaXMgZm9yIHBl cmZvcm1hbmNlIGNvbnNpZGVyYXRpb24uDQpUaGUgcGt0c19wcmVhbGxvYyBhcnJheSBpcyBmb3Ig a2VlcGluZyBhIHRlbXBvcmFyeSB2YXJpYWJsZSB0byBvcmRlcmx5IHVwZGF0ZSBhc3luY19pbmZs aWdodF9pbmZvLA0Kd2hpY2ggaXMgcmVxdWlyZWQgaW4gYXN5bmMgcGF0aC4NCg0KPiANCj4gPiA+ ICsgICAgICAgY291bnQgPSBSVEVfTUlOKGNvdW50LCBmcmVlX2VudHJpZXMpOw0KPiA+ID4gKyAg ICAgICBWSE9TVF9MT0dfREFUQShERUJVRywgIiglcykgYWJvdXQgdG8gZGVxdWV1ZSAldSBidWZm ZXJzXG4iLA0KPiA+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgZGV2LT5pZm5hbWUsIGNvdW50 KTsNCj4gPiA+ICsNCj4gPiA+ICsgICAgICAgaWYgKHJ0ZV9wa3RtYnVmX2FsbG9jX2J1bGsobWJ1 Zl9wb29sLCBwa3RzX3ByZWFsbG9jLCBjb3VudCkpDQo+ID4NCj4gPiAnY291bnQnIGlzIHByb3Zp ZGVkIGJ5IHRoZSB1c2VyIG9mIHRoZSB2aG9zdCBhc3luYyBkZXF1ZXVlIHB1YmxpYyBBUEkuDQo+ ID4gVGhlcmUgaXMgbm8gY2hlY2sgdGhhdCBpdCBpcyBub3QgYmlnZ2VyIHRoYW4gTUFYX1BLVF9C VVJTVC4NCj4gPg0KPiA+IENhbGxpbmcgcnRlX3BrdG1idWZfYWxsb2NfYnVsayBvbiBhIGZpeGVk LXNpemUgYXJyYXkgcGt0c19wcmVhbGxvYywNCj4gPiBhbGxvY2F0ZWQgb24gdGhlIHN0YWNrLCBp dCBtYXkgY2F1c2UgYSBzdGFjayBvdmVyZmxvdy4NCj4gDQo+IFRoZSByZXN0IHN0aWxsIHN0YW5k cyBmb3IgbWUuDQo+IHZ2dg0KPiANCj4gPg0KPiA+DQo+ID4NCj4gPiBUaGlzIGNvZGUgaXMgbW9z dGx5IGNvcHkvcGFzdGVkIGZyb20gdGhlICJzeW5jIiBjb2RlLg0KPiA+IEkgc2VlIGEgZml4IG9u IHRoZSBzdGF0cyBoYXMgYmVlbiBzZW50Lg0KDQpJIG5lZWQgdG8gZXhwbGFpbiB0aGUgZml4IGhl cmUuDQoNClRoZSBhc3luYyBkZXF1ZXVlIHBhdGNoZXMgYW5kIHN0YXRzIHBhdGNoZXMgd2VyZSBi b3RoIHNlbnQgb3V0DQphbmQgbWVyZ2VkIGluIHRoaXMgcmVsZWFzZSwgd2hpbGUgc3RhdHMgcGF0 Y2ggcmVxdWlyZXMgY2hhbmdlcyBpbiBib3RoIHN5bmMvYXN5bmMgZW5xDQphbmQgZGVxLiBTb3Jy eSBmb3Igbm90IG5vdGljZSB0aGlzIGNoYW5nZSBpbiB0aGUgc3RhdHMgcGF0Y2ggdGhhdCB3YXMg bWVyZ2VkIGZpcnN0LCBhbmQNCnRoYXQgaXMgdGhlIHJlYXNvbiBmb3IgdGhpcyBidWcuDQoNCj4g PiBJIHBvaW50IGhlcmUgYW5vdGhlciBidWcuDQo+ID4gVGhlcmUgYXJlIHByb2JhYmx5IG1vcmUu Li4NCj4gPg0KPiA+IDxncm1ibD4NCj4gPiBJIGRvbid0IGxpa2UgaG93IGFzeW5jIGNvZGUgaGFz IGJlZW4gYWRkZWQgaW4gdGhlIHZob3N0IGxpYnJhcnkgYnkgSW50ZWwuDQo+ID4NCj4gPiBNYXhp bWUgZGlkIGEgY2xlYW51cCBvbiB0aGUgZW5xdWV1ZSBwYXRjaA0KPiA+DQo+IGh0dHBzOi8vcGF0 Y2h3b3JrLmRwZGsub3JnL3Byb2plY3QvZHBkay9saXN0Lz9zZXJpZXM9MjAwMjAmc3RhdGU9JTJB JmFyDQo+IGNoaXZlPWJvdGguDQo+ID4gSSBzZWUgdGhhdCB0aGUgcmVjZW50IGRlcXVldWUgcGF0 aCBhZGRpdGlvbnMgaGF2ZSB0aGUgc2FtZSBtZXRob2Qgb2YNCj4gPiBjb3B5aW5nL3Bhc3Rpbmcg Y29kZSBhbmQgYWRkaW5nIHNvbWUgYnJhbmNoZXMgaW4gYSBub24gc3lzdGVtYXRpYyB3YXkuDQo+ ID4gUGxlYXNlIGNsZWFuIHRoaXMgY29kZSBhbmQgc3RvcCBjb3B5L3Bhc3Rpbmcgd2l0aG91dCBh IHZhbGlkIHJlYXNvbi4NCj4gPiA8L2dybWJsPg0KDQpUaGUgY2xlYW51cCBmb3IgdGhlIGNvZGUg aW4gZGVxdWV1ZSBwYXRjaCB3YXMgc3VnZ2VzdGVkIGluIFJGQyB2My4NCg0KaHR0cHM6Ly9wYXRj aHdvcmsuZHBkay5vcmcvcHJvamVjdC9kcGRrL3BhdGNoLzIwMjIwMzEwMDY1NDA3LjE3MTQ1LTIt eHVhbi5kaW5nQGludGVsLmNvbS8NCg0KV2l0aCBtZXJnaW5nIGNvcHlfZGVzY190b19tYnVmIGFu ZCBhc3luY19kZXNjX3RvX21idWYgaW4gYSBzaW5nbGUgZnVuY3Rpb24sIGFuZCByZXVzZSB0aGUN CmZpbGxfc2VnIGZ1bmN0aW9uLCB0aGUgY29kZSBjYW4gYmUgc2ltcGxpZmllZCB3aXRob3V0IHBl cmZvcm1hbmNlIGRlZ3JhZGF0aW9uLg0KDQpDb3VsZCB5b3UgaGVscCB0byBwb2ludCBvdXQgd2hl cmUgaW4gdGhlIGN1cnJlbnQgY29kZSB0aGF0IG5lZWRzIHRvIGJlIGZ1cnRoZXIgY2xlYW5lZD8N CkFyZSB5b3UgcmVmZXJyaW5nIHRvIHRoZSBjb21tb24gcGFydHMgb2YgYXN5bmMgZGVxIEFQSSBh bmQgc3luYyBkZXEgQVBJDQpjYW4gYmUgYWJzdHJhY3RlZCBpbnRvIGEgZnVuY3Rpb24sIHN1Y2gg YXMgQVJBUD8NCg0KaHR0cHM6Ly9wYXRjaHdvcmsuZHBkay5vcmcvcHJvamVjdC9kcGRrL3BhdGNo LzIwMjIwNTE2MTExMDQxLjYzOTE0LTUteHVhbi5kaW5nQGludGVsLmNvbS8NCg0KVGhlcmUgYXJl IGNvZGUgZHVwbGljYXRpb25zIGJldHdlZW4gYXN5bmMgZGVxIEFQSSBhbmQgc3luYyBkZXEgQVBJ LCB0aGVzZSBwYXJ0cyBhcmUgYm90aCBuZWVkZWQuDQpCdXQgdGhlIGNvZGUgY2xlYW4gb2YgZGVx dWV1ZSBpcyBieSBubyBtZWFucyBtaW5kbGVzcyBjb3B5L3Bhc3RpbmcuDQoNCkhvcGUgdG8gZ2V0 IHlvdXIgaW5zaWdodHMuDQoNClRoYW5rcywNClh1YW4NCg0KPiANCj4gDQo+IC0tDQo+IERhdmlk IE1hcmNoYW5kDQoNCg==