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 E1060A0503; Tue, 29 Mar 2022 04:21:53 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 9301140691; Tue, 29 Mar 2022 04:21:53 +0200 (CEST) Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) by mails.dpdk.org (Postfix) with ESMTP id E5D3F4068E for ; Tue, 29 Mar 2022 04:21:51 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1648520512; x=1680056512; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=hxSgHlIJhORIWogxcYmkH5k10cQvK24B7Po4ciczEgU=; b=d1aDtU8qPDsxpxP1Gm69WBmSlAEseoAnotuPHNXr7ctvIlBo/NHTMZZk GrUUizI9aQpa+I8JFn2qI8bqf8hvlyO0NrjtsFT9PrGZln1vdphS+FE9n 2giKyunQkMUR29h5J+HRmKXn4S537ywfjaiN4UjWkObNsoxzskfQFWD5v edzInNz15W+My/vc8/T6NXxAh+TJTv9FkKeyww5jU6ChcV6FnqSztRLPo fXg3L2UIUT6iJ6Ch3Sg7DloKNMFswJaMPpV9z8jSgkmwuYWwX64lOjPLg SFtC9pD8yrPcBxxlS1bmpOz5wW2D1vUu4ZE3DSC2nT2TZi5QtAcP47tue g==; X-IronPort-AV: E=McAfee;i="6200,9189,10300"; a="322330445" X-IronPort-AV: E=Sophos;i="5.90,219,1643702400"; d="scan'208";a="322330445" Received: from fmsmga004.fm.intel.com ([10.253.24.48]) by orsmga105.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 28 Mar 2022 19:21:50 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.90,219,1643702400"; d="scan'208";a="617981633" Received: from orsmsx602.amr.corp.intel.com ([10.22.229.15]) by fmsmga004.fm.intel.com with ESMTP; 28 Mar 2022 19:21:50 -0700 Received: from orsmsx602.amr.corp.intel.com (10.22.229.15) by ORSMSX602.amr.corp.intel.com (10.22.229.15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.27; Mon, 28 Mar 2022 19:21:50 -0700 Received: from ORSEDG601.ED.cps.intel.com (10.7.248.6) by orsmsx602.amr.corp.intel.com (10.22.229.15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.27 via Frontend Transport; Mon, 28 Mar 2022 19:21:50 -0700 Received: from NAM10-MW2-obe.outbound.protection.outlook.com (104.47.55.100) by edgegateway.intel.com (134.134.137.102) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2308.21; Mon, 28 Mar 2022 19:21:49 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=XrAVvvSeaDkZX7HtythNBJb+GEEypI5sYqfNUESnaAh6W9Zr/cdio7uGWWxLb90yUVncKJqWu8mcyxgRFhUZMEyIYup7A0XvylFo3Vaylhp8ZWlZavMDCX2clySZNA6B6eba0VnN0iCCADoMkZvIK8RqjtDO15nUMsmCz7wnlQAoV2mcwiZ/npBJmOTI3d1Duqsuc1FDwsRaw9HsTInk7PBz5nbR7t6yn10QhXtIleSVQGshZFK5twkuquvjnTG8VqQQu0hW63lKFEz/3AyE4RArssozn/e4IoOO/aAHgLiHCcQoEtVkE7ScH5ozWhudMUMtPFdo2afqfLSKQRRjIw== 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=hxSgHlIJhORIWogxcYmkH5k10cQvK24B7Po4ciczEgU=; b=X6272PJo6bGAMs4DywSG7rknVK5jsrRxVnN0oZFcO/sNo2e+u3FWKzA0D9gJitM1Db8FGHKdIwr8pQVxbZr9VkILFsnIrYO35L1p/Rh4hb35YMEBvYPKoIGfbMiRWA2B/P+h9xpIdq+ofQdhc033dIJnxtscKar0U8jz11rvmYR+ZMlPAsKEK8MQ4BCydjJsAxlIXL/5W8pHs1gYUh3CPvk+it2FJAYlnAt4j/wGFvBQaiaS2x0Dd3+FG2zTgYlZ/tu38DgjE6zlwx0gYNZD9hOBLLxhK3Uay0aRgGg7wJUdZm0rnAmlSpBxEnY/pbYUYCmF5d0469s3EiNWdtH0xg== 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 BN6PR11MB3891.namprd11.prod.outlook.com (2603:10b6:405:77::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5102.16; Tue, 29 Mar 2022 02:21:44 +0000 Received: from BN9PR11MB5513.namprd11.prod.outlook.com ([fe80::d7:c1a5:3e30:8593]) by BN9PR11MB5513.namprd11.prod.outlook.com ([fe80::d7:c1a5:3e30:8593%2]) with mapi id 15.20.5102.022; Tue, 29 Mar 2022 02:21:44 +0000 From: "Ding, Xuan" To: Maxime Coquelin , "Xia, Chenbo" CC: "dev@dpdk.org" , "Hu, Jiayu" , "Pai G, Sunil" Subject: RE: [RFC 1/2] vhost: add unsafe API to check inflight packets Thread-Topic: [RFC 1/2] vhost: add unsafe API to check inflight packets Thread-Index: AQHYIwOYVRjiQ1rdcUCHtZMB1nByVKzVJHQAgAC7/3A= Date: Tue, 29 Mar 2022 02:21:43 +0000 Message-ID: References: <20220216070417.9597-1-xuan.ding@intel.com> <20220216070417.9597-2-xuan.ding@intel.com> <010d6382-866e-2492-b4f2-3825adeadf2b@redhat.com> In-Reply-To: <010d6382-866e-2492-b4f2-3825adeadf2b@redhat.com> 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.401.20 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: 43a44abc-8c5d-4476-ecb9-08da112ade55 x-ms-traffictypediagnostic: BN6PR11MB3891: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: jDfg0ENFhaj3FcFkT2viMeGTdrAW2jNnwKdnlmw/QYdOrpYrYjLw83ibXj9kSsfhwE3VWpWeATn+EubUaPgaHqId7vzX4tsiNbKPW3pLO1M6vchy0WhhI1egZz2EKmVkcSTuuBo2gWEcLGxPec6V4ClFwSnDTXd+8aUAHf+N4jdlwWZiWgx1qp6Npq5zsNlfIPu1GgW64pYpTbqqzh36YdmPZAU9RFsoQUxwCX9MjYkxdnng0vBYKvIizBPNfInSmWVNPxqZ1ZNKVLWbxsC+iz7l3LZ5EJ+/vHU/Zd/ZXDtOmz9M6B4IVxAypAX1X19QtrVX/88LJ/fc5Jt10S1NiEhbEuWyHIwWCErCC8kjmTJVg/sGhMUNdgCA6mpKydGw6OSYc5piJLgDlz1QlPRZF7RomU/ys1v8um2XQE1l6bKFkmDuWUh5BU86ybhowWTUGP1CtM9jJgvWRIjNeqYj/KVkqJX4O5Tca8yyp4F+6Aqv2yWA2Ajd2n5OuaRd758lx9aHDmM8dlPKWwkp8BVs6428XtstabfRmv47Et25+zoaEUxFSj742m/hnPfIVDIyXN3ECM3Ph16Nv5+HUtBPY+eAUt9M2mcL4yxLn5MlVCQzAciJad7nyM9Sx28YUm2UZvDmMYFQQQ7fE07Jlz06qot2t17XAF6I36gCeuCdWHdE1bRsRkaCP7y3/wA6qBb3 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:(13230001)(366004)(38070700005)(6636002)(66556008)(71200400001)(122000001)(316002)(54906003)(66476007)(82960400001)(66946007)(38100700002)(76116006)(64756008)(186003)(8676002)(4326008)(66446008)(107886003)(26005)(86362001)(110136005)(83380400001)(508600001)(2906002)(9686003)(55016003)(5660300002)(8936002)(33656002)(7696005)(6506007)(53546011)(52536014); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?RHhNaEtic1lZZk1YNTJvbDVreWE4MWlnV2tyWnJzZlFCOXprOUprRWpmODhY?= =?utf-8?B?RWplU2dXdVgyc0d5RmhZNEoyUEV2WnczZWdueXgzWDJlVjFNbXEwa0JSOFhD?= =?utf-8?B?Ujl1UllsM2tNOXVRZzJoWUQ0Ty9lQUJPK2hDQXRXL0hNSFg0V3FJckc4OFps?= =?utf-8?B?RDZOZGtjVmgweGJsMDg5OU5zWEFXbFh2amxPeWMzSXB6Q2ppZXh1Y2tVOXhr?= =?utf-8?B?M1c3SWpEVkMrMk9USzhTYSthcjVRVDVFRWxmb0VsNmdmSmZvRFp5YlBEUGRY?= =?utf-8?B?d2ZYL3RVMWxLTFNMTDdNSkhlTlU5dE5iN0k3ck9iTTlzTzY2MHdRdGp4S096?= =?utf-8?B?VkZRNWVEV0dXdE5EN25FemlieWJHcExIZ21EVVplbEdWRkhpeG5zWTJVb2tp?= =?utf-8?B?K3ptQ2I5Q2JQTWdBNFZDUXQ3d0xGc2ZMeUNDSTUwN2srNGpnMDNKMWtQRGUw?= =?utf-8?B?c2Flc2NkTnMxb1FYWGIwZzhJSng3aDZWUGdMUnZEZ0xpVDVlbVZSYVRXaXJn?= =?utf-8?B?VXdyRmZDdnNLd3JBdTFzZDY5c0JyZEM5b01XS1lqcGQ0eGE3T3FudVdXcFM5?= =?utf-8?B?RE1nTlFmNjMwdmcwMXlkTkpPTS9QUWxvM0Z0K1ZJRTFwSVY4azhodytrZERP?= =?utf-8?B?VjRHL3dMNzRERUFpcjJPdGxLNnlTSzVjd1BsNmczQVZBYno1Z2R2V0lUY0pE?= =?utf-8?B?dXBRcEM5Snd4dFlPR0gyMXBIa2tBVm1MVEI4dmtCMmxIWnNvUFd0WklvcmlI?= =?utf-8?B?ZGZBakRLK1AwVkhIMTBmd1NwbnA1Y3FmY1BKVjVuSW8rNnY2aG9GUWcrREtO?= =?utf-8?B?NUY3cFRDaldzL1M5RFlZWStKL1dJZHVqQ2QrL2xNNm0zajhQWi9qeGErUk4w?= =?utf-8?B?TjFvOWt2OUNpbmsxbVB2MUVQS1ZDT3VYeFBxbzJ3ckxrYi9lS3Zhdzd4N20v?= =?utf-8?B?MzFDR1E2bHBQcjU4TVVJd1NGazhMT3pCOVhjcERPMVZzdlV6WklabnpkUm1a?= =?utf-8?B?bVpLbEljcmxOUkxESXJKY2ZjZ09EamYzcU5qSU1MS0UzZWIraHNycmdjOFlQ?= =?utf-8?B?VHlydWt5WUJ0UHkzZ0NpYWNLcjVkalIwdXlXOXNMNFBhZ0doMmtoRkRwaHFY?= =?utf-8?B?aWJ3bVJZWTJCVkJWOEZqL1pkT0dMRGlMREhzR1FDbTRMWFJjcTM1RjYzbW9z?= =?utf-8?B?bWNRai9Jcm5rbjRWRGdmUDFRVXVIdlo4a1pnSitkeHd3RlhhaHFKRm05S0o1?= =?utf-8?B?SDNZTHdNOXEza0MrSTdnTnhDNEE0b09hK3dncGorMUpwSTJ2RUkzVHgwZkdE?= =?utf-8?B?RWpnb080NzQ2NVdNOW9jYU96VzNZSm1rbFlkTGIyUXByNUtKRnpuRzFkQ0Rk?= =?utf-8?B?enVxN3dDYW9Bc3BvRit5MG5YOFVDZVQ5ZzZERFhKS292MHprSk9rd0Rlbnl3?= =?utf-8?B?bGw4WU1ZWllkb3N3eGZsZjlGMHdxTjU5SjNMS3RkSjgrQkluTG9EMm9KWG1q?= =?utf-8?B?N1UvN3dZR1g5aGc1ck9NaUZEdnhDenBQNyttZ1ZnNkR2L2tlcG9vMVlwczVj?= =?utf-8?B?Q2tpWE9ObzU0YjhSd0RtaWJ6RmNYcExNakoxdnh0cERpUXV4L3Q1S2daSG9M?= =?utf-8?B?cXgrOWZ0SG1FVXFiMEdkU1JhdEVaMG1EbTlMSGszdEdyeERUV2pKR2VRaU9C?= =?utf-8?B?eUhtWVhoS3pITzdhRWI3SWgyY1hjNmNxSWNLK2JBQ1BIbjU5ZWF6Yi9rNjFz?= =?utf-8?B?WlJwRkJ1UnpyeTQrN2NHeWhXcDYvYjkxa2ZBNnBXcE4vRWUrN1owSzY0ZTJW?= =?utf-8?B?cFFLYVVnd3EweGlIWEdZZ3BFZ2NTM2pUZm1VRWF0cDJoMEYwcmNjUWlFVVR3?= =?utf-8?B?L2NocUZnR3FheGZKazBWNk00Vnl4U29LaGUyMmtmTWNiZXdpa09iMEV0cmpX?= =?utf-8?B?aU1aMVoySDlDRGIram1mUDN4NG9mbnRkSi9icWd5Y3hOanhnOUVrUjZTNXo2?= =?utf-8?B?ZGg2TEJGWHQyWWRJcjQ3UEZBNmVZRmJyZjJjbGtjeWg1c1pjelpBTUFrUThV?= =?utf-8?B?QXZ2NURiRDV6T0doelFCV1V0Nkx1UEhiR3I2RWwxejRES1d5MnozbXJZbmdj?= =?utf-8?B?RlBSU2JHNHRmZmhYOXh6QzIwK3BwYitGTEhyeXBDOW16b3kwdGZYNmtWVzRZ?= =?utf-8?B?R0s3NVQ3dWI1ejJhS1FtL2p3K0lWZnhiSlZoTUtHNUVaNmd4Q1I3ZUVFL2Qz?= =?utf-8?B?U2xNcCthZjVydFNZSHVVT3FOYTVIZXRzMlBHWkQ5c2duTm10TEI2MDVvcjVn?= =?utf-8?B?TlFvbGlMWm9BdmxpQVRnSVUyM3ZNZkdBU001MWZRcVhXN1BVT0c4Zz09?= 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: 43a44abc-8c5d-4476-ecb9-08da112ade55 X-MS-Exchange-CrossTenant-originalarrivaltime: 29 Mar 2022 02:21:44.1255 (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: MicyJXIhcuCUGNAzqY2hMLnrYFqV1Uvg+aEROQJ21EubCA9rtYd9oGrH6Hlm+8wI3gG8SaSClJRGmjrp0Ys9Ug== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN6PR11MB3891 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 SGkgTWF4aW1lLA0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IE1heGlt ZSBDb3F1ZWxpbiA8bWF4aW1lLmNvcXVlbGluQHJlZGhhdC5jb20+DQo+IFNlbnQ6IE1vbmRheSwg TWFyY2ggMjgsIDIwMjIgMTE6MDUgUE0NCj4gVG86IERpbmcsIFh1YW4gPHh1YW4uZGluZ0BpbnRl bC5jb20+OyBYaWEsIENoZW5ibyA8Y2hlbmJvLnhpYUBpbnRlbC5jb20+DQo+IENjOiBkZXZAZHBk ay5vcmc7IEh1LCBKaWF5dSA8amlheXUuaHVAaW50ZWwuY29tPjsgUGFpIEcsIFN1bmlsDQo+IDxz dW5pbC5wYWkuZ0BpbnRlbC5jb20+DQo+IFN1YmplY3Q6IFJlOiBbUkZDIDEvMl0gdmhvc3Q6IGFk ZCB1bnNhZmUgQVBJIHRvIGNoZWNrIGluZmxpZ2h0IHBhY2tldHMNCj4gDQo+IEhpIFh1YW4sDQo+ IA0KPiBPbiAyLzE2LzIyIDA4OjA0LCB4dWFuLmRpbmdAaW50ZWwuY29tIHdyb3RlOg0KPiA+IEZy b206IFh1YW4gRGluZyA8eHVhbi5kaW5nQGludGVsLmNvbT4NCj4gPg0KPiA+IEluIGFzeW5jIGRh dGEgcGF0aCwgd2hlbiB2cmluZyBzdGF0ZSBjaGFuZ2VzIG9yIGRldmljZSBpcyBkZXN0cm95ZWQs DQo+ID4gaXQgaXMgbmVjZXNzYXJ5IHRvIGtub3cgdGhlIG51bWJlciBvZiBpbmZsaWdodCBwYWNr ZXRzIGluIERNQSBlbmdpbmUuDQo+ID4gVGhpcyBwYXRjaCBwcm92aWRlcyBhIHRocmVhZCB1bnNh ZmUgQVBJIHRvIHJldHVybiB0aGUgbnVtYmVyIG9mDQo+ID4gaW5mbGlnaHQgcGFja2V0cyBmb3Ig YSB2aG9zdCBxdWV1ZSB3aXRob3V0IHVzaW5nIGFueSBsb2NrLg0KPiA+DQo+ID4gU2lnbmVkLW9m Zi1ieTogWHVhbiBEaW5nIDx4dWFuLmRpbmdAaW50ZWwuY29tPg0KPiA+IC0tLQ0KPiA+ICAgZG9j L2d1aWRlcy9wcm9nX2d1aWRlL3Zob3N0X2xpYi5yc3QgICAgfCAgNSArKysrKw0KPiA+ICAgZG9j L2d1aWRlcy9yZWxfbm90ZXMvcmVsZWFzZV8yMl8wMy5yc3QgfCAgNCArKysrDQo+ID4gICBsaWIv dmhvc3QvcnRlX3Zob3N0X2FzeW5jLmggICAgICAgICAgICB8IDE0ICsrKysrKysrKysrKysrDQo+ ID4gICBsaWIvdmhvc3QvdmVyc2lvbi5tYXAgICAgICAgICAgICAgICAgICB8ICAxICsNCj4gPiAg IGxpYi92aG9zdC92aG9zdC5jICAgICAgICAgICAgICAgICAgICAgIHwgMjYgKysrKysrKysrKysr KysrKysrKysrKysrKysNCj4gPiAgIDUgZmlsZXMgY2hhbmdlZCwgNTAgaW5zZXJ0aW9ucygrKQ0K PiA+DQo+ID4gZGlmZiAtLWdpdCBhL2RvYy9ndWlkZXMvcHJvZ19ndWlkZS92aG9zdF9saWIucnN0 DQo+ID4gYi9kb2MvZ3VpZGVzL3Byb2dfZ3VpZGUvdmhvc3RfbGliLnJzdA0KPiA+IGluZGV4IDg4 NmY4ZjVlNzIuLmY5NTI4OGQxMjggMTAwNjQ0DQo+ID4gLS0tIGEvZG9jL2d1aWRlcy9wcm9nX2d1 aWRlL3Zob3N0X2xpYi5yc3QNCj4gPiArKysgYi9kb2MvZ3VpZGVzL3Byb2dfZ3VpZGUvdmhvc3Rf bGliLnJzdA0KPiA+IEBAIC0yNzEsNiArMjcxLDExIEBAIFRoZSBmb2xsb3dpbmcgaXMgYW4gb3Zl cnZpZXcgb2Ygc29tZSBrZXkgVmhvc3QNCj4gQVBJIGZ1bmN0aW9uczoNCj4gPiAgICAgVGhpcyBm dW5jdGlvbiByZXR1cm5zIHRoZSBhbW91bnQgb2YgaW4tZmxpZ2h0IHBhY2tldHMgZm9yIHRoZSB2 aG9zdA0KPiA+ICAgICBxdWV1ZSB1c2luZyBhc3luYyBhY2NlbGVyYXRpb24uDQo+ID4NCj4gPiAr ICogYGBydGVfdmhvc3RfYXN5bmNfZ2V0X2luZmxpZ2h0X3RocmVhZF91bnNhZmUodmlkLCBxdWV1 ZV9pZClgYA0KPiA+ICsNCj4gPiArICBHZXQgdGhlIG51bWJlciBvZiBpbmZsaWdodCBwYWNrZXRz IGZvciBhIHZob3N0IHF1ZXVlIHdpdGhvdXQNCj4gPiArIHBlcmZvcm1pbmcgYW55IGxvY2tpbmcu DQo+IA0KPiBIZXJlIGFuZCBiZWxvdyBpbiB0aGUgQVBJIGRvYywgSSB3b3VsZCBhZGQgdGhhdCBp dCBzaG91bGQgb25seSBiZSB1c2VkIHdpdGhpbg0KPiB0aGUgdmhvc3Qgb3BzLCB3aGljaCBhbHJl YWR5IGhvbGQgdGhlIGxvY2suDQoNClRoYW5rcyBmb3IgdGhlIHJldmlzaW9uIG9uIHRoZSBkb2Mu DQoNCj4gDQo+ID4gKw0KPiA+ICAgKiBgYHJ0ZV92aG9zdF9jbGVhcl9xdWV1ZV90aHJlYWRfdW5z YWZlKHZpZCwgcXVldWVfaWQsICoqcGt0cywNCj4gPiBjb3VudCwgZG1hX2lkLCB2Y2hhbl9pZClg YA0KPiA+DQo+ID4gICAgIENsZWFyIGluZmxpZ2h0IHBhY2tldHMgd2hpY2ggYXJlIHN1Ym1pdHRl ZCB0byBETUEgZW5naW5lIGluIHZob3N0DQo+ID4gYXN5bmMgZGF0YSBkaWZmIC0tZ2l0IGEvZG9j L2d1aWRlcy9yZWxfbm90ZXMvcmVsZWFzZV8yMl8wMy5yc3QNCj4gPiBiL2RvYy9ndWlkZXMvcmVs X25vdGVzL3JlbGVhc2VfMjJfMDMucnN0DQo+ID4gaW5kZXggZmYzMDk1ZDc0Mi4uMzdlZjM3YmIy MCAxMDA2NDQNCj4gPiAtLS0gYS9kb2MvZ3VpZGVzL3JlbF9ub3Rlcy9yZWxlYXNlXzIyXzAzLnJz dA0KPiA+ICsrKyBiL2RvYy9ndWlkZXMvcmVsX25vdGVzL3JlbGVhc2VfMjJfMDMucnN0DQo+ID4g QEAgLTE0OSw2ICsxNDksMTAgQEAgTmV3IEZlYXR1cmVzDQo+ID4gICAgICogQ2FsbGVkIGBgcnRl X2lwdjQvNl91ZHB0Y3BfY2tzdW1fbWJ1ZigpYGAgZnVuY3Rpb25zIGluIHRlc3RwbWQgY3N1bQ0K PiBtb2RlDQo+ID4gICAgICAgdG8gc3VwcG9ydCBzb2Z0d2FyZSBVRFAvVENQIGNoZWNrc3VtIG92 ZXIgbXVsdGlwbGUgc2VnbWVudHMuDQo+ID4NCj4gPiArKiAqKkFkZGVkIHZob3N0IEFQSSB0byBn ZXQgdGhlIG51bWJlciBvZiBpbmZsaWdodCBwYWNrZXRzLioqDQo+ID4gKw0KPiA+ICsgIEFkZGVk IGFuIEFQSSB3aGljaCBjYW4gZ2V0IHRoZSBudW1iZXIgb2YgaW5mbGlnaHQgcGFja2V0cyBpbiAg dmhvc3QNCj4gPiArIGFzeW5jIGRhdGEgcGF0aCB3aXRob3V0IHVzaW5nIGxvY2suDQo+ID4NCj4g PiAgIFJlbW92ZWQgSXRlbXMNCj4gPiAgIC0tLS0tLS0tLS0tLS0NCj4gPiBkaWZmIC0tZ2l0IGEv bGliL3Zob3N0L3J0ZV92aG9zdF9hc3luYy5oIGIvbGliL3Zob3N0L3J0ZV92aG9zdF9hc3luYy5o DQo+ID4gaW5kZXggODM4YzQ3NzhjYy4uMDZiMGIwYTU3OSAxMDA2NDQNCj4gPiAtLS0gYS9saWIv dmhvc3QvcnRlX3Zob3N0X2FzeW5jLmgNCj4gPiArKysgYi9saWIvdmhvc3QvcnRlX3Zob3N0X2Fz eW5jLmgNCj4gPiBAQCAtMTM1LDYgKzEzNSwyMCBAQCB1aW50MTZfdCBydGVfdmhvc3RfcG9sbF9l bnF1ZXVlX2NvbXBsZXRlZChpbnQNCj4gdmlkLCB1aW50MTZfdCBxdWV1ZV9pZCwNCj4gPiAgIF9f cnRlX2V4cGVyaW1lbnRhbA0KPiA+ICAgaW50IHJ0ZV92aG9zdF9hc3luY19nZXRfaW5mbGlnaHQo aW50IHZpZCwgdWludDE2X3QgcXVldWVfaWQpOw0KPiA+DQo+ID4gKy8qKg0KPiA+ICsgKiBUaGlz IGZ1bmN0aW9uIGlzIGxvY2stZnJlZSB2ZXJzaW9uIHRvIHJldHVybiB0aGUgYW1vdW50IG9mDQo+ ID4gK2luLWZsaWdodA0KPiA+ICsgKiBwYWNrZXRzIGZvciB0aGUgdmhvc3QgcXVldWUgd2hpY2gg dXNlcyBhc3luYyBjaGFubmVsIGFjY2VsZXJhdGlvbi4NCj4gPiArICoNCj4gPiArICogQHBhcmFt IHZpZA0KPiA+ICsgKiBpZCBvZiB2aG9zdCBkZXZpY2UgdG8gZW5xdWV1ZSBkYXRhDQo+ID4gKyAq IEBwYXJhbSBxdWV1ZV9pZA0KPiA+ICsgKiBxdWV1ZSBpZCB0byBlbnF1ZXVlIGRhdGENCj4gPiAr ICogQHJldHVybg0KPiA+ICsgKiB0aGUgYW1vdW50IG9mIGluLWZsaWdodCBwYWNrZXRzIG9uIHN1 Y2Nlc3M7IC0xIG9uIGZhaWx1cmUgICovDQo+ID4gK19fcnRlX2V4cGVyaW1lbnRhbCBpbnQgcnRl X3Zob3N0X2FzeW5jX2dldF9pbmZsaWdodF90aHJlYWRfdW5zYWZlKGludA0KPiA+ICt2aWQsIHVp bnQxNl90IHF1ZXVlX2lkKTsNCj4gPiArDQo+ID4gICAvKioNCj4gPiAgICAqIFRoaXMgZnVuY3Rp b24gY2hlY2tzIGFzeW5jIGNvbXBsZXRpb24gc3RhdHVzIGFuZCBjbGVhciBwYWNrZXRzIGZvcg0K PiA+ICAgICogYSBzcGVjaWZpYyB2aG9zdCBkZXZpY2UgcXVldWUuIFBhY2tldHMgd2hpY2ggYXJl IGluZmxpZ2h0IHdpbGwgYmUNCj4gPiBkaWZmIC0tZ2l0IGEvbGliL3Zob3N0L3ZlcnNpb24ubWFw IGIvbGliL3Zob3N0L3ZlcnNpb24ubWFwIGluZGV4DQo+ID4gMTIwMmJhOWMxYS4uMDNiNDZjYjEw ZSAxMDA2NDQNCj4gPiAtLS0gYS9saWIvdmhvc3QvdmVyc2lvbi5tYXANCj4gPiArKysgYi9saWIv dmhvc3QvdmVyc2lvbi5tYXANCj4gPiBAQCAtODcsNiArODcsNyBAQCBFWFBFUklNRU5UQUwgew0K PiA+DQo+ID4gICAJIyBhZGRlZCBpbiAyMi4wMw0KPiA+ICAgCXJ0ZV92aG9zdF9hc3luY19kbWFf Y29uZmlndXJlOw0KPiA+ICsJcnRlX3Zob3N0X2FzeW5jX2dldF9pbmZsaWdodF90aHJlYWRfdW5z YWZlOw0KPiANCj4gRG9uJ3QgZm9yZ2V0IHRvIG1vdmUgaXQgdG8gImFkZGVkIGluIDIyLjA3Ii4N Cg0KU3VyZSwgSSB3aWxsIHNlbmQgYSB2MSB2ZXJzaW9uIGluIDIyLjA3Lg0KVGhhbmtzIGZvciB5 b3VyIGNvbW1lbnRzLg0KDQpSZWdhcmRzLA0KWHVhbg0KDQo+IA0KPiA+ICAgfTsNCj4gPg0KPiA+ ICAgSU5URVJOQUwgew0KPiA+IGRpZmYgLS1naXQgYS9saWIvdmhvc3Qvdmhvc3QuYyBiL2xpYi92 aG9zdC92aG9zdC5jIGluZGV4DQo+ID4gNmJjYjcxNmRlMC4uMzNkY2E2MmM2YyAxMDA2NDQNCj4g PiAtLS0gYS9saWIvdmhvc3Qvdmhvc3QuYw0KPiA+ICsrKyBiL2xpYi92aG9zdC92aG9zdC5jDQo+ ID4gQEAgLTE5MDcsNiArMTkwNywzMiBAQCBydGVfdmhvc3RfYXN5bmNfZ2V0X2luZmxpZ2h0KGlu dCB2aWQsIHVpbnQxNl90DQo+IHF1ZXVlX2lkKQ0KPiA+ICAgCXJldHVybiByZXQ7DQo+ID4gICB9 DQo+ID4NCj4gPiAraW50DQo+ID4gK3J0ZV92aG9zdF9hc3luY19nZXRfaW5mbGlnaHRfdGhyZWFk X3Vuc2FmZShpbnQgdmlkLCB1aW50MTZfdA0KPiA+ICtxdWV1ZV9pZCkgew0KPiA+ICsJc3RydWN0 IHZob3N0X3ZpcnRxdWV1ZSAqdnE7DQo+ID4gKwlzdHJ1Y3QgdmlydGlvX25ldCAqZGV2ID0gZ2V0 X2RldmljZSh2aWQpOw0KPiA+ICsJaW50IHJldCA9IC0xOw0KPiA+ICsNCj4gPiArCWlmIChkZXYg PT0gTlVMTCkNCj4gPiArCQlyZXR1cm4gcmV0Ow0KPiA+ICsNCj4gPiArCWlmIChxdWV1ZV9pZCA+ PSBWSE9TVF9NQVhfVlJJTkcpDQo+ID4gKwkJcmV0dXJuIHJldDsNCj4gPiArDQo+ID4gKwl2cSA9 IGRldi0+dmlydHF1ZXVlW3F1ZXVlX2lkXTsNCj4gPiArDQo+ID4gKwlpZiAodnEgPT0gTlVMTCkN Cj4gPiArCQlyZXR1cm4gcmV0Ow0KPiA+ICsNCj4gPiArCWlmICghdnEtPmFzeW5jKQ0KPiA+ICsJ CXJldHVybiByZXQ7DQo+ID4gKw0KPiA+ICsJcmV0ID0gdnEtPmFzeW5jLT5wa3RzX2luZmxpZ2h0 X247DQo+ID4gKw0KPiA+ICsJcmV0dXJuIHJldDsNCj4gPiArfQ0KPiA+ICsNCj4gPiAgIGludA0K PiA+ICAgcnRlX3Zob3N0X2dldF9tb25pdG9yX2FkZHIoaW50IHZpZCwgdWludDE2X3QgcXVldWVf aWQsDQo+ID4gICAJCXN0cnVjdCBydGVfdmhvc3RfcG93ZXJfbW9uaXRvcl9jb25kICpwbWMpDQoN Cg==