From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-13.6 required=3.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id CD453C432BE for ; Tue, 31 Aug 2021 02:02:43 +0000 (UTC) Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by mail.kernel.org (Postfix) with ESMTP id 3B9AE600AA for ; Tue, 31 Aug 2021 02:02:43 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.4.1 mail.kernel.org 3B9AE600AA Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=intel.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=dpdk.org Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 0376D410F6; Tue, 31 Aug 2021 04:02:42 +0200 (CEST) Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by mails.dpdk.org (Postfix) with ESMTP id A820D410DC for ; Tue, 31 Aug 2021 04:02:39 +0200 (CEST) X-IronPort-AV: E=McAfee;i="6200,9189,10092"; a="215258093" X-IronPort-AV: E=Sophos;i="5.84,365,1620716400"; d="scan'208";a="215258093" Received: from fmsmga004.fm.intel.com ([10.253.24.48]) by fmsmga102.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 30 Aug 2021 19:02:38 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.84,365,1620716400"; d="scan'208";a="519370506" Received: from fmsmsx605.amr.corp.intel.com ([10.18.126.85]) by fmsmga004.fm.intel.com with ESMTP; 30 Aug 2021 19:02:38 -0700 Received: from fmsmsx611.amr.corp.intel.com (10.18.126.91) by fmsmsx605.amr.corp.intel.com (10.18.126.85) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.4; Mon, 30 Aug 2021 19:02:38 -0700 Received: from fmsedg601.ED.cps.intel.com (10.1.192.135) by fmsmsx611.amr.corp.intel.com (10.18.126.91) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.10 via Frontend Transport; Mon, 30 Aug 2021 19:02:38 -0700 Received: from NAM11-BN8-obe.outbound.protection.outlook.com (104.47.58.168) by edgegateway.intel.com (192.55.55.70) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2242.10; Mon, 30 Aug 2021 19:02:37 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=a6XsuMAZh7H7iqaIXsdDDA3rozWc4gFvYNLSWUEFLuU4k6Aax5tYOJ1uRCJYIbjgWM738ddDIlOQuVrXoXIH/gwIqGjM1mLLv8D5wUIMAkfBJiCaP3LMZ28/uamialLhN0StXqE0T5Kz8W26NnJducuJMgNeI8yYpT60stnPkEHO+JEVIWnfGlty5EYx0pw0ZPNPeJbgZTevl2dMhPQtUueQW3wcvOByPGXZxp5IQgUwTZ35LMNjb/AMEGnlWep99x4h2LnyzT0IyMduLIROat4+SFRsG+UkMrR14772Xds/NP+SHtwQy00gKZ5loV26K7Ev/JWKqpHKNEP9SvY4sA== 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=x4wYEwn/IsGyW4IxaiKCteVBM54BLXtNAznf0HY1PFE=; b=oSQ63hhke3IpIapSbJmPjXjRmSFHA9AU42jKf2n2VtC4v5Ef1xfmf/5AN8kl5LPIyWfEaNV5znDLymXpmo/C2qTRwDMyzPMM8iVfbMoPMLQ45XUeWWtlOZMD7OnCcIf2t1cv0CxL0hkO1/61+3Na1kZ5Aof3+kqQ/cuwFPQe0L+fiM65ATsocdQ8Re5mwrPuBxCVuqyYPQhKI4jhybMBJcnlxBT0MY1ztvg3qequ/Ar70lFlb8d0AXp3LpU+Zcfgk0oavTig+y3fV4R9p3GGnHajcs4D7RGflswqX7nLChlXonvmEWqOqwx3+EmlamRDDSMsg2ny+vMChfNQ3V7Ozw== 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=x4wYEwn/IsGyW4IxaiKCteVBM54BLXtNAznf0HY1PFE=; b=dfyXgRw7zNsEs4/OfezH9D9AguP4PZ9uu1ypHkStpXvoNXpgFlLQNnVATALZ56XJMSsE3lah1n154q4ZWNjLklK+gm0WfJlHEd6BNA9GdKA2gnbJHial7IvHS6x2Ggdp3r3t5tiH2BdilPaNC6F551TZD2OjwhhIyAxZdFeVffM= Received: from MN2PR11MB4063.namprd11.prod.outlook.com (2603:10b6:208:13f::22) by MN2PR11MB3901.namprd11.prod.outlook.com (2603:10b6:208:138::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4457.20; Tue, 31 Aug 2021 02:02:36 +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.4457.024; Tue, 31 Aug 2021 02:02:36 +0000 From: "Xia, Chenbo" To: Eugenio Perez Martin CC: Maxime Coquelin , "dev@dpdk.org" , Pei Zhang , Jason Wang Thread-Topic: [PATCH] vhost: Clean iotlb cache on vring stop Thread-Index: AQHXm15oomlvFF+bA0e0R+7xpMFXs6uL8w5wgABqwQCAAH4oQA== Date: Tue, 31 Aug 2021 02:02:36 +0000 Message-ID: References: <20210827161231.579968-1-eperezma@redhat.com> In-Reply-To: Accept-Language: en-US, zh-CN Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: redhat.com; dkim=none (message not signed) header.d=none;redhat.com; dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 8965bfd1-59af-4ded-285c-08d96c23677a x-ms-traffictypediagnostic: MN2PR11MB3901: 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: f2NFgawoKQt4HdmmXFRDunWBIJfDcWkAItccAwrMUeLymghqTCEe6LDLy6HbmFX8P2YtPTszBth9ctQSSy/r5QT8PjgEqseDr8QCxbsxjDgnFv/FH7Bk8bNN7Rb/EDZOBDozjCGk/O03aGhbu9WYq9iEGHvB+veSs9zGMeq69yfn6oBCP2xmzmAh5v9VxzuxpL0HC1dSfb8v8tt9wJ/oWk0O6nvzOeSt4HQjbrAhKrt78MmUNDNrK/0v/iuIXkMY/fZuUJRJrf0v3GuPxdZB9ILpAtOSsOrpIL0fZl6BzbnXYOdJVi7hemz22d15qXr5+z6PEr/XjdG5rIH0bQpfttmUzdxrGsMH89Gxxl7JN4yA9P3aKSCBpcRiqEeiN7mX/YEBHUOux1z5MPkIjF42yCMHCldoPV4D6YPDEaQrTXH3PD1V+t0HKOeAIyuLozOObWlucK9WUxfpbohemF+DLjRSKwkZ9W47uTXBBgABlq0PbTP0pkhDxjK01AV46+wL+m+8HeoYdSbENev88mwxnD53eM8l8tlv06Ok6Snb6qfcFRLLhhNUKFobkhxneLzANfkx0egR5CdPQEZL2Ox2eCw7mAaH2EQjYc/63nqohAonR+s1Rf1ZCO1rIFyPTnJabnjL6JZ30Oi7s42lvTg2oP0Ab/73DnBx59IAgKLJv7DQsWmPwxM4Rf2/Q8qARhXhbw/FC4UaZ0DyRoGt61vbAw== 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)(366004)(396003)(136003)(376002)(346002)(39860400002)(122000001)(9686003)(5660300002)(55016002)(6506007)(478600001)(38100700002)(53546011)(38070700005)(6916009)(26005)(33656002)(2906002)(54906003)(4326008)(86362001)(8936002)(66946007)(71200400001)(52536014)(83380400001)(8676002)(7696005)(316002)(66556008)(64756008)(66446008)(76116006)(186003)(66476007); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?czhoMW5LSXExbGZJYnlqZWZQNHVBSGt6QU1XMk9USWYyMkZoRm51OHJmWHZJ?= =?utf-8?B?eDRtblc0ckVmTEJLMEI0U0lMZFFKeVM4TjF1VEgxTnZISW96OHAyY1NGQ1VO?= =?utf-8?B?bWhZTDFkYmF2OHBrZ0VJV2Voa2NsVnhJK2FJblp6aHcyZ2lwS3ZzZDVHaktR?= =?utf-8?B?QjF5VXBWRDFUWmlhSnQvWVRmV1JUaVM2OUlkdjBWUVAxNEZwTnNINlVHWlV5?= =?utf-8?B?bU9FaWpkdlBEd1Ard0N4L05YSmRZMnRLOWZ3UFozQUMrcWx5eWF2VWpNYXRM?= =?utf-8?B?a2MwME0wZGlrOHFTejM0U0FaQU0zSmlLTTIvb2RvUHQ1TjdtSVRPNzdvVm5D?= =?utf-8?B?MUpaWTc4WHUwVy9KQ250Z1lvblZjdGZOcmt6a3VmaUk2STF2MDVvQ0l1ZmFV?= =?utf-8?B?MmZOMDN2OU5ZUVhEQkp3RjE2Wi8zY1BuWjVCclNyRDhnaVVJMENuS1ZGNGNk?= =?utf-8?B?WUVLbFZSOHRwZzJZb0J0OEIxSEV4MklRZWFKcGxDVnhtNFZhVkVNdklRVWJB?= =?utf-8?B?VHdwdUR1Ukg0dXZtc3pucklDWUFhV0l6RGJJUmtpNHBqVzFTMFpZWUUvMTR3?= =?utf-8?B?VFhJbG8yeGp1Z04yUFNmYkxxV0RtWklqbU9ncFpQTGVBYkRPdzdjMlFaYlBW?= =?utf-8?B?RE5zZERVcUdyQ0EzZmNxb0wxNFpGTVVBdlFIZnVjTG1KUzhyMU1LWDVtRW9T?= =?utf-8?B?Q0cwVTM3T2ZnRDJVN0R6M21BbEV3SGhsY0VPczRYcWs2aXczQjR3Rnp1Vkti?= =?utf-8?B?dTZ6dWJIUWZtY2JaUmJMMlJubW15dHRUWlBXeEw2VzRJQzl6bjV5VVI1MGNQ?= =?utf-8?B?M0pXWFpBWkYwUkE2dldVcm5GZm40ODRpWTZyK3VNR0J1b3E3bEJLTUtqREJV?= =?utf-8?B?TTlwM0lHSllObDUrNU52enN3YUVMRTZ5RVZYdWtEVW1KNFVldjNPWEVjcVlt?= =?utf-8?B?c1d1dEoyaFVSbW1GVDdCUkt5TzdCVFc0QktkWnJtdmJpeTBhOGxzOS8zaDlp?= =?utf-8?B?eVphdktYYlNoWjNrNEFKajRCdEF6S3YxSi9QbmNYaENzS0V3b0VIQzZLRXg2?= =?utf-8?B?MXc0RUgzakc2eXZCUHZrYjJnRVVtWVFsc0FnY1lpdEVjbjZUeDhkWmwrK1kr?= =?utf-8?B?SVp3ZDQ4OHlEYWZmUExudVZoREZweDhFTFZQM2pBckkzVnJ0S1dnbVJXb3Nr?= =?utf-8?B?YUFZdXFXR3ovNnI5ZTRDdnJDd0VrNVRUS0J2V2wrQVZKQjFkWnF2WGpGWExr?= =?utf-8?B?QSt4ZWpGYWhuN011UFRISk5CTEZNUitoREk4NVVmWmdyMkEzRHBLbFRESWw4?= =?utf-8?B?a1hZTWlHL0ltd2theFZWV0FpVEIvSzZEbHo2cjdUeXRXek9oUTVMc3ZrZEdX?= =?utf-8?B?RGZSTStHaDZkZ1lobnZNWGRtbC8xUDk5Tm5PeVFqb0d3WUZnNTJMbktlTGF4?= =?utf-8?B?N3o4TEFBUFFMdUUxUm5lMjhvajlTZGdEL21KTEovQ3h6OG9IVkEwbXlXRFhu?= =?utf-8?B?YkJ5S3U2SXZWR2tMNlRiVVZQb2RwdjlId2lkU05GQjFSNjgwSVdBRXRMWDM5?= =?utf-8?B?eVhUZ1lhMTRhSjJGZnVpRW1YTnpGQ1JpWWNJc2VQK3doUFgyQ2hTVkFhcVlI?= =?utf-8?B?RHdOYTh4Uy9wcVlIbHByVnI1T1NheHd0YW1OSmVVY2htRU4yeEZZNm9JRXN0?= =?utf-8?B?eng0eitCMEFJTEVOQm5hdXZTNGpieHZtekpxOEIzUlY0ZXQxSHVydVV0RVBp?= =?utf-8?Q?OMnZQzCZDCkDdLz5CdVsjivWXh+XFvMabrQXyTp?= x-ms-exchange-transport-forked: True 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: 8965bfd1-59af-4ded-285c-08d96c23677a X-MS-Exchange-CrossTenant-originalarrivaltime: 31 Aug 2021 02:02:36.4570 (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: STk+j1Rvj/FHsNZWreR3864J0JcbDQqwHtvA6j580UnW4wgaXnn77ByqKiC8AYgSLcmaRNi9yWPbLuNZ2xLZaA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR11MB3901 X-OriginatorOrg: intel.com Subject: Re: [dpdk-dev] [PATCH] vhost: Clean iotlb cache on vring stop 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" SGkgRXVnZW5pbywNCg0KPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBFdWdl bmlvIFBlcmV6IE1hcnRpbiA8ZXBlcmV6bWFAcmVkaGF0LmNvbT4NCj4gU2VudDogVHVlc2RheSwg QXVndXN0IDMxLCAyMDIxIDI6MTAgQU0NCj4gVG86IFhpYSwgQ2hlbmJvIDxjaGVuYm8ueGlhQGlu dGVsLmNvbT4NCj4gQ2M6IE1heGltZSBDb3F1ZWxpbiA8bWF4aW1lLmNvcXVlbGluQHJlZGhhdC5j b20+OyBkZXZAZHBkay5vcmc7IFBlaSBaaGFuZw0KPiA8cGV6aGFuZ0ByZWRoYXQuY29tPjsgSmFz b24gV2FuZyA8amFzb3dhbmdAcmVkaGF0LmNvbT4NCj4gU3ViamVjdDogUmU6IFtQQVRDSF0gdmhv c3Q6IENsZWFuIGlvdGxiIGNhY2hlIG9uIHZyaW5nIHN0b3ANCj4gDQo+IE9uIE1vbiwgQXVnIDMw LCAyMDIxIGF0IDE6NTggUE0gWGlhLCBDaGVuYm8gPGNoZW5iby54aWFAaW50ZWwuY29tPiB3cm90 ZToNCj4gPg0KPiA+IEhpIEV1Z2VuaW8sDQo+ID4NCj4gDQo+IEhpIENoZW5ibywNCj4gDQo+ID4g PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+ID4gRnJvbTogRXVnZW5pbyBQw6lyZXog PGVwZXJlem1hQHJlZGhhdC5jb20+DQo+ID4gPiBTZW50OiBTYXR1cmRheSwgQXVndXN0IDI4LCAy MDIxIDEyOjEzIEFNDQo+ID4gPiBUbzogTWF4aW1lIENvcXVlbGluIDxtYXhpbWUuY29xdWVsaW5A cmVkaGF0LmNvbT47IFhpYSwgQ2hlbmJvDQo+ID4gPiA8Y2hlbmJvLnhpYUBpbnRlbC5jb20+DQo+ ID4gPiBDYzogZGV2QGRwZGsub3JnOyBQZWkgWmhhbmcgPHBlemhhbmdAcmVkaGF0LmNvbT47IEph c29uIFdhbmcNCj4gPiA+IDxqYXNvd2FuZ0ByZWRoYXQuY29tPg0KPiA+ID4gU3ViamVjdDogW1BB VENIXSB2aG9zdDogQ2xlYW4gaW90bGIgY2FjaGUgb24gdnJpbmcgc3RvcA0KPiA+DQo+ID4gQ2xl YW4gLT4gY2xlYW4NCj4gPg0KPiANCj4gSXMgdGhhdCBzb21ldGhpbmcgSSBuZWVkIHRvIHNlbmQg YSBuZXcgcmV2aXNpb24gZm9yLCBvciBpcyBpdCBvayB0bw0KPiBhcHBseSBvbiB0aGUgbWFpbnRh aW5lciBzaWRlPw0KPiANCj4gPiA+DQo+ID4gPiBPbGQgSU9WQSBjYWNoZSBlbnRyaWVzIGFyZSBs ZWZ0IHdoZW4gdGhlcmUgaXMgYSBjaGFuZ2Ugb24gdmlydGlvIGRyaXZlcg0KPiA+ID4gaW4gVk0u IEluIGNhc2UgdGhhdCBhbGwgdGhlc2Ugb2xkIGVudHJpZXMgaGF2ZSBpb3ZhIGFkZHJlc3NlcyBs ZXNzZXINCj4gPiA+IHRoYW4gbmV3IGlvdmEgZW50cmllcywgdmhvc3QgY29kZSB3aWxsIG5lZWQg dG8gaXRlcmF0ZSBhbGwgdGhlIGNhY2hlIHRvDQo+ID4gPiBmaW5kIHRoZSBuZXcgb25lcy4gSW4g Y2FzZSBvZiBqdXN0IGEgbmV3IGlvdmEgZW50cnkgbmVlZGVkIGZvciB0aGUgbmV3DQo+ID4gPiB0 cmFuc2xhdGlvbnMsIHRoaXMgY29uZGl0aW9uIHdpbGwgbGFzdCBmb3JldmVyLg0KPiA+ID4NCj4g PiA+IFRoaXMgaGFzIGJlZW4gb2JzZXJ2ZWQgaW4gdmlydGlvLW5ldCB0byB0ZXN0cG1kJ3MgdmZp by1wY2kgZHJpdmVyDQo+ID4gPiB0cmFuc2l0aW9uLCByZWR1Y2luZyB0aGUgcGVyZm9ybWFuY2Ug ZnJvbSBtb3JlIHRoYW4gMTBNcHBzIHRvIGxlc3MgdGhhbg0KPiA+ID4gMC4wN01wcHMgaWYgdGhl IGh1Z2VwYWdlIGFkZHJlc3Mgd2FzIGhpZ2hlciB0aGFuIHRoZSBuZXR3b3JraW5nDQo+ID4gPiBi dWZmZXJzLiBTaW5jZSBhbGwgbmV3IGJ1ZmZlcnMgYXJlIGNvbnRhaW5lZCBpbiB0aGlzIG5ldyBn aWdhbnRpYyBwYWdlLA0KPiA+ID4gdmhvc3QgbmVlZHMgdG8gc2NhbiBJT1RMQl9DQUNIRV9TSVpF IC0gMSBmb3IgZWFjaCB0cmFuc2xhdGlvbiBhdCB3b3JzdC4NCj4gPg0KPiA+IEknbSBjdXJpb3Vz IHdoeSBRRU1VIHdpbGwgbm90IGludmFsaWRhdGUgaW90bGIgd2hlbiB2aXJ0aW8tbmV0IGRyaXZl ciBpcw0KPiByZW1vdmVkDQo+ID4gKGRtYSByZWdpb24gc2hvdWxkIGJlIHVubWFwcGVkKS4NCj4g Pg0KPiANCj4gSSdtIGdvaW5nIHRvIGludmVzdGlnYXRlIHRoaXMgbW9yZSwgYnV0IHFlbXUgaW9t bXUgbm90aWZpZXIgY2FsbGJhY2sNCj4gKHZob3N0X2lvbW11X3VubWFwX25vdGlmeSkgaXMgbmV2 ZXIgY2FsbGVkIHRocm91Z2ggYWxsIHRoZSB0ZXN0LiBBbHNvLA0KPiBndWVzdCBrZXJuZWwgY29k ZSBjYWxscyBkbWFfdW5tYXBfcGFnZSBmb3IgZWFjaCBidWZmZXIgYW5kIHZxcywgYnV0IGl0DQo+ IG5ldmVyIGdlbmVyYXRlcyBhbiBpb3RsYiBmbHVzaC4NCj4gDQo+IE9yIGRvIHlvdSBtZWFuIHRo YXQgcWVtdSBzaG91bGQgYWxzbyBmbHVzaCBhbGwgaW90bGIgZW50cmllcyBvbiB2aG9zdA0KPiBk ZXZpY2Ugc3RvcD8NCg0KSSB0aGluayBhcyB5b3Ugc2FpZCwgdGhlIGRyaXZlciB1bm1hcHBlZCBh bGwgZW50cmllcywgc28gdGhlb3JldGljYWxseSB0aGUgaW90bGINCmVudHJpZXMgc2hvdWxkIGFs bCBiZSBpbnZhbGlkYXRlZC4gVGhlIGlvdGxiIGludmFsaWRhdGlvbiBzaG91bGQgYmUgdHJpZ2dl cmVkIGJ5DQppb21tdSBlbnRyeSB1bm1hcHBpbmcuIE1ha2Ugc2Vuc2UgdG8geW91Pw0KDQo+IA0K PiA+IEFuZCBzaW5jZSB0aGUgcGVyZiBkcm9wIGlzIGh1Z2UsIHdoeSBub3QgY2MgdG8gc3RhYmxl IGFuZCBhZGQgZml4IHRhZz8NCj4gPg0KPiANCj4gSSB3YXMgbm90IHN1cmUgaWYgaXQgd2FzIHdv cnRoIGl0IHRvIGJhY2twb3J0LCBidXQgSSB3b3VsZCBzYXkgdGhhdA0KPiB0aGUgaXNzdWUgY2Fu IGJlIHJlcHJvZHVjZWQgd2l0aCBlbm91Z2ggYmFkIGx1Y2suIFNpbmNlIHRyYW5zbGF0aW9ucw0K PiBoYXZlIGFsd2F5cyBiZWVuIHNhdmVkIGluIGEgbGlua2VkIGxpc3Q6DQo+IA0KPiBGaXhlczog ZDAxMmQxZjI5M2Y0ICgidmhvc3Q6IGFkZCBJT1RMQiBoZWxwZXIgZnVuY3Rpb25zIikNCj4gDQo+ IFNhbWUgcXVlc3Rpb24gYXMgYmVmb3JlLCBpZiBubyBjaGFuZ2VzIHRvIHRoZSBjb2RlIGFyZSBu ZWVkZWQgZm9yIHRoZQ0KPiBwYXRjaCwgZG8gSSBuZWVkIHRvIHNlbmQgYSBzZWNvbmQgcmV2aXNp b24/DQoNCkkgdGhpbmsgaXQgc291bmRzIGEgYnVnIHRvIG1lLiBTbyBubyBtYXR0ZXIgaG93IG9m dGVuIGl0IGNvdWxkIGJlIHJlcHJvZHVjZWQsIGl0J3MNCndvcnRoIHRvIGJhY2twb3J0LiBJIHN1 Z2dlc3QgdG8gc2VuZCBhIHYyIHdpdGggdGhlIHRpdGxlIGZpeGVkIGFuZCBGaXhlcyAmIGNjDQpz dGFibGUgdGFnIGFkZGVkIHNvIHRoYXQgaXQgd2lsbCBzaG93IGluIHN0YWJsZSBtYWlsaW5nIGxp c3QgYW5kIHNhdmUgTWF4aW1lJ3MgZWZmb3J0DQp3aGVuIGFwcGx5aW5nLg0KDQpUaGFua3MsDQpD aGVuYm8NCg0KPiANCj4gVGhhbmtzIQ0KPiANCj4gDQo+ID4gVGhhbmtzLA0KPiA+IENoZW5ibw0K PiA+DQo+ID4gPg0KPiA+ID4gU2lnbmVkLW9mZi1ieTogRXVnZW5pbyBQw6lyZXogPGVwZXJlem1h QHJlZGhhdC5jb20+DQo+ID4gPiBSZXBvcnRlZC1ieTogUGVpIFpoYW5nIDxwZXpoYW5nQHJlZGhh dC5jb20+DQo+ID4gPiAtLS0NCj4gPiA+ICBsaWIvdmhvc3Qvdmhvc3RfdXNlci5jIHwgMiArKw0K PiA+ID4gIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKykNCj4gPiA+DQo+ID4gPiBkaWZm IC0tZ2l0IGEvbGliL3Zob3N0L3Zob3N0X3VzZXIuYyBiL2xpYi92aG9zdC92aG9zdF91c2VyLmMN Cj4gPiA+IGluZGV4IDI5YTRjOWFmNjAuLjdkZTQ4ZjUzMzMgMTAwNjQ0DQo+ID4gPiAtLS0gYS9s aWIvdmhvc3Qvdmhvc3RfdXNlci5jDQo+ID4gPiArKysgYi9saWIvdmhvc3Qvdmhvc3RfdXNlci5j DQo+ID4gPiBAQCAtMjExMyw2ICsyMTEzLDggQEAgdmhvc3RfdXNlcl9nZXRfdnJpbmdfYmFzZShz dHJ1Y3QgdmlydGlvX25ldCAqKnBkZXYsDQo+ID4gPiAgICAgICBtc2ctPnNpemUgPSBzaXplb2Yo bXNnLT5wYXlsb2FkLnN0YXRlKTsNCj4gPiA+ICAgICAgIG1zZy0+ZmRfbnVtID0gMDsNCj4gPiA+ DQo+ID4gPiArICAgICB2aG9zdF91c2VyX2lvdGxiX2ZsdXNoX2FsbCh2cSk7DQo+ID4gPiArDQo+ ID4gPiAgICAgICB2cmluZ19pbnZhbGlkYXRlKGRldiwgdnEpOw0KPiA+ID4NCj4gPiA+ICAgICAg IHJldHVybiBSVEVfVkhPU1RfTVNHX1JFU1VMVF9SRVBMWTsNCj4gPiA+IC0tDQo+ID4gPiAyLjI3 LjANCj4gPg0KDQo=