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 8517C42E4D; Wed, 12 Jul 2023 04:17:12 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 538D04114A; Wed, 12 Jul 2023 04:17:12 +0200 (CEST) Received: from APC01-TYZ-obe.outbound.protection.outlook.com (mail-tyzapc01on2051.outbound.protection.outlook.com [40.107.117.51]) by mails.dpdk.org (Postfix) with ESMTP id AC4D84114A for ; Wed, 12 Jul 2023 04:17:10 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=AzoOs7AxtPamhvSzAfHPjWVZH4vlFmCmwdjjhCCBg69QuSdPY/xgSQsSXoOT+DuMTgrKuHkwXBV5AVh2vaybLE/Y9KSgAE1b3UdFNVASs0luZ3JL7660RVohX3zIkM3kU/HZiTl0XxTS4QUFrauWTutjJkCuNH0iEoqLO1+OQP8T5d85uQe4n+jmiQYExBCjmLDjXzBl+R4bWKswCt+WR/yg1RTX1TPOLkiN7Os5VlBR/KaR8rWAyyLb+6te87wJCUJOfBTytiMd3Yo8FlnJBabYyClksrttIdNqnCdax/lY3l5dyERzfJNvkessdYvBQvJ8tXWcjVmP/3bRCSpRDw== 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=F9lyyFsArZQ5QmaXbbs3n6p2O0/e2ixarGX3glik7Kw=; b=EHQ6U1J3E4KdNzSFCcrQ2jVqupWLCGEYnbRhWMWrIbh12gu10sx1T2hS+OW4Zez9InFwE1bV3pfRGniaZeeuwHD9+nMjRgOw5YMNjfx03lhqbYv/HIhZ2M8pTk7kWd2NKMuJhi65TDNdI54mzRb4pIgjatpFz9Pwwys9qQUwJ5FLrime09Ytgrai3F6RvjclAMCS1Me0GcZCscLNdHaXlLYYPngay3TlhQcPqFGe7lRK1Z+TAQIeOGyH5cT9ryXzxoN7rkN/lsrVW02mv2AfgD6GRqpPzurx+WVDzwCkaXuYxajVHc53Tvws/5xgAVnCFrLni3CTwPSSGFmL+tKA9A== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=jaguarmicro.com; dmarc=pass action=none header.from=jaguarmicro.com; dkim=pass header.d=jaguarmicro.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=jaguarmicro.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=F9lyyFsArZQ5QmaXbbs3n6p2O0/e2ixarGX3glik7Kw=; b=GCp1wa1K+1ZeaBifKqcTz42sTvq4N4dGtNnlbKzO+0D9cb89Y2UwBuVYkl7cyyne8+q85Uh6gn6yPNKvCSXHUR9Y3rEBO8X/ymseE0qMrCIKyH2CEJ+BUCtH2psmJiD9J5N0DBzTBb/yMauTC+/T/WQ+8ul744NdpNwj+3ByDoID/fIyPI6hWOQrJvXJfzEE2bJaD6maOcj95/fxJI+qznm22VIehFzbY8PWKWu/bPUMVSr8nSh+S8Z7Gvgd5YcV9kM/UD9lZfOndfHRBRdwsG05w4Ozbgz9PbGZ/UUuvim9cXHF/DXKC/bxLHlF+UaOei6aOep77c5AEyuMte+rKw== Received: from SI2PR06MB4752.apcprd06.prod.outlook.com (2603:1096:4:14c::14) by SEYPR06MB4992.apcprd06.prod.outlook.com (2603:1096:101:50::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6565.32; Wed, 12 Jul 2023 02:17:04 +0000 Received: from SI2PR06MB4752.apcprd06.prod.outlook.com ([fe80::cd49:2f53:9de3:1901]) by SI2PR06MB4752.apcprd06.prod.outlook.com ([fe80::cd49:2f53:9de3:1901%4]) with mapi id 15.20.6565.028; Wed, 12 Jul 2023 02:17:04 +0000 From: Rma Ma To: Maxime Coquelin , dpdk-dev CC: Chenbo Xia , "Michael S . Tsirkin" Subject: =?gb2312?B?u9i4tDogu9i4tDogW1BBVENIIHYzXSB2aG9zdDogYWRkIG5vdGlmeSByZXBs?= =?gb2312?Q?y_ops_to_fix_message_deadlock?= Thread-Topic: =?gb2312?B?u9i4tDogW1BBVENIIHYzXSB2aG9zdDogYWRkIG5vdGlmeSByZXBseSBvcHMg?= =?gb2312?Q?to_fix_message_deadlock?= Thread-Index: AQHZriKIUaeiph0Px0C7vwJ57C7k96+0VosOgABDeQCAANNYvg== Date: Wed, 12 Jul 2023 02:17:04 +0000 Message-ID: References: <20230704023228.24879-1-rma.ma@jaguarmicro.com> <20230704025157.26024-1-rma.ma@jaguarmicro.com> <13dcdbde-df66-fc17-3eb5-d23bb6836a55@redhat.com> In-Reply-To: <13dcdbde-df66-fc17-3eb5-d23bb6836a55@redhat.com> Accept-Language: zh-CN, en-AS, en-US Content-Language: zh-CN X-MS-Has-Attach: X-MS-TNEF-Correlator: msip_labels: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=jaguarmicro.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: SI2PR06MB4752:EE_|SEYPR06MB4992:EE_ x-ms-office365-filtering-correlation-id: 19e6c8ce-11ca-4edc-897c-08db827e1595 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: DXukmNE9pjqZ2kiaavWhi0xNVXZ+gkGGHbvTBbEu+Rpj+jN05S71IpOOxMRaxbnSdvXovXNLV6w9b0hazjk5vNQVLgYuQYyN+zjrtIi4vsEhKK7tW/Z/RBZ+4LXgogWTuUj9SWa9an1ehbxaqN3Ripu8i6UASAEuiTkRD8ZNthiul0Pl1EuO1qxWOq3+O15dgIAE8oSNFROZj2L+xVKnz5mXZd/wykmIYqGRey0pKDZN7b74GZTvKzS6H6vcH+qiq6YeW2ntempeFoV44T3QgkIs3nBTaYA+jvG79AzQ1+45hjKc1XQxUyY6u6begUlIln8V9hGq/lwOQWd1t/iLN+8ctq/yCtTgnYULC5+Fdp4GpUA8mWOt8ld7iksyPgu+r74oMX/nJ8CmKuZH/SRB8YtGAx80XlTKTXV7jlNwFY6GUDZNZcmtz5FaTsDrsz7GqoSIA2fm2a5D/6ER57UqAoh3zqoeomDJfHuttYXSj6D78GqiGXCFQBE9Gqd3EOdgrpuqWiGum78Tgmj0aI4hPfA2MtSbZGzPr8z+p9wBqnq+W62/iWe7ZN9IKn7NQrLxkIod7Z+rD+FIWjMs86h/h/xgcAnop4lm9vWJ+vnkPcljRTCNr2a7+iJCX/6htih5 x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:SI2PR06MB4752.apcprd06.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230028)(136003)(376002)(366004)(346002)(396003)(39840400004)(451199021)(186003)(6506007)(26005)(53546011)(9686003)(83380400001)(316002)(41300700001)(15650500001)(66476007)(2906002)(5660300002)(52536014)(44832011)(66556008)(8936002)(478600001)(64756008)(4326008)(66446008)(66946007)(71200400001)(110136005)(76116006)(54906003)(7696005)(55016003)(224303003)(33656002)(122000001)(38070700005)(38100700002)(86362001)(19627405001); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?gb2312?B?TGxDR0M1V1JyL1lOYTA0WVRmY0NIR05ZL05tT0JKSzd1Vlp5M202VXB6NGh0?= =?gb2312?B?cmRYQ2FiczdxRzFIYjhGMUp3TFVHSjdKOXMxdUlLaDV5WUtHdm4zc2FlOVUr?= =?gb2312?B?bkd2dEt3dGFDUTBzUmJHVGhDK2RQcWxzcFZ6VkZqVm5YVjJoT2xwaXR5QmhW?= =?gb2312?B?VVBTeFpUdDJvc1NaMEt4ZjU4VEhFcE51Ly9rZERNeWk0d1h6VC9jRnlOZEtv?= =?gb2312?B?RllqSEpMcHZxS2I3anBINzVXcG44czNDSnNJZzNSSlExaUl4WWpNWEIvd2gw?= =?gb2312?B?V1N2N2ZqMWl6cC9sdEU4dFRXSzA1Ry9md3c1TXZWYVIwWE4yemJsY0l6VURX?= =?gb2312?B?dzhTeS8yVWlSL1lYamptM20wbk4zbG5RT1hhb291Nnkrbm9xdDJIUnpKTWJ3?= =?gb2312?B?R0lZM1VPL1FackVtUlBrK09qbCtpMzh6RmhFOWFvVEN6eUx4Z1JtYWFKV1JN?= =?gb2312?B?aDdQcVg1Qzl6K1NJWHZ5T1pkVW5Cb3pvQUVpSHQrbSs2bjgybGdnbGsxYmN0?= =?gb2312?B?ZzVZRVB6Z1lSemNGTzBNQkVFZ0JMdzMxMVg4UTA2aEUxNHQ3V3BkNk5vZnlV?= =?gb2312?B?WHY4eHluMzRNdlN0bFlscE9QeFpNZ2duZlh2ZEFJUVZPSksya2hOU3Q5eEJE?= =?gb2312?B?TVdXZmcwVHRhNnFlbFdNOW9TZCt0TUh3WEhJWFlnNHV6V2FOYndxc0Q3VTNF?= =?gb2312?B?ZVpRMHU0bVpGNEpneUtYWGVzVSt0V3pzdk1jU1I2ZXBTZkw1NVZzWFRpN2dY?= =?gb2312?B?UXVydlREeFVWemlyV2JVNTNOT2FFRXdHaW5RbE84a0JQQThuSzRFK1F6akFG?= =?gb2312?B?cHpSdHRLL25UVkJzbnNzT1h1OHZRSW9laEx2MGNBQ1AzWWh4eEh5R3hVTWhC?= =?gb2312?B?Tk5zOFh5UWhJOW8zOHpFN3NhMENFWVZFTWtEcjRvaExjVWxFdlBZM0FzUmhn?= =?gb2312?B?K2JhTzREck9lMTEzN0pJeWRSamxyUDg0MzNVV3ZsQXZuVTdEeUp3RzVMQ2hN?= =?gb2312?B?VFlhendsd2d1NGdGektKQjdzNzJnTjVKTkFrZXFoSVNGS2xXdXd3aGY5c2JQ?= =?gb2312?B?WTljWmpSSXVoNHdCUWNkbkJGQmNjSDMzczhrRWc2K014YnNzVUtBdTNGclBv?= =?gb2312?B?Z2NyTVh6WlNBK3BYaUJDbFVJbDlhT1UvN2FLM1dXV1hWVGF1Vkgwcm9IRjI4?= =?gb2312?B?RW40S3phVGRMTWVOWlVDdHEwU1AwUUhYenIxWTJEZ1Ayd0Y5K0ZQR3RJZzlq?= =?gb2312?B?NlJCeWE2SGpGVFc5SVRpdTJrQ0dpL21aU3lGWTBadjFYVWFJYVBLQTVNSWF6?= =?gb2312?B?NHZHaGsrSWI3RTM5dGEzampKSGY1a0RSU3JuRlhoUWNqM0RKb2FwSW40VUYz?= =?gb2312?B?c3A2K0xoOEVVUnVDOENsVUNjcFZJOWpBOW00RmpISFgwT2RVSU9GSy9jSnA5?= =?gb2312?B?STRiV1JYbVBqdy9CSFNMa2I3Q1Nzay9qT2tJa1V3WW02QmhPN29sTE5rSUJF?= =?gb2312?B?VVJTNVp1K1RDSHZIMTJjbnFuNnlvOE1zdE1oQlh6OThlQ2N1S0Vjd0hnb1Jq?= =?gb2312?B?a1hRZkdmSWpxbWk5YkNvcHVXdFB2MjBwYXpSY0NMN0dNMC83SGs1cFV1WFAv?= =?gb2312?B?K2NsOFoydTlScStBc2pLTXlSWDgxWnMwWUNueGhtU0dqOVY2UldTR2N2cjBh?= =?gb2312?B?ek41Q3hjUkNVU3lkR1AySFE1cHVxckhXcHRPMW5WOE5NMFVSMkswbysvUm5v?= =?gb2312?B?YkJSR3JpNmNsSDVBLzFpU2djMWdUMURxbk9mVVNpdmViaFdiUFpRRnhEUVJ4?= =?gb2312?B?YjNOZTlKUFVqL3FOLy9VK1U3QXlYeEVrMTBqZkFUa3lnTWVSa0ozVGc4aTlv?= =?gb2312?B?N05HTTVvdUNRSVNTZlAyeDhJRWxSTkE5TUhjT2hOd2ROZ29zSjJWdVN1UGEv?= =?gb2312?B?NlhYY2hiRWlHaTJ0dWQxUHFMTTlvbVhZYXlJWkg1blkxdzUwQ1hFUXRwK1g3?= =?gb2312?B?QW41SWpUeWhva01YUG50RHFiTzhjdG0zK1F6RXBPM3gwdi9yQXhEN3ZqQnpp?= =?gb2312?B?dFB6N2JQWmllbnNzckNBZlR3NE9TNW5OdU9hVkttRGZEVDZ6NUlqU3R4dHRY?= =?gb2312?Q?rMpI=3D?= Content-Type: multipart/alternative; boundary="_000_SI2PR06MB47521141F4002DB03B31694E9936ASI2PR06MB4752apcp_" MIME-Version: 1.0 X-OriginatorOrg: jaguarmicro.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: SI2PR06MB4752.apcprd06.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 19e6c8ce-11ca-4edc-897c-08db827e1595 X-MS-Exchange-CrossTenant-originalarrivaltime: 12 Jul 2023 02:17:04.2598 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 1e45a5c2-d3e1-46b3-a0e6-c5ebf6d8ba7b X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: VtGQzTugt+pf6GzJnoHD5VlSvkefUlA4vA23an8JNz3kfDkGKwGVc7MzKJCe9q2hD0aVZVgKEbxP+pQN35Qshw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SEYPR06MB4992 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 --_000_SI2PR06MB47521141F4002DB03B31694E9936ASI2PR06MB4752apcp_ Content-Type: text/plain; charset="gb2312" Content-Transfer-Encoding: base64 PiAgPiAgPiBTaW5jZSBiYWNrZW5kIGFuZCBmcm9udGVuZCBtZXNzYWdlIGFyZSBzeW5jaHJvbm91 cyBpbiB0aGUgc2FtZSB0aHJlYWQsDQo+ICA+ICA+IHRoZXJlIHdpbGwgYmUgYSBwcm9iYWJpbGl0 eSBvZiBtZXNzYWdlIGRlYWRsb2NrLg0KPiAgPiAgPiBDb25zaWRlciBlYWNoIGRyaXZlciB0byBk ZXRlcm1pbmUgd2hldGhlciB0byB3YWl0IGZvciByZXNwb25zZS4NCj4gID4gID4NCj4gID4gID4g Rml4ZXM6IGQ5MGNmN2QxMTFhYyAoInZob3N0OiBzdXBwb3J0IGhvc3Qgbm90aWZpZXIiKQ0KPiAg PiAgPiBDYzogbWF4aW1lLmNvcXVlbGluQHJlZGhhdC5jb20NCj4gID4gID4gU2lnbmVkLW9mZi1i eTogUm1hIE1hIDxybWEubWFAamFndWFybWljcm8uY29tPg0KPiAgPiAgPiAtLS0NCj4gID4gID4g djIgLSBmaXggZm9ybWF0IGVycm9yIGluIGNvbW1pdCBtZXNzYWdlDQo+ICA+ICA+IHYzIC0gYWRk IC0taW4tcmVwbHktdG8NCj4gID4gID4gLS0tDQo+ICA+DQo+ICA+IEhpIE1heGltZSwNCj4gID4N Cj4gID4gVGhpcyBwYXRjaCBoZWxwcyB0byBmaXggdmhvc3QtdXNlciBtZXNzYWdlIGRlYWRsb2Nr LCBjb3VsZCB5b3UgaGVscA0KPiAgPiByZXZpZXcgaXQ/DQo+DQo+ICBUaGUgcGF0Y2ggaW50cm9k dWNlcyBhIG5ldyBkZXZpY2Ugb3AsIGJ1dCBpdCBpcyB1c2VkIG5vd2hlcmUgaW4gdkRQQQ0KPiAg ZHJpdmVycy4NCj4NCj4gIFdoYXQgdkRQQSBkcml2ZXIgaXMgaXQgZ29pbmcgdG8gYmUgdXNlZCB3 aXRoPw0KPg0KPiAgUmVnYXJkcywNCj4gIE1heGltZQ0KDQoNCkhpLA0KDQpPdXIgY29tcGFueSdz IGptbmQgdmRwYSBkcml2ZXIsIHdoaWNoIHJlcXVpcmVzIHRoZSBydGVfdmhvc3RfaG9zdF9ub3Rp Zmllcl9jdHJsIGludGVyZmFjZSwNCnJlcGxpY2F0ZXMgdGhlIHByb2JsZW0gd2l0aCB0aGUgZm9s bG93aW5nIHNjZW5hcmlvOg0KDQpRRU1VIHN0YXJ0IHZob3N0LXVzZXIgd2l0aCBtb2Rlcm4gbmV0 IGFuZCBibGssIGJhY2tlbmQgdXNlIGRwZGstdmRwYSBwcm9jZXNzLA0KYWZ0ZXIgbGl2ZSBtaWdy YXRpb24sIGRlc3QgUUVNVSBkZWFkbG9jayB3aXRoIGRwZGstdmRwYS4NCg0KLSBRRU1VIHNlbmRz IFZIT1NUX1VTRVJfU0VUX1ZSSU5HX0tJQ0sgdG8gZHBkay12ZHBhIG5ldA0KLSBRRU1VIGRvZXMg bm90IG5lZWQgdG8gd2FpdCBmb3IgYSByZXNwb25zZSB0byB0aGlzIG1lc3NhZ2UNCi0gUUVNVSB0 aGVuIHNlbmRzIFZIT1NUX1VTRVJfU0VUX01FTV9UQUJMRSB0byBkcGRrLXZkcGEgYmxrDQotIFFF TVUgbmVlZHMgdG8gd2FpdCByZXBseSBpbiB0aGlzIG1lc3NhZ2UNCi0gd2hlbiBkcGRrLXZkcGEg cmVjdiBWSE9TVF9VU0VSX1NFVF9WUklOR19LSUNLLA0KLSBpdCB3aWxsIHNlbmQgVkhPU1RfVVNF Ul9CQUNLRU5EX1ZSSU5HX0hPU1RfTk9USUZJRVJfTVNHIHRvIFFFTVUNCi0gZHBkay12ZHBhIG5l ZWRzIHRvIHdhaXQgZm9yIGEgcmVzcG9uc2UgdG8gdGhpcyBtZXNzYWdlDQotIFFFTVUgd2lsbCBk ZWFkbG9jayB3aXRoIGRwZGstdmRwYQ0KDQpJIHRyaWVkIHRvIGFkZCBhIHBhdGNoIHRvIHRoZSBx ZW11IGNvbW11bml0eSB0aGF0IHVzZXMgYSBuZXcgdGhyZWFkIHRvIGxvb3AgYmFja2VuZCBjaGFu bmVsLA0KQnV0IHRoZXJlIHdpbGwgYmUgc29tZSBtdWx0aS10aHJlYWRlZCBzeW5jaHJvbml6YXRp b24gaXNzdWVzDQoNCkkgdGhpbmsgdGhpcyBpcyBhIHB1YmxpYyBpc3N1ZSwgYW5kIG90aGVyIGJh Y2tlbmQgbWVzc2FnZXMgdGFrZSB0aGlzIGludG8gYWNjb3VudCwNCnNvIEkgdGhpbmsgdGhpcyBt ZXNzYWdlIGFsc28gbmVlZHMgYSBmbGFnIHRvIGZpeCBpdC4NCg0KYW5kIGptbmQgdmRwYSBkcml2 ZXIgd2lsbCBzdWJzZXF1ZW50bHkgYmUgb3Blbi1zb3VyY2VkIHRvIHRoZSBjb21tdW5pdHkuDQoN Cg0KDQoNCkJlc3Qgd2lzaGVzLA0KDQpSbWENCg0KX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX18NCreivP7IyzogTWF4aW1lIENvcXVlbGluIDxtYXhpbWUuY29xdWVsaW5AcmVkaGF0LmNv bT4NCreiy83KsbzkOiAyMDIzxOo31MIxMcjVIDIxOjI1DQrK1bz+yMs6IFJtYSBNYSA8cm1hLm1h QGphZ3Vhcm1pY3JvLmNvbT47IGRwZGstZGV2IDxkZXZAZHBkay5vcmc+DQqzrcvNOiBDaGVuYm8g WGlhIDxjaGVuYm8ueGlhQGludGVsLmNvbT4NCtb3zOI6IFJlOiC72Li0OiBbUEFUQ0ggdjNdIHZo b3N0OiBhZGQgbm90aWZ5IHJlcGx5IG9wcyB0byBmaXggbWVzc2FnZSBkZWFkbG9jaw0KDQpIaSwN Cg0KT24gNy8xMS8yMyAxMToyNSwgUm1hIE1hIHdyb3RlOg0KPiAgPiBTaW5jZSBiYWNrZW5kIGFu ZCBmcm9udGVuZCBtZXNzYWdlIGFyZSBzeW5jaHJvbm91cyBpbiB0aGUgc2FtZSB0aHJlYWQsDQo+ ICA+IHRoZXJlIHdpbGwgYmUgYSBwcm9iYWJpbGl0eSBvZiBtZXNzYWdlIGRlYWRsb2NrLg0KPiAg PiBDb25zaWRlciBlYWNoIGRyaXZlciB0byBkZXRlcm1pbmUgd2hldGhlciB0byB3YWl0IGZvciBy ZXNwb25zZS4NCj4gID4NCj4gID4gRml4ZXM6IGQ5MGNmN2QxMTFhYyAoInZob3N0OiBzdXBwb3J0 IGhvc3Qgbm90aWZpZXIiKQ0KPiAgPiBDYzogbWF4aW1lLmNvcXVlbGluQHJlZGhhdC5jb20NCj4g ID4gU2lnbmVkLW9mZi1ieTogUm1hIE1hIDxybWEubWFAamFndWFybWljcm8uY29tPg0KPiAgPiAt LS0NCj4gID4gdjIgLSBmaXggZm9ybWF0IGVycm9yIGluIGNvbW1pdCBtZXNzYWdlDQo+ICA+IHYz IC0gYWRkIC0taW4tcmVwbHktdG8NCj4gID4gLS0tDQo+DQo+IEhpIE1heGltZSwNCj4NCj4gVGhp cyBwYXRjaCBoZWxwcyB0byBmaXggdmhvc3QtdXNlciBtZXNzYWdlIGRlYWRsb2NrLCBjb3VsZCB5 b3UgaGVscA0KPiByZXZpZXcgaXQ/DQoNClRoZSBwYXRjaCBpbnRyb2R1Y2VzIGEgbmV3IGRldmlj ZSBvcCwgYnV0IGl0IGlzIHVzZWQgbm93aGVyZSBpbiB2RFBBDQpkcml2ZXJzLg0KDQpXaGF0IHZE UEEgZHJpdmVyIGlzIGl0IGdvaW5nIHRvIGJlIHVzZWQgd2l0aD8NCg0KUmVnYXJkcywNCk1heGlt ZQ0KDQo+IFRoYW5rcy4NCj4NCj4gQmVzdCB3aXNoZXMsDQo+DQo+IFJtYQ0KPg0KPiAtLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0NCj4gKreivP7IyzoqIFJtYSBNYQ0KPiAqt6LLzcqxvOQ6KiAyMDIzxOo31MI0yNUg MTA6NTINCj4gKsrVvP7IyzoqIGRwZGstZGV2IDxkZXZAZHBkay5vcmc+DQo+ICqzrcvNOiogTWF4 aW1lIENvcXVlbGluIDxtYXhpbWUuY29xdWVsaW5AcmVkaGF0LmNvbT47IENoZW5ibyBYaWENCj4g PGNoZW5iby54aWFAaW50ZWwuY29tPjsgUm1hIE1hIDxybWEubWFAamFndWFybWljcm8uY29tPg0K PiAq1vfM4joqIFtQQVRDSCB2M10gdmhvc3Q6IGFkZCBub3RpZnkgcmVwbHkgb3BzIHRvIGZpeCBt ZXNzYWdlIGRlYWRsb2NrDQo+IFNpbmNlIGJhY2tlbmQgYW5kIGZyb250ZW5kIG1lc3NhZ2UgYXJl IHN5bmNocm9ub3VzIGluIHRoZSBzYW1lIHRocmVhZCwNCj4gdGhlcmUgd2lsbCBiZSBhIHByb2Jh YmlsaXR5IG9mIG1lc3NhZ2UgZGVhZGxvY2suDQo+IENvbnNpZGVyIGVhY2ggZHJpdmVyIHRvIGRl dGVybWluZSB3aGV0aGVyIHRvIHdhaXQgZm9yIHJlc3BvbnNlLg0KPg0KPiBGaXhlczogZDkwY2Y3 ZDExMWFjICgidmhvc3Q6IHN1cHBvcnQgaG9zdCBub3RpZmllciIpDQo+IENjOiBtYXhpbWUuY29x dWVsaW5AcmVkaGF0LmNvbQ0KPiBTaWduZWQtb2ZmLWJ5OiBSbWEgTWEgPHJtYS5tYUBqYWd1YXJt aWNyby5jb20+DQo+IC0tLQ0KPiB2MiAtIGZpeCBmb3JtYXQgZXJyb3IgaW4gY29tbWl0IG1lc3Nh Z2UNCj4gdjMgLSBhZGQgLS1pbi1yZXBseS10bw0KPiAtLS0NCj4gICBsaWIvdmhvc3QvdmRwYV9k cml2ZXIuaCB8ICAzICsrKw0KPiAgIGxpYi92aG9zdC92aG9zdF91c2VyLmMgIHwgMjMgKysrKysr KysrKysrKysrKysrLS0tLS0NCj4gICAyIGZpbGVzIGNoYW5nZWQsIDIxIGluc2VydGlvbnMoKyks IDUgZGVsZXRpb25zKC0pDQo+DQo+IGRpZmYgLS1naXQgYS9saWIvdmhvc3QvdmRwYV9kcml2ZXIu aCBiL2xpYi92aG9zdC92ZHBhX2RyaXZlci5oDQo+IGluZGV4IDhkYjRhYjlmNGQuLjNkMmVhM2M5 MGUgMTAwNjQ0DQo+IC0tLSBhL2xpYi92aG9zdC92ZHBhX2RyaXZlci5oDQo+ICsrKyBiL2xpYi92 aG9zdC92ZHBhX2RyaXZlci5oDQo+IEBAIC04MSw2ICs4MSw5IEBAIHN0cnVjdCBydGVfdmRwYV9k ZXZfb3BzIHsNCj4NCj4gICAgICAgICAgIC8qKiBnZXQgZGV2aWNlIHR5cGU6IG5ldCBkZXZpY2Us IGJsayBkZXZpY2UuLi4gKi8NCj4gICAgICAgICAgIGludCAoKmdldF9kZXZfdHlwZSkoc3RydWN0 IHJ0ZV92ZHBhX2RldmljZSAqZGV2LCB1aW50MzJfdCAqdHlwZSk7DQo+ICsNCj4gKyAgICAgICAv KiogR2V0IHRoZSBub3RpZnkgcmVwbHkgZmxhZyAqLw0KPiArICAgICAgIGludCAoKmdldF9ub3Rp ZnlfcmVwbHlfZmxhZykoaW50IHZpZCwgYm9vbCAqbmVlZF9yZXBseSk7DQo+ICAgfTsNCj4NCj4g ICAvKioNCj4gZGlmZiAtLWdpdCBhL2xpYi92aG9zdC92aG9zdF91c2VyLmMgYi9saWIvdmhvc3Qv dmhvc3RfdXNlci5jDQo+IGluZGV4IDkwMWE4MGJiYWEuLmFhNjE5OTI5MzkgMTAwNjQ0DQo+IC0t LSBhL2xpYi92aG9zdC92aG9zdF91c2VyLmMNCj4gKysrIGIvbGliL3Zob3N0L3Zob3N0X3VzZXIu Yw0KPiBAQCAtMzM2NSwxMyArMzM2NSwxNCBAQCBydGVfdmhvc3RfYmFja2VuZF9jb25maWdfY2hh bmdlKGludCB2aWQsIGJvb2wNCj4gbmVlZF9yZXBseSkNCj4gICBzdGF0aWMgaW50IHZob3N0X3Vz ZXJfYmFja2VuZF9zZXRfdnJpbmdfaG9zdF9ub3RpZmllcihzdHJ1Y3QNCj4gdmlydGlvX25ldCAq ZGV2LA0KPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBpbnQgaW5kZXgsIGludCBmZCwNCj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgdWludDY0X3Qgb2Zmc2V0LA0KPiAtICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDY0X3Qgc2l6ZSkNCj4g KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ2 NF90IHNpemUsDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgYm9vbCBuZWVkX3JlcGx5KQ0KPiAgIHsNCj4gICAgICAgICAgIGludCByZXQ7 DQo+ICAgICAgICAgICBzdHJ1Y3Qgdmh1X21zZ19jb250ZXh0IGN0eCA9IHsNCj4gICAgICAgICAg ICAgICAgICAgLm1zZyA9IHsNCj4gICAgICAgICAgICAgICAgICAgICAgICAgICAucmVxdWVzdC5i YWNrZW5kID0NCj4gVkhPU1RfVVNFUl9CQUNLRU5EX1ZSSU5HX0hPU1RfTk9USUZJRVJfTVNHLA0K PiAtICAgICAgICAgICAgICAgICAgICAgICAuZmxhZ3MgPSBWSE9TVF9VU0VSX1ZFUlNJT04gfCBW SE9TVF9VU0VSX05FRURfUkVQTFksDQo+ICsgICAgICAgICAgICAgICAgICAgICAgIC5mbGFncyA9 IFZIT1NUX1VTRVJfVkVSU0lPTiwNCj4gICAgICAgICAgICAgICAgICAgICAgICAgICAuc2l6ZSA9 IHNpemVvZihjdHgubXNnLnBheWxvYWQuYXJlYSksDQo+ICAgICAgICAgICAgICAgICAgICAgICAg ICAgLnBheWxvYWQuYXJlYSA9IHsNCj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IC51NjQgPSBpbmRleCAmIFZIT1NUX1VTRVJfVlJJTkdfSURYX01BU0ssDQo+IEBAIC0zMzg4LDcg KzMzODksMTMgQEAgc3RhdGljIGludA0KPiB2aG9zdF91c2VyX2JhY2tlbmRfc2V0X3ZyaW5nX2hv c3Rfbm90aWZpZXIoc3RydWN0IHZpcnRpb19uZXQgKmRldiwNCj4gICAgICAgICAgICAgICAgICAg Y3R4LmZkX251bSA9IDE7DQo+ICAgICAgICAgICB9DQo+DQo+IC0gICAgICAgcmV0ID0gc2VuZF92 aG9zdF9iYWNrZW5kX21lc3NhZ2VfcHJvY2Vzc19yZXBseShkZXYsICZjdHgpOw0KPiArICAgICAg IGlmICghbmVlZF9yZXBseSkNCj4gKyAgICAgICAgICAgICAgIHJldCA9IHNlbmRfdmhvc3RfYmFj a2VuZF9tZXNzYWdlKGRldiwgJmN0eCk7DQo+ICsgICAgICAgZWxzZSB7DQo+ICsgICAgICAgICAg ICAgICBjdHgubXNnLmZsYWdzIHw9IFZIT1NUX1VTRVJfTkVFRF9SRVBMWTsNCj4gKyAgICAgICAg ICAgICAgIHJldCA9IHNlbmRfdmhvc3RfYmFja2VuZF9tZXNzYWdlX3Byb2Nlc3NfcmVwbHkoZGV2 LCAmY3R4KTsNCj4gKyAgICAgICB9DQo+ICsNCj4gICAgICAgICAgIGlmIChyZXQgPCAwKQ0KPiAg ICAgICAgICAgICAgICAgICBWSE9TVF9MT0dfQ09ORklHKGRldi0+aWZuYW1lLCBFUlIsICJmYWls ZWQgdG8gc2V0IGhvc3QNCj4gbm90aWZpZXIgKCVkKVxuIiwgcmV0KTsNCj4NCj4gQEAgLTM0MDIs NiArMzQwOSw3IEBAIGludCBydGVfdmhvc3RfaG9zdF9ub3RpZmllcl9jdHJsKGludCB2aWQsIHVp bnQxNl90DQo+IHFpZCwgYm9vbCBlbmFibGUpDQo+ICAgICAgICAgICBpbnQgdmZpb19kZXZpY2Vf ZmQsIHJldCA9IDA7DQo+ICAgICAgICAgICB1aW50NjRfdCBvZmZzZXQsIHNpemU7DQo+ICAgICAg ICAgICB1bnNpZ25lZCBpbnQgaSwgcV9zdGFydCwgcV9sYXN0Ow0KPiArICAgICAgIGJvb2wgbmVl ZF9yZXBseTsNCj4NCj4gICAgICAgICAgIGRldiA9IGdldF9kZXZpY2UodmlkKTsNCj4gICAgICAg ICAgIGlmICghZGV2KQ0KPiBAQCAtMzQ0MCw2ICszNDQ4LDExIEBAIGludCBydGVfdmhvc3RfaG9z dF9ub3RpZmllcl9jdHJsKGludCB2aWQsDQo+IHVpbnQxNl90IHFpZCwgYm9vbCBlbmFibGUpDQo+ ICAgICAgICAgICBpZiAodmZpb19kZXZpY2VfZmQgPCAwKQ0KPiAgICAgICAgICAgICAgICAgICBy ZXR1cm4gLUVOT1RTVVA7DQo+DQo+ICsgICAgICAgaWYgKHZkcGFfZGV2LT5vcHMtPmdldF9ub3Rp ZnlfcmVwbHlfZmxhZyA9PSBOVUxMKQ0KPiArICAgICAgICAgICAgICAgbmVlZF9yZXBseSA9IHRy dWU7DQo+ICsgICAgICAgZWxzZQ0KPiArICAgICAgICAgICAgICAgdmRwYV9kZXYtPm9wcy0+Z2V0 X25vdGlmeV9yZXBseV9mbGFnKHZpZCwgJm5lZWRfcmVwbHkpOw0KPiArDQo+ICAgICAgICAgICBp ZiAoZW5hYmxlKSB7DQo+ICAgICAgICAgICAgICAgICAgIGZvciAoaSA9IHFfc3RhcnQ7IGkgPD0g cV9sYXN0OyBpKyspIHsNCj4gICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAodmRwYV9kZXYt Pm9wcy0+Z2V0X25vdGlmeV9hcmVhKHZpZCwgaSwNCj4gJm9mZnNldCwNCj4gQEAgLTM0NDksNyAr MzQ2Miw3IEBAIGludCBydGVfdmhvc3RfaG9zdF9ub3RpZmllcl9jdHJsKGludCB2aWQsIHVpbnQx Nl90DQo+IHFpZCwgYm9vbCBlbmFibGUpDQo+ICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0K Pg0KPiAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmDQo+ICh2aG9zdF91c2VyX2JhY2tlbmRf c2V0X3ZyaW5nX2hvc3Rfbm90aWZpZXIoZGV2LCBpLA0KPiAtICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgdmZpb19kZXZpY2VfZmQsIG9mZnNldCwgc2l6ZSkgPCAwKSB7DQo+ ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2ZmlvX2RldmljZV9mZCwg b2Zmc2V0LCBzaXplLA0KPiBuZWVkX3JlcGx5KSA8IDApIHsNCj4gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHJldCA9IC1FRkFVTFQ7DQo+ICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBnb3RvIGRpc2FibGU7DQo+ICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0K PiBAQCAtMzQ1OCw3ICszNDcxLDcgQEAgaW50IHJ0ZV92aG9zdF9ob3N0X25vdGlmaWVyX2N0cmwo aW50IHZpZCwgdWludDE2X3QNCj4gcWlkLCBib29sIGVuYWJsZSkNCj4gICBkaXNhYmxlOg0KPiAg ICAgICAgICAgICAgICAgICBmb3IgKGkgPSBxX3N0YXJ0OyBpIDw9IHFfbGFzdDsgaSsrKSB7DQo+ DQo+IHZob3N0X3VzZXJfYmFja2VuZF9zZXRfdnJpbmdfaG9zdF9ub3RpZmllcihkZXYsIGksIC0x LA0KPiAtICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMCwgMCk7DQo+ICsg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwLCAwLCBuZWVkX3JlcGx5KTsN Cj4gICAgICAgICAgICAgICAgICAgfQ0KPiAgICAgICAgICAgfQ0KPg0KPiAtLQ0KPiAyLjE3LjEN Cj4NCg0K --_000_SI2PR06MB47521141F4002DB03B31694E9936ASI2PR06MB4752apcp_ Content-Type: text/html; charset="gb2312" Content-Transfer-Encoding: quoted-printable
>  >  > Since backend and frontend message are synchrono= us in the same thread,
>  >  > there will be a pr= obability of message deadlock.
>  >  > Consider each driv= er to determine whether to wait for response.
>  >  >
>  >  > Fixes: d90cf7d111a= c ("vhost: support host notifier")
>  >  > Cc: maxime.coqueli= n@redhat.com
>  >  > Signed-off-by: Rma= Ma <rma.ma@jaguarmicro.com>
>  >  > ---
>  >  > v2 - fix format er= ror in commit message
>  >  > v3 - add --in-repl= y-to
>  >  > ---
>  >
>  > Hi Maxime,
>  >
>  > This patch helps to fix vhost= -user message deadlock, could you help
>  > review it?
>  
>  The patch introduces a new device = op, but it is used nowhere in vDPA
>  drivers.
>  
>  What vDPA driver is it going to be= used with?
>  
>  Regards,
>  Maxime


