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 506AFA0C41; Wed, 15 Sep 2021 08:49:33 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 1CD014003F; Wed, 15 Sep 2021 08:49:33 +0200 (CEST) Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by mails.dpdk.org (Postfix) with ESMTP id 482B74003C for ; Wed, 15 Sep 2021 08:49:31 +0200 (CEST) X-IronPort-AV: E=McAfee;i="6200,9189,10107"; a="222277480" X-IronPort-AV: E=Sophos;i="5.85,294,1624345200"; d="scan'208";a="222277480" Received: from fmsmga005.fm.intel.com ([10.253.24.32]) by orsmga102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 14 Sep 2021 23:49:30 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.85,294,1624345200"; d="scan'208";a="700065538" Received: from orsmsx601.amr.corp.intel.com ([10.22.229.14]) by fmsmga005.fm.intel.com with ESMTP; 14 Sep 2021 23:49:30 -0700 Received: from orsmsx612.amr.corp.intel.com (10.22.229.25) by ORSMSX601.amr.corp.intel.com (10.22.229.14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.12; Tue, 14 Sep 2021 23:49:29 -0700 Received: from ORSEDG601.ED.cps.intel.com (10.7.248.6) by orsmsx612.amr.corp.intel.com (10.22.229.25) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.12 via Frontend Transport; Tue, 14 Sep 2021 23:49:29 -0700 Received: from NAM11-DM6-obe.outbound.protection.outlook.com (104.47.57.172) 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.2242.12; Tue, 14 Sep 2021 23:49:29 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=HjCMqXyOK7t4Zz8MXqjqCN4Qm2+lpBIA76oKumnL/hPYLGIHQSVg0a/6Cz0SJpDT6MnioX4Qpfdczg1i8EK4iRZIGj+dw8IELA3M9oGlJaOUJoGMhdGFu4qQnZGUPXtfsZ+tUFYRbPmzdXdpX4oOPG1v58ow83BSoECbJ1UiL0BBrpHBNnSbmX2u9A/LBXTN+QnSpJhBcfgGkkNtOYy3y+aC2q7DEfB1VgJJ0wqlA8DASdDEe6GOrXNp64qsYXSB29/xVIGyo4fVtNiUzBbEB3gArr8g5ZtyQVFqSSvpJW8uwcMsmKZ4pPssX5weoz4Cli2qLZF0/urfx1BV0EP1JQ== 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=zTcsCfkqmsIgh7FrfTYPePv/dRdE/tiRn7ZZK/qcnNc=; b=k2NxTNZ0Rhut67iiAZlcWbJrNUFijHMAMogElgbUOQolcUw/L5hX0649ok3YAMvXPCskt7FoPau5X7Nf+vWqtWwul1Z7/PPjZVisXSpWeR2fK7dlBTV9v1k8EWP2QUXOdXM+reoIxM+cecTLLsk3yNgSVCInXkr1wFItU6RvFrYD94rMYiVarsJa7M9l/X4xCCEZdMTEVaeWjOvPot+VoIxJAKKMSp+YF/1S3doYk+/W+jbywwBQUVJVNoeXkIoEFXWdv6G8GmEviWLv8ktcEA21h1UHcmYHdbvviwKhkSuairqY9tgs054xt6ugXdEpJfvwm7vOHHFHbz5KJTlubg== 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=zTcsCfkqmsIgh7FrfTYPePv/dRdE/tiRn7ZZK/qcnNc=; b=IWMp5jZvk+wDjDYrOb+oFTxhzTOo8WZ8OV74GUCDO2rk6XB6CSOLMuomO1dt8cGVb0LKhw1RWDiA7Wt4CQ/z0HprDd2BCMqRvCgLfYrJ/PHlB4k4CI5kOYSd3/EQjp/XjHc3QnsWwnv1Z2PQZXCAi3jfrxKjx4U9sDhTM6aL/Dk= Received: from MN2PR11MB4063.namprd11.prod.outlook.com (2603:10b6:208:13f::22) by MN2PR11MB3967.namprd11.prod.outlook.com (2603:10b6:208:13d::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 06:49:24 +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 06:49:24 +0000 From: "Xia, Chenbo" To: "Ding, Xuan" , "dev@dpdk.org" , "maxime.coquelin@redhat.com" CC: "Hu, Jiayu" , "cheng.jiang@intel.com" , "Richardson, Bruce" , "Pai G, Sunil" Thread-Topic: [PATCH] vhost: add unsafe API to check inflight packets Thread-Index: AQHXpT+5VPa/KazspEWF816vtf2vwqukrvTg Date: Wed, 15 Sep 2021 06:49:24 +0000 Message-ID: References: <20210909055758.106588-1-xuan.ding@intel.com> In-Reply-To: <20210909055758.106588-1-xuan.ding@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: 225ead3f-5629-4c2c-a3d7-08d97814f461 x-ms-traffictypediagnostic: MN2PR11MB3967: 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:9508; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 6VNqU6nBfsHNiBkdjc2P+Qr/ObqypXQykrzUCB+RPfz11pG3GaqoJ86uWakgMWJnESkC3z72fvwKp2T7SUwIYsnU2zkIXPHqRVZC/N1J2K7IRx0exqkB7QUAh5uKvkGbTrPJLCwgbsHzpAL1LZm32dCTtcuH5DonAZL6lLOj1mULnDeHdQWN6Bq/9jwggFLNGv7XL+Mq3/4J1IeN/djMpvsCfpIUDzLZtwxZynEOsJfIHHsa1n6uxJrogmictBQpgtM57JV7sh4n8LoWSzvjlIszp/bPEWTHED90edDzC3tNzUBMfJqEMUzzf1ydoIgUotvSWrXXXTvP5ZCrA8zD8i+90dcsPM+MGcSDbdXVRFAoyyoUtU2IhqWqYDeKjphKshzBjIGfNVikKo127hjCx181gydnxHGXfEYVcBk5yeg3gvqHWPc7FFzquF86oVA7SjmM+48KOD+TTIlGgYUNJZjEjVypBHOQI2/r/Blk1fFVGk0vOqfyg/kQANviG/qgRsT+m6R6dCNlNbs/IykeeU03/XppizgDkTPj+L7Lt83OhdlrSQnVRYh9I3WirWDUkVX8zgkvKXVklNs+yNifLfTc3dW+7HcIigMm1XN58GalLgk63GFXPbvqEA8JAO/sLHUNB7JOTbMTXMCu4OHiF/qHZFtmPZwm8ARB1kQk1rIYpAkf9S9Yp9EPMsFdpgDbSVpG97sYmnpVq3K0j+CuHQ== 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)(376002)(366004)(346002)(39860400002)(396003)(136003)(8936002)(66946007)(71200400001)(2906002)(52536014)(53546011)(6506007)(66476007)(64756008)(66556008)(66446008)(9686003)(7696005)(83380400001)(38100700002)(38070700005)(33656002)(186003)(26005)(122000001)(316002)(86362001)(478600001)(4326008)(5660300002)(8676002)(76116006)(55016002)(110136005)(54906003)(107886003); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?QkRUNlFWMmpLbUFYYVU1bkJab2hZVU5YUFVqZU5IQ2l0RC9VbzVzWXBYVFRE?= =?utf-8?B?aE1YWElEV3hIMXFNUWkwRGVFYkV3NVYwMFZCc2xZY0RmalhXY1JLQmlqV2RX?= =?utf-8?B?TXU5L1FvMTdXa1hsYzdURlltNlh5dDJlSVErak5BVFVDSmJRUVRFUkVUaTFn?= =?utf-8?B?TU9sQ0NRZDFkcnl6Z3kyV2l6RTRVeUpkZFRLTGVqOUorV1NZWElOVUVvSTBU?= =?utf-8?B?Zm5VWFRaRzhPNFpKL2c0b0xHVUJnRzFhT0tSTGhQUml1Z3E3YmtQNC9DTkcy?= =?utf-8?B?bkJnVmZiU0hzdEtoY2U1S2U4WVNFblFEcEJUaVpuc1paT0JGSno3UkNoTmgz?= =?utf-8?B?blk1cFlXdWtybXlpNU1OR1p0ck90U2k3M0pFaWV5RldDVUVxc0gyVGR1cjIv?= =?utf-8?B?ai9qa3ZYalVmRXJNVVVLaDRnUHMxejdsRDZhaDFDbW4yTE1ZdFpaMkg0TUJJ?= =?utf-8?B?NzBSR3JpNk9tc2RrN0lEMDN0QWtvZmRYa0Ziakt5dWxBRE14UjEraEg0Ymtw?= =?utf-8?B?alpCbHVCSVhFaHdsd2ZidmduS0FsKzBxYzVYRFRtdGVibHhuOFVHVXVWdGQr?= =?utf-8?B?TXc1ZVdYNGRuaHVGcnQyWVNqaW96UklzKy9UdkE2aExGc0R6U2IrMkR2V3Zv?= =?utf-8?B?bFBaY2tzNTZMWEpjbEZ1d0tBOVp1amxud1NVelFhVjBRRTNXZ3lwd2doeVdC?= =?utf-8?B?SEZKZ3hlUlJST1FjS0NsTGE5U1YrQlFmMm5Na2dSKzk0VWNsWFpFUTZNcE9G?= =?utf-8?B?NUorSUllb3IyTUJzWFVTZ2tzSkUxcHRjZ0pQNitidjZkMFNzbGY4OG9VZWxP?= =?utf-8?B?MEVNQ0NGNjNKVGY5VXlSMG9uLys5bFNRRThvVThQRDZwMWhtWVovMWNVbkF6?= =?utf-8?B?RXFxTTU5NjhJVEFJVDFmSGd6eEVRSGcwbzdGNWRNRUlvSFFsVUZQbEptSG1X?= =?utf-8?B?Q1NYeG9vY1RyN24zTlQzc09ZZzk4ZXlmeWc5cmU5VzJqZER2UHBaUUh5eDZF?= =?utf-8?B?UGxsRlhNNkdvY2paVHUxMHFGMnJ2dDR4ZnVPWUtYcmx4UG1nUzhObUJqYmI4?= =?utf-8?B?VERjWVJleUw1Y2ZWYmRlUUNkMjR2MEJQejRQbGZGT1NkMUJBWngxTUI2TWw4?= =?utf-8?B?THBDTTg3V2R2d0ZwdVJjd1NqQWY0Ym5xd0lqa0ptb3ZKSUJjMDZLaGhDZGFz?= =?utf-8?B?V2VNQnBGZzVqNzVlK2NQcENNbnZKd1c3d1A0UHVUT2M2ajJKUXRENkNvWDhz?= =?utf-8?B?NExxZTZCZG1CYUJQcStRRVdUYUduaFZKK2MvcENPQkxiSWxndzJ6bkJ6azB4?= =?utf-8?B?blBmdVdnd3lkN2ppRDVXMEFiSHVHaUhFeld2KzYyUUs4SldSa2dIUDBzYk5S?= =?utf-8?B?ZFVRN3U1ZDJDUWxqTHhuUlIyTzZDKzlOOTNvZlZwWitBbjJVQ093M2wwakli?= =?utf-8?B?YTQ5V2ViUXlHaklMNjF3SWYwQTN5MVFLZEZ3aGFHblRJelRUNWNTR0FHTDIr?= =?utf-8?B?SS84M1FnVnZCQUJNTWlaVUJBY3RhSldOd3BYeWVYQWRJRzM2L1M5OVJuaFZq?= =?utf-8?B?QXdYM2JhbVV5cGMxYjhkZXo5Yk5adk1Cakt0RllzN0dXVEhHaW9NQ1k5cXN4?= =?utf-8?B?bWhzZmF5U256WTV3WXRBOVhJQUQxSG9MYWRiYWsvV2NVSi9kVzljcDQ3SCtx?= =?utf-8?B?ZnMzMVhsWXM4b2RlK1JmeXdrdEk5RlpJZGMxK3V1cW5aTTY3UndiM1h2enpa?= =?utf-8?Q?tsIXNE9qeryoW+3N5Y=3D?= 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: 225ead3f-5629-4c2c-a3d7-08d97814f461 X-MS-Exchange-CrossTenant-originalarrivaltime: 15 Sep 2021 06:49:24.2515 (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: dBCtKKmLrE4vUoy2p/d5HT93RHsGLC+KOJUxaMKV2ztTOkqVq3XShguv/8x3yqSOlSwFshLLukf5wkokU2T7wg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR11MB3967 X-OriginatorOrg: intel.com Subject: Re: [dpdk-dev] [PATCH] vhost: add unsafe API to check inflight packets 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" SGkgWHVhbiwNCg0KPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBEaW5nLCBY dWFuIDx4dWFuLmRpbmdAaW50ZWwuY29tPg0KPiBTZW50OiBUaHVyc2RheSwgU2VwdGVtYmVyIDks IDIwMjEgMTo1OCBQTQ0KPiBUbzogZGV2QGRwZGsub3JnOyBtYXhpbWUuY29xdWVsaW5AcmVkaGF0 LmNvbTsgWGlhLCBDaGVuYm8NCj4gPGNoZW5iby54aWFAaW50ZWwuY29tPg0KPiBDYzogSHUsIEpp YXl1IDxqaWF5dS5odUBpbnRlbC5jb20+OyBjaGVuZy5qaWFuZ0BpbnRlbC5jb207IFJpY2hhcmRz b24sIEJydWNlDQo+IDxicnVjZS5yaWNoYXJkc29uQGludGVsLmNvbT47IFBhaSBHLCBTdW5pbCA8 c3VuaWwucGFpLmdAaW50ZWwuY29tPjsgRGluZywgWHVhbg0KPiA8eHVhbi5kaW5nQGludGVsLmNv bT4NCj4gU3ViamVjdDogW1BBVENIXSB2aG9zdDogYWRkIHVuc2FmZSBBUEkgdG8gY2hlY2sgaW5m bGlnaHQgcGFja2V0cw0KPiANCj4gSW4gYXN5bmMgZGF0YSBwYXRoLCB3aGVuIHZyaW5nIHN0YXRl IGNoYW5nZXMsIGl0IGlzIG5lY2Vzc2FyeSB0bw0KPiBrbm93IHRoZSBudW1iZXIgb2YgaW5mbGln aHQgcGFja2V0cyBpbiBETUEgZW5naW5lLiBUaGlzIHBhdGNoDQo+IHByb3ZpZGVzIGEgdGhyZWFk IHVuc2FmZSBBUEkgdG8gcmV0dXJuIHRoZSBudW1iZXIgb2YgaW5mbGlnaHQNCj4gcGFja2V0cyB3 aXRob3V0IHVzaW5nIGFueSBsb2NrLg0KPiANCj4gU2lnbmVkLW9mZi1ieTogWHVhbiBEaW5nIDx4 dWFuLmRpbmdAaW50ZWwuY29tPg0KPiAtLS0NCj4gIGRvYy9ndWlkZXMvcHJvZ19ndWlkZS92aG9z dF9saWIucnN0ICAgIHwgIDUgKysrKysNCj4gIGRvYy9ndWlkZXMvcmVsX25vdGVzL3JlbGVhc2Vf MjFfMTEucnN0IHwgIDUgKysrKysNCj4gIGxpYi92aG9zdC9ydGVfdmhvc3RfYXN5bmMuaCAgICAg ICAgICAgIHwgMTQgKysrKysrKysrKysrKysNCj4gIGxpYi92aG9zdC92ZXJzaW9uLm1hcCAgICAg ICAgICAgICAgICAgIHwgIDMgKysrDQo+ICBsaWIvdmhvc3Qvdmhvc3QuYyAgICAgICAgICAgICAg ICAgICAgICB8IDI1ICsrKysrKysrKysrKysrKysrKysrKysrKysNCj4gIDUgZmlsZXMgY2hhbmdl ZCwgNTIgaW5zZXJ0aW9ucygrKQ0KPiANCj4gZGlmZiAtLWdpdCBhL2RvYy9ndWlkZXMvcHJvZ19n dWlkZS92aG9zdF9saWIucnN0DQo+IGIvZG9jL2d1aWRlcy9wcm9nX2d1aWRlL3Zob3N0X2xpYi5y c3QNCj4gaW5kZXggODg3NDAzMzE2NS4uYjRiMTEzNGY1NCAxMDA2NDQNCj4gLS0tIGEvZG9jL2d1 aWRlcy9wcm9nX2d1aWRlL3Zob3N0X2xpYi5yc3QNCj4gKysrIGIvZG9jL2d1aWRlcy9wcm9nX2d1 aWRlL3Zob3N0X2xpYi5yc3QNCj4gQEAgLTMwNSw2ICszMDUsMTEgQEAgVGhlIGZvbGxvd2luZyBp cyBhbiBvdmVydmlldyBvZiBzb21lIGtleSBWaG9zdCBBUEkNCj4gZnVuY3Rpb25zOg0KPiAgICBU aGlzIGZ1bmN0aW9uIHJldHVybnMgdGhlIGFtb3VudCBvZiBpbi1mbGlnaHQgcGFja2V0cyBmb3Ig dGhlIHZob3N0DQo+ICAgIHF1ZXVlIHVzaW5nIGFzeW5jIGFjY2VsZXJhdGlvbi4NCj4gDQo+ICsg ICAgYGBydGVfdmhvc3RfYXN5bmNfZ2V0X2luZmxpZ2h0X3RocmVhZF91bnNhZmUodmlkLCBxdWV1 ZV9pZClgYA0KPiArDQo+ICsgIEdldCB0aGUgbnVtYmVyIG9mIGluZmxpZ2h0IHBhY2tldHMgZm9y IGEgdmhvc3QgcXVldWUgd2l0aG91dA0KPiArICBwZXJmb3JtaW5nIGFueSBsb2NraW5nLg0KPiAr DQo+ICAqIGBgcnRlX3Zob3N0X2NsZWFyX3F1ZXVlX3RocmVhZF91bnNhZmUodmlkLCBxdWV1ZV9p ZCwgKipwa3RzLCBjb3VudClgYA0KDQpUaGlzIGRvZXMgbm90IGFsaWduIHdpdGggb3RoZXJzLiBQ bGVhc2UgY2hlY2suDQoNCj4gDQo+ICAgIENsZWFyIGluZmxpZ2h0IHBhY2tldHMgd2hpY2ggYXJl IHN1Ym1pdHRlZCB0byBETUEgZW5naW5lIGluIHZob3N0IGFzeW5jDQo+IGRhdGENCj4gZGlmZiAt LWdpdCBhL2RvYy9ndWlkZXMvcmVsX25vdGVzL3JlbGVhc2VfMjFfMTEucnN0DQo+IGIvZG9jL2d1 aWRlcy9yZWxfbm90ZXMvcmVsZWFzZV8yMV8xMS5yc3QNCj4gaW5kZXggNjc1YjU3MzgzNC4uZGIw ODBlOTQ5MCAxMDA2NDQNCj4gLS0tIGEvZG9jL2d1aWRlcy9yZWxfbm90ZXMvcmVsZWFzZV8yMV8x MS5yc3QNCj4gKysrIGIvZG9jL2d1aWRlcy9yZWxfbm90ZXMvcmVsZWFzZV8yMV8xMS5yc3QNCj4g QEAgLTU1LDYgKzU1LDExIEBAIE5ldyBGZWF0dXJlcw0KPiAgICAgICBBbHNvLCBtYWtlIHN1cmUg dG8gc3RhcnQgdGhlIGFjdHVhbCB0ZXh0IGF0IHRoZSBtYXJnaW4uDQo+ICAgICAgID09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCj4gDQo+ICsq ICoqQWRkZWQgdmhvc3QgQVBJIHRvIGdldCB0aGUgbnVtYmVyIG9mIGluZmxpZ2h0IHBhY2tldHMu KioNCj4gKw0KPiArICBBZGRlZCBhbiBBUEkgd2hpY2ggY2FuIGdldCB0aGUgbnVtYmVyIG9mIGlu ZmxpZ2h0IHBhY2tldHMgaW4NCj4gKyAgdmhvc3QgYXN5bmMgZGF0YSBwYXRoLg0KPiArDQoNClBs ZWFzZSBhZGQgJ3dpdGhvdXQgbG9jaycgb3Igc29tZXRoaW5nIHNpbWlsYXIgYXMgd2UgYWxyZWFk eSBoYXZlIGEgbG9jayB2ZXJzaW9uLg0KDQo+ICAqICoqRW5hYmxlZCBuZXcgZGV2YXJncyBwYXJz ZXIuKioNCj4gDQo+ICAgICogRW5hYmxlZCBkZXZhcmdzIHN5bnRheA0KPiBkaWZmIC0tZ2l0IGEv bGliL3Zob3N0L3J0ZV92aG9zdF9hc3luYy5oIGIvbGliL3Zob3N0L3J0ZV92aG9zdF9hc3luYy5o DQo+IGluZGV4IGIyNWZmNDQ2ZjcuLjBhZjQxNGJmNzggMTAwNjQ0DQo+IC0tLSBhL2xpYi92aG9z dC9ydGVfdmhvc3RfYXN5bmMuaA0KPiArKysgYi9saWIvdmhvc3QvcnRlX3Zob3N0X2FzeW5jLmgN Cj4gQEAgLTI0Niw2ICsyNDYsMjAgQEAgdWludDE2X3QgcnRlX3Zob3N0X3BvbGxfZW5xdWV1ZV9j b21wbGV0ZWQoaW50IHZpZCwNCj4gdWludDE2X3QgcXVldWVfaWQsDQo+ICBfX3J0ZV9leHBlcmlt ZW50YWwNCj4gIGludCBydGVfdmhvc3RfYXN5bmNfZ2V0X2luZmxpZ2h0KGludCB2aWQsIHVpbnQx Nl90IHF1ZXVlX2lkKTsNCj4gDQo+ICsvKioNCj4gKyAqIFRoaXMgZnVuY3Rpb24gaXMgbG9jay1m cmVlIHZlcnNpb24gdG8gcmV0dXJuIHRoZSBhbW91bnQgb2YgaW4tZmxpZ2h0DQo+ICsgKiBwYWNr ZXRzIGZvciB0aGUgdmhvc3QgcXVldWUgd2hpY2ggdXNlcyBhc3luYyBjaGFubmVsIGFjY2VsZXJh dGlvbi4NCj4gKyAqDQo+ICsgKiBAcGFyYW0gdmlkDQo+ICsgKiAgaWQgb2Ygdmhvc3QgZGV2aWNl IHRvIGVucXVldWUgZGF0YQ0KPiArICogQHBhcmFtIHF1ZXVlX2lkDQo+ICsgKiAgcXVldWUgaWQg dG8gZW5xdWV1ZSBkYXRhDQoNCllvdSBjYW4gYWxzbyBjaGVjayBkZXF1ZXVlIGluZmxpZ2h0IHBh Y2tldHMsIHJpZ2h0Pw0KDQo+ICsgKiBAcmV0dXJuDQo+ICsgKiAgdGhlIGFtb3VudCBvZiBpbi1m bGlnaHQgcGFja2V0cyBvbiBzdWNjZXNzOyAtMSBvbiBmYWlsdXJlDQo+ICsgKi8NCj4gK19fcnRl X2V4cGVyaW1lbnRhbA0KPiAraW50IHJ0ZV92aG9zdF9hc3luY19nZXRfaW5mbGlnaHRfdGhyZWFk X3Vuc2FmZShpbnQgdmlkLCB1aW50MTZfdCBxdWV1ZV9pZCk7DQo+ICsNCj4gIC8qKg0KPiAgICog VGhpcyBmdW5jdGlvbiBjaGVja3MgYXN5bmMgY29tcGxldGlvbiBzdGF0dXMgYW5kIGNsZWFyIHBh Y2tldHMgZm9yDQo+ICAgKiBhIHNwZWNpZmljIHZob3N0IGRldmljZSBxdWV1ZS4gUGFja2V0cyB3 aGljaCBhcmUgaW5mbGlnaHQgd2lsbCBiZQ0KPiBkaWZmIC0tZ2l0IGEvbGliL3Zob3N0L3ZlcnNp b24ubWFwIGIvbGliL3Zob3N0L3ZlcnNpb24ubWFwDQo+IGluZGV4IGM5MmE5ZDQ5NjIuLmIxNTBk YzQwOGQgMTAwNjQ0DQo+IC0tLSBhL2xpYi92aG9zdC92ZXJzaW9uLm1hcA0KPiArKysgYi9saWIv dmhvc3QvdmVyc2lvbi5tYXANCj4gQEAgLTg1LDQgKzg1LDcgQEAgRVhQRVJJTUVOVEFMIHsNCj4g IAlydGVfdmhvc3RfYXN5bmNfY2hhbm5lbF9yZWdpc3Rlcl90aHJlYWRfdW5zYWZlOw0KPiAgCXJ0 ZV92aG9zdF9hc3luY19jaGFubmVsX3VucmVnaXN0ZXJfdGhyZWFkX3Vuc2FmZTsNCj4gIAlydGVf dmhvc3RfY2xlYXJfcXVldWVfdGhyZWFkX3Vuc2FmZTsNCj4gKw0KPiArCSNhZGRlZCBpbiAyMS4x MQ0KPiArCXJ0ZV92aG9zdF9hc3luY19nZXRfaW5mbGlnaHRfdGhyZWFkX3Vuc2FmZTsNCj4gIH07 DQo+IGRpZmYgLS1naXQgYS9saWIvdmhvc3Qvdmhvc3QuYyBiL2xpYi92aG9zdC92aG9zdC5jDQo+ IGluZGV4IDM1NWZmMzc2NTEuLmRmOTZmODQ4NzMgMTAwNjQ0DQo+IC0tLSBhL2xpYi92aG9zdC92 aG9zdC5jDQo+ICsrKyBiL2xpYi92aG9zdC92aG9zdC5jDQo+IEBAIC0xODg2LDUgKzE4ODYsMzAg QEAgaW50IHJ0ZV92aG9zdF9hc3luY19nZXRfaW5mbGlnaHQoaW50IHZpZCwgdWludDE2X3QNCj4g cXVldWVfaWQpDQo+ICAJcmV0dXJuIHJldDsNCj4gIH0NCj4gDQo+ICtpbnQgcnRlX3Zob3N0X2Fz eW5jX2dldF9pbmZsaWdodF90aHJlYWRfdW5zYWZlKGludCB2aWQsIHVpbnQxNl90IHF1ZXVlX2lk KQ0KDQpBY2NvcmRpbmcgdG8gRFBESyBjb2Rpbmcgc3R5bGUsIHJldHVybiB0eXBlIGFuZCBmdW5j IG5hbWUgc2hvdWxkIGJlIGluIGRpZmZlcmVudA0KbGluZXMuIEkgbm90aWNlIHRoZXJlIGFyZSBh bHNvIHNvbWUgbGVmdCB0byBjbGVhbi4gTWF5IGNsZWFuIGluIGFub3RoZXIgcGF0Y2guDQoNClRo YW5rcywNCkNoZW5ibyANCg0KPiArew0KPiArCXN0cnVjdCB2aG9zdF92aXJ0cXVldWUgKnZxOw0K PiArCXN0cnVjdCB2aXJ0aW9fbmV0ICpkZXYgPSBnZXRfZGV2aWNlKHZpZCk7DQo+ICsJaW50IHJl dCA9IC0xOw0KPiArDQo+ICsJaWYgKGRldiA9PSBOVUxMKQ0KPiArCQlyZXR1cm4gcmV0Ow0KPiAr DQo+ICsJaWYgKHF1ZXVlX2lkID49IFZIT1NUX01BWF9WUklORykNCj4gKwkJcmV0dXJuIHJldDsN Cj4gKw0KPiArCXZxID0gZGV2LT52aXJ0cXVldWVbcXVldWVfaWRdOw0KPiArDQo+ICsJaWYgKHZx ID09IE5VTEwpDQo+ICsJCXJldHVybiByZXQ7DQo+ICsNCj4gKwlpZiAoIXZxLT5hc3luY19yZWdp c3RlcmVkKQ0KPiArCQlyZXR1cm4gcmV0Ow0KPiArDQo+ICsJcmV0ID0gdnEtPmFzeW5jX3BrdHNf aW5mbGlnaHRfbjsNCj4gKw0KPiArCXJldHVybiByZXQ7DQo+ICt9DQo+ICsNCj4gIFJURV9MT0df UkVHSVNURVJfU1VGRklYKHZob3N0X2NvbmZpZ19sb2dfbGV2ZWwsIGNvbmZpZywgSU5GTyk7DQo+ ICBSVEVfTE9HX1JFR0lTVEVSX1NVRkZJWCh2aG9zdF9kYXRhX2xvZ19sZXZlbCwgZGF0YSwgV0FS TklORyk7DQo+IC0tDQo+IDIuMTcuMQ0KDQo=