From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 62966A052A; Mon, 3 Aug 2020 13:12:13 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id A10322E8F; Mon, 3 Aug 2020 13:12:12 +0200 (CEST) Received: from EUR03-DB5-obe.outbound.protection.outlook.com (mail-eopbgr40080.outbound.protection.outlook.com [40.107.4.80]) by dpdk.org (Postfix) with ESMTP id 23C3A2BD8 for ; Mon, 3 Aug 2020 13:12:10 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=X45ifN39eooxg9ny0t022ffWuNRAi7bQ3OzMlFI9nWL+TPaNetFY+kBY4BlCsplrbVML4rrBm1HGmxX6wnGJK+zb9GBLw4raIztK3VVtmFI5rk9BYArgdIhp1rIjtsI5Lm9a6K8RAbdv24V2A46PMH41M8wGjKKDi3SQB4KFm3ushpBAQnE+ZjITkIT+bDOM562R1H6nOYwVkCv+173F54YbNS6Y0qAbAJDD1ItAVXT0iUsaWz5m6H+SLFHerZvyWiGGMdrUPdN66RksI/iCvIip0OZGgBMpHNm67njrcIRxk5vdRDl7YE2Pq7S+bFQQY0O+EZhLZnhIouLqMAYj8Q== 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=6sS+b1QUG2TNIk7INyKdHQVx0GEccSONkKH9mQu20UU=; b=BUrMAaRgC89S1eBKE42KQvhQ+HVgyLprEM8PFck0CNlwmMMFzYa7Rvl6c8XxJBHmQKLIrdEFc0nBboyMt6VkNd9ActiP/I2F9Cchj5s0s9x5TQMRaePHImaIqeaot1O56tl0udSIF31qlq44YcZwD2uEyNhdi1jzGM/UKAUUzDLg2fVWTQikYliv08nRlgbZXA278n4/qAcQnCT2VT7nLlRzrxbD+DRX10dauBvzqYdp40cVprtAuy6wWRmmz7Sm80zeL1iUWdQSPVsdi8t3kDzGvjHX9mDSVJpJpsIgEKH5Cal6wwa3Z0v6W9Jc3rvGlk+gPtP/kSnBTKTv+WcEMQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=mellanox.com; dmarc=pass action=none header.from=mellanox.com; dkim=pass header.d=mellanox.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Mellanox.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=6sS+b1QUG2TNIk7INyKdHQVx0GEccSONkKH9mQu20UU=; b=fpX2T3w2Nc5xzID5blysrxaOQERuioZYVQ8TKUNB96ya0XIgf3+tcKQn+Fm5xTlEXMhpBA+1fJrw2GKwvCDoBLwt2I/H+3I6jWPYJ8sIONRyA1+QD2yBywzy5aq+0tjZzwHpk8iF2wIfnpp8dSaSWDQ7zN04xbo98ecWHmwJ668= Received: from AM0PR05MB5204.eurprd05.prod.outlook.com (2603:10a6:208:ef::29) by AM0PR05MB5058.eurprd05.prod.outlook.com (2603:10a6:208:c7::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3239.18; Mon, 3 Aug 2020 11:12:09 +0000 Received: from AM0PR05MB5204.eurprd05.prod.outlook.com ([fe80::602e:c058:6b61:91c8]) by AM0PR05MB5204.eurprd05.prod.outlook.com ([fe80::602e:c058:6b61:91c8%7]) with mapi id 15.20.3239.021; Mon, 3 Aug 2020 11:12:09 +0000 From: "Xueming(Steven) Li" To: Maxime Coquelin CC: "dev@dpdk.org" , "Asaf@dpdk.org" , "\"Penso Thread-Topic: [dpdk-dev] [v2] vdpa/mlx5: fix queue update synchronization Thread-Index: AQHWaK5lUegmOv+8/EmtHE/jvJgoOakmJbuAgAATrSA= Date: Mon, 3 Aug 2020 11:12:08 +0000 Message-ID: References: <1596356065-30106-1-git-send-email-xuemingl@mellanox.com> <1596360111-5088-1-git-send-email-xuemingl@mellanox.com> In-Reply-To: Accept-Language: zh-CN, en-US 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=mellanox.com; x-originating-ip: [180.162.35.189] x-ms-publictraffictype: Email x-ms-office365-filtering-ht: Tenant x-ms-office365-filtering-correlation-id: 64ee570c-03a7-43b8-8d69-08d8379e1046 x-ms-traffictypediagnostic: AM0PR05MB5058: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:1332; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: WoDNBwL8XLdAu+YPShwELquYZoDeyKdJc7AZG/JtKAiYWdTq5k5OBPGW1wkMbUSSPm25RYcCglHqbRnaeif/BMSNjOTObeEzc28IkyRbWhhP5I55CxLvAtqu4JqvilEuxabzJjtem2RGmsvDDwb4ufI7kUmZXG5f2c10pDVU4WPty3sPg9br8KtXiwIrB3cP6ToUDAQxxuGHLO7M7kD7jLRXr/YKLSuNLR6CSgefaX0k+UIhAJhU4TyhZxARx73/9aB+mMSH5solMS6uEAJJ+TKLNzMyZJoDDMSlcYhMyp//VnLneKgJSZLMeG+8PnW/ x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:AM0PR05MB5204.eurprd05.prod.outlook.com; PTR:; CAT:NONE; SFTY:; SFS:(4636009)(39860400002)(346002)(376002)(136003)(396003)(366004)(55016002)(5660300002)(71200400001)(9686003)(15650500001)(52536014)(7696005)(83380400001)(86362001)(26005)(66946007)(186003)(6506007)(53546011)(33656002)(54906003)(2906002)(478600001)(8936002)(316002)(8676002)(107886003)(6916009)(66446008)(64756008)(4326008)(76116006)(66556008)(66476007); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata: 0Q5zL96WoGoDnhD+4zDQ3pBAxWgzQ7NNblVl9W3MQvik/1wYKUmZsVLTDXGsKYuIScjPhF2PpuuiU5bx3jMXn10LS+MppG3wpewmtX6dGGw+N9OL7tIfAvWlzTAxzYyQN6Nbsrdx//ZQEzZf1a2miNx7BVz70vHXfnOpIYCx7OIUnWXnsa5Ick8cfHBklzIc0GL1NvNUAs/rSfmNPZ5K11yy+nh8bt8r9Dx17mHccpRDGfnkzjqmsk4iFBkAJsHo6SM2UCrTulaaR00qFJjieHkGX1UFW+jNGSvEtOTbQFwptWxAspTH4HVfxn8piy1p8Y/TwmtPgpQk+mJ/JdWL6ozO1uZsI51yTCX6+v7Rj4IxTWXE7ljiGmP8IAiuffNz838oVSG38+X+LqfWHWvU+80WCtfTAnB7jZ2rIM/GVV1v3zF+BUGHgEK8mCJd5exaTyzj77n6wYQWqw9iMqN0UKkiQN6RC4vTykXb2C6XwWUpoIPe6LDvR6W1lypYA+tLjEGSnUiRb/0C5OZyG8yL1NdFMKXYyqB6uZD3AVtzNIcg/oX/wWGo5KmPXENDIqh4fuT8Fk4LCYs9KaFNDgo8Y4+Wq72ehWV4hmlokQG5qvyTzhHGNZm8YNLMDE6uQaygdTSPEQzCi4yixFDtz+DZfw== x-ms-exchange-transport-forked: True Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: Mellanox.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: AM0PR05MB5204.eurprd05.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 64ee570c-03a7-43b8-8d69-08d8379e1046 X-MS-Exchange-CrossTenant-originalarrivaltime: 03 Aug 2020 11:12:08.9025 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: a652971c-7d2e-4d9b-a6a4-d149256f461b X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: OBxCTiyTnC14yC2of6KLfi13T5pAGV9L+kpUk7uuY6oW9PWPrEIsOM1kd0v1oMEWGMVuTg9r+G+dJnv5XGsWXg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR05MB5058 Subject: Re: [dpdk-dev] [v2] vdpa/mlx5: fix queue update synchronization X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 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" SGkgTWF4aW1lLA0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IE1heGlt ZSBDb3F1ZWxpbiA8bWF4aW1lLmNvcXVlbGluQHJlZGhhdC5jb20+DQo+IFNlbnQ6IE1vbmRheSwg QXVndXN0IDMsIDIwMjAgNTo1MSBQTQ0KPiBUbzogWHVlbWluZyhTdGV2ZW4pIExpIDx4dWVtaW5n bEBtZWxsYW5veC5jb20+DQo+IENjOiBkZXZAZHBkay5vcmc7IEFzYWZAZHBkay5vcmc7ICJQZW5z byA8YXNhZnAiQG1lbGxhbm94LmNvbQ0KPiBTdWJqZWN0OiBSZTogW2RwZGstZGV2XSBbdjJdIHZk cGEvbWx4NTogZml4IHF1ZXVlIHVwZGF0ZSBzeW5jaHJvbml6YXRpb24NCj4gDQo+IA0KPiANCj4g T24gOC8yLzIwIDExOjIxIEFNLCBYdWVtaW5nIExpIHdyb3RlOg0KPiA+IFRoZSBkcml2ZXIgQ1Eg ZXZlbnQgbWFuYWdlbWVudCBpcyBkb25lIGJ5IG5vbiB2aG9zdCBsaWJyYXJ5IHRocmVhZCwNCj4g PiBlaXRoZXIgdGhlIGRwZGsgaG9zdCB0aHJlYWQgb3IgdGhlIGludGVybmFsIHZEUEEgZHJpdmVy IHRocmVhZC4NCj4gPg0KPiA+IFdoZW4gYSBxdWV1ZSBpcyB1cGRhdGVkIHRoZSBDUSBtYXkgYmUg ZGVzdHJveWVkIGFuZCBjcmVhdGVkIGJ5IHRoZQ0KPiA+IHZob3N0IGxpYnJhcnkgdGhyZWFkIHZp YSB0aGUgcXVldWUgc3RhdGUgb3BlcmF0aW9uLg0KPiA+DQo+ID4gV2hlbiB0aGUgcXVldWUgdXBk YXRlIGZlYXR1cmUgd2FzIGFkZGVkLCBpdCBkaWRuJ3Qgc3luY2hyb25pemUgdGhlIENRDQo+ID4g bWFuYWdlbWVudCB0byB0aGUgcXVldWUgdXBkYXRlIHdoYXQgbWF5IGNhdXNlIGludmFsaWQgbWVt b3J5IGFjY2Vzcy4NCj4gPg0KPiA+IEFkZCB0aGUgYWZvcmVtZW50aW9uZWQgc3luY2hyb25pemF0 aW9uIGJ5IGEgbmV3IHBlciBkZXZpY2UNCj4gPiBjb25maWd1cmF0aW9uIG11dGV4Lg0KPiA+DQo+ ID4gRml4ZXM6IGM0N2Q2ZTgzMzM0ZSAoInZkcGEvbWx4NTogc3VwcG9ydCBxdWV1ZSB1cGRhdGUi KQ0KPiA+DQo+ID4gU2lnbmVkLW9mZi1ieTogWHVlbWluZyBMaSA8eHVlbWluZ2xAbWVsbGFub3gu Y29tPg0KPiA+IEFja2VkLWJ5OiBNYXRhbiBBenJhZCA8bWF0YW5AbWVsbGFub3guY29tPg0KPiA+ IC0tLQ0KPiA+ICBkcml2ZXJzL3ZkcGEvbWx4NS9tbHg1X3ZkcGEuYyAgICAgICB8IDggKysrKysr Ky0NCj4gPiAgZHJpdmVycy92ZHBhL21seDUvbWx4NV92ZHBhLmggICAgICAgfCAxICsNCj4gPiAg ZHJpdmVycy92ZHBhL21seDUvbWx4NV92ZHBhX2V2ZW50LmMgfCA4ICsrKysrKysrDQo+ID4gIDMg ZmlsZXMgY2hhbmdlZCwgMTYgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQ0KPiA+DQo+ID4g ZGlmZiAtLWdpdCBhL2RyaXZlcnMvdmRwYS9tbHg1L21seDVfdmRwYS5jDQo+ID4gYi9kcml2ZXJz L3ZkcGEvbWx4NS9tbHg1X3ZkcGEuYyBpbmRleCBjMGI4N2JjYzAxLi5hOGYzZTRiMWRlIDEwMDY0 NA0KPiA+IC0tLSBhL2RyaXZlcnMvdmRwYS9tbHg1L21seDVfdmRwYS5jDQo+ID4gKysrIGIvZHJp dmVycy92ZHBhL21seDUvbWx4NV92ZHBhLmMNCj4gPiBAQCAtMTMzLDYgKzEzMyw3IEBAIG1seDVf dmRwYV9zZXRfdnJpbmdfc3RhdGUoaW50IHZpZCwgaW50IHZyaW5nLCBpbnQgc3RhdGUpDQo+ID4g IAlzdHJ1Y3QgcnRlX3ZkcGFfZGV2aWNlICp2ZGV2ID0gcnRlX3Zob3N0X2dldF92ZHBhX2Rldmlj ZSh2aWQpOw0KPiA+ICAJc3RydWN0IG1seDVfdmRwYV9wcml2ICpwcml2ID0NCj4gPiAgCQltbHg1 X3ZkcGFfZmluZF9wcml2X3Jlc291cmNlX2J5X3ZkZXYodmRldik7DQo+ID4gKwlpbnQgcmV0Ow0K PiA+DQo+ID4gIAlpZiAocHJpdiA9PSBOVUxMKSB7DQo+ID4gIAkJRFJWX0xPRyhFUlIsICJJbnZh bGlkIHZEUEEgZGV2aWNlOiAlcy4iLCB2ZGV2LT5kZXZpY2UtDQo+ID5uYW1lKTsgQEANCj4gPiAt MTQyLDcgKzE0MywxMCBAQCBtbHg1X3ZkcGFfc2V0X3ZyaW5nX3N0YXRlKGludCB2aWQsIGludCB2 cmluZywgaW50IHN0YXRlKQ0KPiA+ICAJCURSVl9MT0coRVJSLCAiVG9vIGJpZyB2cmluZyBpZDog JWQuIiwgdnJpbmcpOw0KPiA+ICAJCXJldHVybiAtRTJCSUc7DQo+ID4gIAl9DQo+ID4gLQlyZXR1 cm4gbWx4NV92ZHBhX3ZpcnRxX2VuYWJsZShwcml2LCB2cmluZywgc3RhdGUpOw0KPiA+ICsJcHRo cmVhZF9tdXRleF9sb2NrKCZwcml2LT52cV9jb25maWdfbG9jayk7DQo+ID4gKwlyZXQgPSBtbHg1 X3ZkcGFfdmlydHFfZW5hYmxlKHByaXYsIHZyaW5nLCBzdGF0ZSk7DQo+ID4gKwlwdGhyZWFkX211 dGV4X3VubG9jaygmcHJpdi0+dnFfY29uZmlnX2xvY2spOw0KPiA+ICsJcmV0dXJuIHJldDsNCj4g PiAgfQ0KPiA+DQo+ID4gIHN0YXRpYyBpbnQNCj4gPiBAQCAtNzQyLDYgKzc0Niw3IEBAIG1seDVf dmRwYV9wY2lfcHJvYmUoc3RydWN0IHJ0ZV9wY2lfZHJpdmVyICpwY2lfZHJ2DQo+IF9fcnRlX3Vu dXNlZCwNCj4gPiAgCX0NCj4gPiAgCW1seDVfdmRwYV9jb25maWdfZ2V0KHBjaV9kZXYtPmRldmlj ZS5kZXZhcmdzLCBwcml2KTsNCj4gPiAgCVNMSVNUX0lOSVQoJnByaXYtPm1yX2xpc3QpOw0KPiA+ ICsJcHRocmVhZF9tdXRleF9pbml0KCZwcml2LT52cV9jb25maWdfbG9jaywgTlVMTCk7DQo+ID4g IAlwdGhyZWFkX211dGV4X2xvY2soJnByaXZfbGlzdF9sb2NrKTsNCj4gPiAgCVRBSUxRX0lOU0VS VF9UQUlMKCZwcml2X2xpc3QsIHByaXYsIG5leHQpOw0KPiA+ICAJcHRocmVhZF9tdXRleF91bmxv Y2soJnByaXZfbGlzdF9sb2NrKTsNCj4gPiBAQCAtNzkzLDYgKzc5OCw3IEBAIG1seDVfdmRwYV9w Y2lfcmVtb3ZlKHN0cnVjdCBydGVfcGNpX2RldmljZQ0KPiAqcGNpX2RldikNCj4gPiAgCQkJcHJp di0+dmFyID0gTlVMTDsNCj4gPiAgCQl9DQo+ID4gIAkJbWx4NV9nbHVlLT5jbG9zZV9kZXZpY2Uo cHJpdi0+Y3R4KTsNCj4gPiArCQlwdGhyZWFkX211dGV4X2Rlc3Ryb3koJnByaXYtPnZxX2NvbmZp Z19sb2NrKTsNCj4gPiAgCQlydGVfZnJlZShwcml2KTsNCj4gPiAgCX0NCj4gPiAgCXJldHVybiAw Ow0KPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL3ZkcGEvbWx4NS9tbHg1X3ZkcGEuaA0KPiA+IGIv ZHJpdmVycy92ZHBhL21seDUvbWx4NV92ZHBhLmggaW5kZXggNTcwNDRkOWQzMy4uNDYyODA1YTM1 MiAxMDA2NDQNCj4gPiAtLS0gYS9kcml2ZXJzL3ZkcGEvbWx4NS9tbHg1X3ZkcGEuaA0KPiA+ICsr KyBiL2RyaXZlcnMvdmRwYS9tbHg1L21seDVfdmRwYS5oDQo+ID4gQEAgLTEyMCw2ICsxMjAsNyBA QCBlbnVtIHsNCj4gPiAgc3RydWN0IG1seDVfdmRwYV9wcml2IHsNCj4gPiAgCVRBSUxRX0VOVFJZ KG1seDVfdmRwYV9wcml2KSBuZXh0Ow0KPiA+ICAJdWludDhfdCBjb25maWd1cmVkOw0KPiA+ICsJ cHRocmVhZF9tdXRleF90IHZxX2NvbmZpZ19sb2NrOw0KPiA+ICAJdWludDY0X3QgbGFzdF90cmFm ZmljX3RpYzsNCj4gPiAgCXB0aHJlYWRfdCB0aW1lcl90aWQ7DQo+ID4gIAlwdGhyZWFkX211dGV4 X3QgdGltZXJfbG9jazsNCj4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy92ZHBhL21seDUvbWx4NV92 ZHBhX2V2ZW50LmMNCj4gPiBiL2RyaXZlcnMvdmRwYS9tbHg1L21seDVfdmRwYV9ldmVudC5jDQo+ ID4gaW5kZXggN2RjMWFjMGZhOS4uNGE4YjdiMGJkOSAxMDA2NDQNCj4gPiAtLS0gYS9kcml2ZXJz L3ZkcGEvbWx4NS9tbHg1X3ZkcGFfZXZlbnQuYw0KPiA+ICsrKyBiL2RyaXZlcnMvdmRwYS9tbHg1 L21seDVfdmRwYV9ldmVudC5jDQo+ID4gQEAgLTI3NCw2ICsyNzQsNyBAQCBtbHg1X3ZkcGFfcG9s bF9oYW5kbGUodm9pZCAqYXJnKQ0KPiA+ICAJCQkJCQkJCSBwcml2LQ0KPiA+ZXZlbnRfdXM7DQo+ ID4gIAl3aGlsZSAoMSkgew0KPiA+ICAJCW1heCA9IDA7DQo+ID4gKwkJcHRocmVhZF9tdXRleF9s b2NrKCZwcml2LT52cV9jb25maWdfbG9jayk7DQo+ID4gIAkJZm9yIChpID0gMDsgaSA8IHByaXYt Pm5yX3ZpcnRxczsgaSsrKSB7DQo+ID4gIAkJCWNxID0gJnByaXYtPnZpcnRxc1tpXS5lcXAuY3E7 DQo+ID4gIAkJCWlmIChjcS0+Y3EgJiYgIWNxLT5hcm1lZCkgew0KPiA+IEBAIC0yOTgsNiArMjk5 LDcgQEAgbWx4NV92ZHBhX3BvbGxfaGFuZGxlKHZvaWQgKmFyZykNCj4gPiAgCQkJCQlwcml2LT52 ZGV2LT5kZXZpY2UtPm5hbWUpOw0KPiA+ICAJCQkJbWx4NV92ZHBhX2FybV9hbGxfY3FzKHByaXYp Ow0KPiA+ICAJCQkJcHRocmVhZF9tdXRleF9sb2NrKCZwcml2LT50aW1lcl9sb2NrKTsNCj4gPiAr CQkJCXB0aHJlYWRfbXV0ZXhfdW5sb2NrKCZwcml2LQ0KPiA+dnFfY29uZmlnX2xvY2spOw0KPiAN Cj4gSXMgaXQgbWFuZGF0b3J5IHRvIGhvbGQgdGltZXJfbG9jayBiZWZvcmUgcmVsZWFzaW5nIHZx X2NvbmZpZ19sb2NrPw0KPiBJZiBub3QsIHN3YXBwaW5nIHdvdWxkIGJlIG1heWJlIHNhZmVyLg0K DQpZZXMsIGNvdWxkIHlvdSBwbGVhc2UgcmVwbGFjZSBsaW5lcyBpbiBpbnRlZ3JhdGlvbj8gV2Ug ZG9uJ3QgY2FyZSBhY2NvcmRpbmcgdGhlIGxvY2sgdXNhZ2UgaW4gY3EgaGFuZGxpbmcuDQoNCj4g DQo+ID4gIAkJCQlwcml2LT50aW1lcl9vbiA9IDA7DQo+ID4gIAkJCQl3aGlsZSAoIXByaXYtPnRp bWVyX29uKQ0KPiA+ICAJCQkJCXB0aHJlYWRfY29uZF93YWl0KCZwcml2LQ0KPiA+dGltZXJfY29u ZCwNCj4gPiBAQCAtMzEyLDYgKzMxNCw3IEBAIG1seDVfdmRwYV9wb2xsX2hhbmRsZSh2b2lkICph cmcpDQo+ID4gIAkJfSBlbHNlIHsNCj4gPiAgCQkJcHJpdi0+bGFzdF90cmFmZmljX3RpYyA9IGN1 cnJlbnRfdGljOw0KPiA+ICAJCX0NCj4gPiArCQlwdGhyZWFkX211dGV4X3VubG9jaygmcHJpdi0+ dnFfY29uZmlnX2xvY2spOw0KPiA+ICAJCW1seDVfdmRwYV90aW1lcl9zbGVlcChwcml2LCBtYXgp Ow0KPiA+ICAJfQ0KPiA+ICAJcmV0dXJuIE5VTEw7DQo+ID4gQEAgLTMyNyw2ICszMzAsNyBAQCBt bHg1X3ZkcGFfaW50ZXJydXB0X2hhbmRsZXIodm9pZCAqY2JfYXJnKQ0KPiA+ICAJCXVpbnQ4X3Qg YnVmW3NpemVvZihzdHJ1Y3QgbWx4NWR2X2RldnhfYXN5bmNfZXZlbnRfaGRyKSArDQo+IDEyOF07 DQo+ID4gIAl9IG91dDsNCj4gPg0KPiA+ICsJcHRocmVhZF9tdXRleF9sb2NrKCZwcml2LT52cV9j b25maWdfbG9jayk7DQo+ID4gIAl3aGlsZSAobWx4NV9nbHVlLT5kZXZ4X2dldF9ldmVudChwcml2 LT5ldmVudGMsICZvdXQuZXZlbnRfcmVzcCwNCj4gPiAgCQkJCQkgc2l6ZW9mKG91dC5idWYpKSA+ PQ0KPiA+ICAJCQkJICAgICAgIChzc2l6ZV90KXNpemVvZihvdXQuZXZlbnRfcmVzcC5jb29raWUp KQ0KPiB7IEBAIC0zMzcsMTINCj4gPiArMzQxLDE1IEBAIG1seDVfdmRwYV9pbnRlcnJ1cHRfaGFu ZGxlcih2b2lkICpjYl9hcmcpDQo+ID4gIAkJc3RydWN0IG1seDVfdmRwYV92aXJ0cSAqdmlydHEg PSBjb250YWluZXJfb2YoZXFwLA0KPiA+ICAJCQkJCQkgICBzdHJ1Y3QgbWx4NV92ZHBhX3ZpcnRx LCBlcXApOw0KPiA+DQo+ID4gKwkJaWYgKCF2aXJ0cS0+ZW5hYmxlKQ0KPiA+ICsJCQljb250aW51 ZTsNCj4gPiAgCQltbHg1X3ZkcGFfY3FfcG9sbChjcSk7DQo+ID4gIAkJLyogTm90aWZ5IGd1ZXN0 IGZvciBkZXNjcyBjb25zdW1pbmcuICovDQo+ID4gIAkJaWYgKGNxLT5jYWxsZmQgIT0gLTEpDQo+ ID4gIAkJCWV2ZW50ZmRfd3JpdGUoY3EtPmNhbGxmZCwgKGV2ZW50ZmRfdCkxKTsNCj4gPiAgCQlp ZiAocHJpdi0+ZXZlbnRfbW9kZSA9PQ0KPiBNTFg1X1ZEUEFfRVZFTlRfTU9ERV9PTkxZX0lOVEVS UlVQVCkgew0KPiA+ICAJCQltbHg1X3ZkcGFfY3FfYXJtKHByaXYsIGNxKTsNCj4gPiArCQkJcHRo cmVhZF9tdXRleF91bmxvY2soJnByaXYtPnZxX2NvbmZpZ19sb2NrKTsNCj4gPiAgCQkJcmV0dXJu Ow0KPiA+ICAJCX0NCj4gPiAgCQkvKiBEb24ndCBhcm0gYWdhaW4gLSB0aW1lciB3aWxsIHRha2Ug Y29udHJvbC4gKi8gQEAgLTM2Myw2DQo+ICszNzAsNw0KPiA+IEBAIG1seDVfdmRwYV9pbnRlcnJ1 cHRfaGFuZGxlcih2b2lkICpjYl9hcmcpDQo+ID4gIAkJcHRocmVhZF9jb25kX3NpZ25hbCgmcHJp di0+dGltZXJfY29uZCk7DQo+ID4gIAl9DQo+ID4gIAlwdGhyZWFkX211dGV4X3VubG9jaygmcHJp di0+dGltZXJfbG9jayk7DQo+ID4gKwlwdGhyZWFkX211dGV4X3VubG9jaygmcHJpdi0+dnFfY29u ZmlnX2xvY2spOw0KPiA+ICB9DQo+ID4NCj4gPiAgaW50DQo+ID4NCg0K