Hi,

Our company's jmnd vdpa driver, which require= s the rte_vhost_host_notifier_ctrl interface,
replicates the problem with the following sce= nario:

QEMU start vhost-user with modern net and blk= , backend use dpdk-vdpa process,
after live migration, dest QEMU deadlock with= dpdk-vdpa.

- QEMU sends VHOST_USER_SET_VRING_KICK to dpd= k-vdpa net
- QEMU does not need to wait for a response t= o this message
- QEMU then sends VHOST_USER_SET_MEM_TABLE to= dpdk-vdpa blk
- QEMU needs to wait reply in this message
- when dpdk-vdpa recv VHOST_USER_SET_VRING_KI= CK,
- it will send VHOST_USER_BACKEND_VRING_HOST_= NOTIFIER_MSG to QEMU
- dpdk-vdpa needs to wait for a response to t= his message
- QEMU will deadlock with dpdk-vdpa

I tried to add a patch to the qemu community = that uses a new thread to loop backend channel,
But there will be some multi-threaded synchro= nization issues

I think this is a public issue, and other bac= kend messages take this into account,
so I think this message also needs a flag to = fix it.

and jmnd vdpa driver will subsequently be open-sourced to the community.



Best wis= hes,

Rma


=B7=A2=BC=FE=C8=CB: Maxime = Coquelin <maxime.coquelin@redhat.com>
=B7=A2=CB=CD=CA=B1=BC=E4: 2023=C4=EA7=D4=C211=C8=D5 21:25
=CA=D5=BC=FE=C8=CB: Rma Ma <rma.ma@jaguarmicro.com>; dpdk-dev = <dev@dpdk.org>
=B3=AD=CB=CD: Chenbo Xia <chenbo.xia@intel.com>
=D6=F7=CC=E2: Re: =BB=D8=B8=B4: [PATCH v3] vhost: add notify reply o= ps to fix message deadlock
 
Hi,

On 7/11/23 11:25, Rma Ma wrote:
>  > Since backend and frontend message are synchronous in the s= ame thread,
>  > there will be a probability of message deadlock.
>  > Consider each driver to determine whether to wait for respo= nse.
>  >
>  > Fixes: d90cf7d111ac ("vhost: support host notifier&quo= t;)
>  > Cc: maxime.coquelin@redhat.com
>  > Signed-off-by: Rma Ma <rma.ma@jaguarmicro.com>
>  > ---
>  > v2 - fix format error in commit message
>  > v3 - add --in-reply-to
>  > ---
>
> Hi Maxime,
>
> This patch helps to fix vhost-user message deadlock, could you help > review it?

The patch introduces a new device op, but it is used nowhere in vDPA
drivers.

What vDPA driver is it going to be used with?

Regards,
Maxime

> Thanks.
>
> Best wishes,
>
> Rma
>
> ----------------------------------------------------------------------= --
> *=B7=A2=BC=FE=C8=CB:* Rma Ma
> *=B7=A2=CB=CD=CA=B1=BC=E4:* 2023=C4=EA7=D4=C24=C8=D5 10:52
> *=CA=D5=BC=FE=C8=CB:* dpdk-dev <dev@dpdk.org>
> *=B3=AD=CB=CD:* Maxime Coquelin <maxime.coquelin@redhat.com>; Ch= enbo Xia
> <chenbo.xia@intel.com>; Rma Ma <rma.ma@jaguarmicro.com> > *=D6=F7=CC=E2:* [PATCH v3] vhost: add notify reply ops to fix message = deadlock
> Since backend and frontend message are synchronous in the same thread,=
> there will be a probability of message deadlock.
> Consider each driver to determine whether to wait for response.
>
> Fixes: d90cf7d111ac ("vhost: support host notifier")
> Cc: maxime.coquelin@redhat.com
> Signed-off-by: Rma Ma <rma.ma@jaguarmicro.com>
> ---
> v2 - fix format error in commit message
> v3 - add --in-reply-to
> ---
>   lib/vhost/vdpa_driver.h |  3 +++
>   lib/vhost/vhost_user.c  | 23 ++++++++++++++++++-----<= br> >   2 files changed, 21 insertions(+), 5 deletions(-)
>
> diff --git a/lib/vhost/vdpa_driver.h b/lib/vhost/vdpa_driver.h
> index 8db4ab9f4d..3d2ea3c90e 100644
> --- a/lib/vhost/vdpa_driver.h
> +++ b/lib/vhost/vdpa_driver.h
> @@ -81,6 +81,9 @@ struct rte_vdpa_dev_ops {
>
>           /** get device = type: net device, blk device... */
>           int (*get_dev_t= ype)(struct rte_vdpa_device *dev, uint32_t *type);
> +
> +       /** Get the notify reply flag */=
> +       int (*get_notify_reply_flag)(int= vid, bool *need_reply);
>   };
>
>   /**
> diff --git a/lib/vhost/vhost_user.c b/lib/vhost/vhost_user.c
> index 901a80bbaa..aa61992939 100644
> --- a/lib/vhost/vhost_user.c
> +++ b/lib/vhost/vhost_user.c
> @@ -3365,13 +3365,14 @@ rte_vhost_backend_config_change(int vid, bool =
> need_reply)
>   static int vhost_user_backend_set_vring_host_notifier(stru= ct
> virtio_net *dev,
>            &nbs= p;            &= nbsp;           &nbs= p;            &= nbsp;    int index, int fd,
>            &nbs= p;            &= nbsp;           &nbs= p;            &= nbsp;    uint64_t offset,
> -           &nb= sp;            =             &nb= sp;            =   uint64_t size)
> +           &nb= sp;            =             &nb= sp;            =   uint64_t size,
> +           &nb= sp;            =             &nb= sp;            =       bool need_reply)
>   {
>           int ret;
>           struct vhu_msg_= context ctx =3D {
>            &nbs= p;      .msg =3D {
>            &nbs= p;            &= nbsp; .request.backend =3D
> VHOST_USER_BACKEND_VRING_HOST_NOTIFIER_MSG,
> -           &nb= sp;           .flags =3D = VHOST_USER_VERSION | VHOST_USER_NEED_REPLY,
> +           &nb= sp;           .flags =3D = VHOST_USER_VERSION,
>            &nbs= p;            &= nbsp; .size =3D sizeof(ctx.msg.payload.area),
>            &nbs= p;            &= nbsp; .payload.area =3D {
>            &nbs= p;            &= nbsp;         .u64 =3D index & = VHOST_USER_VRING_IDX_MASK,
> @@ -3388,7 +3389,13 @@ static int
> vhost_user_backend_set_vring_host_notifier(struct virtio_net *dev,
>            &nbs= p;      ctx.fd_num =3D 1;
>           }
>
> -       ret =3D send_vhost_backend_messa= ge_process_reply(dev, &ctx);
> +       if (!need_reply)
> +           &nb= sp;   ret =3D send_vhost_backend_message(dev, &ctx);
> +       else {
> +           &nb= sp;   ctx.msg.flags |=3D VHOST_USER_NEED_REPLY;
> +           &nb= sp;   ret =3D send_vhost_backend_message_process_reply(dev, &= ctx);
> +       }
> +
>           if (ret < 0)=
>            &nbs= p;      VHOST_LOG_CONFIG(dev->ifname, ERR, &quo= t;failed to set host
> notifier (%d)\n", ret);
>
> @@ -3402,6 +3409,7 @@ int rte_vhost_host_notifier_ctrl(int vid, uint16= _t
> qid, bool enable)
>           int vfio_device= _fd, ret =3D 0;
>           uint64_t offset= , size;
>           unsigned int i,= q_start, q_last;
> +       bool need_reply;
>
>           dev =3D get_dev= ice(vid);
>           if (!dev)
> @@ -3440,6 +3448,11 @@ int rte_vhost_host_notifier_ctrl(int vid,
> uint16_t qid, bool enable)
>           if (vfio_device= _fd < 0)
>            &nbs= p;      return -ENOTSUP;
>
> +       if (vdpa_dev->ops->get_not= ify_reply_flag =3D=3D NULL)
> +           &nb= sp;   need_reply =3D true;
> +       else
> +           &nb= sp;   vdpa_dev->ops->get_notify_reply_flag(vid, &need_r= eply);
> +
>           if (enable) { >            &nbs= p;      for (i =3D q_start; i <=3D q_last; i++)= {
>            &nbs= p;            &= nbsp; if (vdpa_dev->ops->get_notify_area(vid, i,
> &offset,
> @@ -3449,7 +3462,7 @@ int rte_vhost_host_notifier_ctrl(int vid, uint16= _t
> qid, bool enable)
>            &nbs= p;            &= nbsp; }
>
>            &nbs= p;            &= nbsp; if
> (vhost_user_backend_set_vring_host_notifier(dev, i,
> -           &nb= sp;            =             &nb= sp;  vfio_device_fd, offset, size) < 0) {
> +           &nb= sp;            =             &nb= sp;  vfio_device_fd, offset, size,
> need_reply) < 0) {
>            &nbs= p;            &= nbsp;         ret =3D -EFAULT;
>            &nbs= p;            &= nbsp;         goto disable;
>            &nbs= p;            &= nbsp; }
> @@ -3458,7 +3471,7 @@ int rte_vhost_host_notifier_ctrl(int vid, uint16= _t
> qid, bool enable)
>   disable:
>            &nbs= p;      for (i =3D q_start; i <=3D q_last; i++)= {
>            = ;            &n= bsp; 
> vhost_user_backend_set_vring_host_notifier(dev, i, -1,
> -           &nb= sp;            =             &nb= sp;  0, 0);
> +           &nb= sp;            =             &nb= sp;  0, 0, need_reply);
>            &nbs= p;      }
>           }
>
> --
> 2.17.1
>

--_000_SI2PR06MB47521141F4002DB03B31694E9936ASI2PR06MB4752apcp_--