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 BEA494602E; Thu, 16 Jan 2025 13:15:39 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id AEB4740668; Thu, 16 Jan 2025 13:15:39 +0100 (CET) Received: from NAM02-DM3-obe.outbound.protection.outlook.com (mail-dm3nam02on2085.outbound.protection.outlook.com [40.107.95.85]) by mails.dpdk.org (Postfix) with ESMTP id 07E1440668 for ; Thu, 16 Jan 2025 13:15:38 +0100 (CET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=p0FZYplz1O9Lf77qBradi0m9BJ2CzinKSk2LZABEYM0pUJoP0h+rmjrrbJ39Z0kXTL172WMhMFYCPon8ZGTUhW+M0bmWBUfuaFr51pgyWmFqChEL0ZgbOXLuoSAhLvx651HFtZxob3FrT7d+jSwUdjkhVtaFqw70/NJjK8N2ywfOLlgRnl9wxDvLqUgvkqNeynGT7SBbfydCdj6n4xXTpcyksYdm7e8ilh21WF7IS9XFaEB7XkTT4tqDqnOHRPVvc3uzNDOQi8NbEhdF+wgPWF1ooCsJv5LjbttlRb9dgZz+LQy0TmHGnpv1C3zksqBbIB51Vuh26jZkLJYl6Yonlg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=tsUqnm6F8h9fE5nHw6NiTbGIA0f//mcnTv+PnxvqgFg=; b=q4VixzWHzbDrFCSiFUAYJRsL/NYCS7tjk+fyQcXbYjE+lR2im4+GKMfbWxKxY3VCv1yUsPWUujbcsb44JwDt1FPLHmTrhFtR+tfcAo5up/i6nnNE+IH7fXjpMRorjugfGZUaZcA9+K763KppPKT5jzBKT/TgfUKbblZkKnBvM/NHyPMLguv3Np79s3s5K1znWMk53dDPLaUO2Rni5BVO0BJDzlJLqX3Un3WByI7McVRVd8nduiA3VFEVSAikbbezQym7aJb1Lvm+XC1S3+ofhYK0WfhAjH2MUGk+wiWt7zv6EPOb29GMliVKqQa0xAJ+NTztUB6huYI2ZfcyN24Daw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nvidia.com; dmarc=pass action=none header.from=nvidia.com; dkim=pass header.d=nvidia.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=tsUqnm6F8h9fE5nHw6NiTbGIA0f//mcnTv+PnxvqgFg=; b=V1Oi1wps8r2UXYzKwGYbZwkBgFwC/uIYNcCykMQS6/64tc7NzbHn+kWNpWJCakhpVFO+/Y/5uK0mKE5HzKKoqUbSBFcvwpHeVHF++FyPlucLLnhkcoaUEtCirYhuXv3mYc4Yr3htQIfpyc7Yjju1ioJy7asM0SA/e1PplEEOOv1LBAXYzSMCLjyxUr3ZbbVw/btNaCcXib66rpGtAnJ7eLEH3NlGef5Q2w9/iYLOhJyhIShxy8YMzQmw19V3BiAahRyHSU1MbBE0Us+wmEGuZysVZz+JALGU6PhvriVJfJBLcfE2mPwbCkH/tu1+Q/6weiRDSb1lB7bI1b9ZTuuGAg== Received: from MN0PR12MB6103.namprd12.prod.outlook.com (2603:10b6:208:3c9::19) by CYYPR12MB8854.namprd12.prod.outlook.com (2603:10b6:930:b8::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8356.14; Thu, 16 Jan 2025 12:15:36 +0000 Received: from MN0PR12MB6103.namprd12.prod.outlook.com ([fe80::3c6c:6f63:917e:98d8]) by MN0PR12MB6103.namprd12.prod.outlook.com ([fe80::3c6c:6f63:917e:98d8%4]) with mapi id 15.20.8356.010; Thu, 16 Jan 2025 12:15:36 +0000 From: Chenbo Xia To: Maxime Coquelin CC: "dev@dpdk.org" , "david.marchand@redhat.com" Subject: Re: [PATCH v3 3/3] vhost: improve RARP handling in dequeue paths Thread-Topic: [PATCH v3 3/3] vhost: improve RARP handling in dequeue paths Thread-Index: AQHbZ/ynIpfDYmBRwEmWNbtkqMTc87MZUKuA Date: Thu, 16 Jan 2025 12:15:36 +0000 Message-ID: <2EFE8520-06E5-4CD7-B73E-56109786ADEE@nvidia.com> References: <20250116095416.3655699-1-maxime.coquelin@redhat.com> <20250116095416.3655699-4-maxime.coquelin@redhat.com> In-Reply-To: <20250116095416.3655699-4-maxime.coquelin@redhat.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nvidia.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: MN0PR12MB6103:EE_|CYYPR12MB8854:EE_ x-ms-office365-filtering-correlation-id: 6e5c0173-130c-442c-23df-08dd36277bad x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; ARA:13230040|376014|366016|1800799024|38070700018; x-microsoft-antispam-message-info: =?us-ascii?Q?KpvCBC6TW9nNFx49yPL4M6jbBufvWe6E38+04PZQmMckTARnxKOgcPP8Fbqj?= =?us-ascii?Q?wUjJB/Gpt4Ul8ul+W53iRVlXOobaM8+vo7Vrve1omvInCjaDxga0bENQLz1p?= =?us-ascii?Q?yL4QLHpOejdrCZHX5hwVIvkpGpONbz9nmxAlAEH44ZdjFUq8qyKALyAoWArn?= =?us-ascii?Q?r3XIJDnOvqA1gFFDYqijIKSOS7k0sRUzDJJ8Y75aONupjLz8NozOz4eTYXSs?= =?us-ascii?Q?gCs3i0gyTfC+ZiMD8KxVw2gzgZjgUm8XSJ5XM+RW0AiGRpjGzpPdhlC4PRKn?= =?us-ascii?Q?yh0/580UjrAFmvkoKyhl/LkOnFm69blCA2SKnKmyp+D9Moy1CMQPIMEvFYo8?= =?us-ascii?Q?UDE6XuSMVBHNR3v3RZ/jpAL0Cb37dfU4MKJOcchXMavvnG16rxix5ACmMGWp?= =?us-ascii?Q?mUyF+J9UCu9sFH2VTGTeOLwrKXy5SXzk0lSeWe2tsVZhTXlt758UE+rOdgA+?= =?us-ascii?Q?aIBs4dpKnzQrLHu4RRuqbDOYLB6NGsv/7Ar/GE9M4WxB+WH7sxoo2b3ok/CN?= =?us-ascii?Q?gaxqjwuB5b9oGaV3nXE1mB+hYEBynk6BSk+G4JinX4fEt5ggcIuN9KBbIvdv?= =?us-ascii?Q?O0C4sS1SgVdlhO8ouHIu2AotKR9q4CwP0z3ujd+5W+6SaauwE98Sjmh29anh?= =?us-ascii?Q?JqNKHdHDJYoVAve/eAGinjygMlOqpyfz+v8q+rW5g+JW4AgdE+wcTzXwGQBz?= =?us-ascii?Q?Tu8lsPpCsnKcCBSxoSwhMjTH+o5whzJ2PVJAs7xQejH8a/S3zPpxt3ZNs+jD?= =?us-ascii?Q?fKaPzJJtIDP8gQ5GeiZ5iGUxMCrio952AdqNikximtZ4pVD0DDUdfsVH8gTe?= =?us-ascii?Q?+jrm5n1t30dgHOLLSL3bf+vXNd2y+4dV00EG6pyP5WEhqVOv6N3wM6DRYvqa?= =?us-ascii?Q?6EXl/DgLJM9XJj03X/vlRIN4c53ugub82Uxj/NabyofXi+OQuGrjNnGK2z3X?= =?us-ascii?Q?KghMbBQW2hgJ6bkUZ1mtX3a8QQQAMxeS2wl3IiaUn/5X0WQ3ue0VlnPFU7DJ?= =?us-ascii?Q?7lQjH0bhKDJmstJJIOPZ3xyLel0jCckKWS1LqOidMA2nLP3//N8yheH+RxXj?= =?us-ascii?Q?oNqKSjsr/UhV3Cw4Y14hV5kRrJJrtM3DHxqmS5iywhUvMWE5KHhcJsuJh7UV?= =?us-ascii?Q?q+mZmybR6BQpeKke43dryIzaAv6l0XnAkIUv0OI+5ERSGZLkny0QxbmezvaK?= =?us-ascii?Q?TQIDBiuqZWghJWN7YC1BzUMTu2C2QsAayGreRcW9lVGIT/G2AAglhW0WZnR9?= =?us-ascii?Q?CoEZ9fZXx58oRy6lzs2ehzF7IX7VV4GZMQC76a3d/JJbUJOZgbV1XxVPl2Si?= =?us-ascii?Q?nFamdqL9Iw3Tf0EmmFrYm993W1XO3H7XFP5+QwiYT3+055/MSVPa17I1ECqe?= =?us-ascii?Q?n6bj0Mejg/sv/c7qZ8dxp6e82nfv2rb/MlQUX+Bw9OFdhIgoYN2mvQxiBTGA?= =?us-ascii?Q?GoRIltBV7PniPMc0DeZ2bnVhXKMY2SFG?= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:MN0PR12MB6103.namprd12.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(376014)(366016)(1800799024)(38070700018); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?figMlNBGiaQcSz9BIgfCvfyBRl238r9CSh/Q/ncI2kFhuBjvATE6nuSszTbc?= =?us-ascii?Q?lSwQMTKazKJz9oX/e6Tul6IDaY/CVwBcYWNgPA5ifiHI0tWDaImeBuN0RAqu?= =?us-ascii?Q?okKN921jHZYLTGxGSHSRT+CvqNeJgokGukrODKs1J+5lUvOPaKJMdKdMQzOt?= =?us-ascii?Q?C0EE0ZuUAA10/J/H2b8310BidMaRKVGF4u5W7eTYPJJF0wu8X+KTfjceyX8s?= =?us-ascii?Q?65e8WZ/dOt333cj9lzDnUYQ1YBH1CU79/T8Eyrz8bWDrOyrT1pMX/V/AfJkT?= =?us-ascii?Q?1fV5Np+3ihzD8v/beW3RLj/uCAL8+WkDY2ItJK5SVHm9bDDkJa5lU/ftxYxd?= =?us-ascii?Q?xkXKMuTxxkXXGiPRS5Pjcv0l5f/EoRVZ8IQFXJI0D4DFjODCNvgZuzt+0up6?= =?us-ascii?Q?J9qQk17/mpH/ZcsXaLeV4pnX9JlrrfcVRFLMFd+jHY5etI0TRa+jHWe/iHzb?= =?us-ascii?Q?L6yFko3cK+XuON7ysLIMGKOXeMZP7MrkeCXjKafFVnB9Yw6e2mz6ymUslJ0e?= =?us-ascii?Q?yIe6g11LCCltLNMXY5UZp2LZWgD8XflOsEV0PDb7ppU4NtzakON/TOCOk1eS?= =?us-ascii?Q?mFz+9j41RWpCFbfD9xXGorNYfIyypggu7BCFp92jwwjdJg1hAQvXZd4ENPfn?= =?us-ascii?Q?XRjqCECcGQypRYwn1KxjpFx0/BLlCgQSEdkSEHaewrOdPpNw0pwBcDWQax4h?= =?us-ascii?Q?315bRXPl6M9fBkJ8KfD100ohOl34UXdYl1UXgOeX1XF/aVeKek9M7TLZfB9W?= =?us-ascii?Q?mtA/Lcffssv0PhzHnjf6whZ2SnT4Ap4ZJc4C2I4Xuu7C2EOlxalt8ZoXssoZ?= =?us-ascii?Q?CnMlR7v1PvXqT0C3qKe8lY0udMR+A4eJCr/fK8+r5fEreoxVQ88RHVd4CTwx?= =?us-ascii?Q?MMpsL+jO+v4p6sHqGvOTinAcxZ/FdMbGXHuXvNJFL6puHr6lM3ZwN8o7Hj+G?= =?us-ascii?Q?nDFdvF/eFsXD8PBNYH+TpmP/yM2/mpFAdgT+ClFlvsuSMowOziz02qb5MR3V?= =?us-ascii?Q?zLDv5gzx+Y/tO/boxJMriZyw6ibc5Stf33++Bb4mCQEhIf518lUO6zUtednZ?= =?us-ascii?Q?KWvSA6iyoVT2zjmioQs05MBXOWQ3p1HgOiistiDK9DKCH+nXWD1+MudUnv/v?= =?us-ascii?Q?ZJieWgBQ/v38LRaDirkoAFc/FyjM7KBtMpraWXQNf0HL9fxYrnLz1J+oTrHF?= =?us-ascii?Q?7XxF3WuoNT8eL4+DDrPBLOxSXFxL1I6i4geKEjHkAwo+hMLceHBYlGkh227u?= =?us-ascii?Q?1/0V/o4HT5VhUxIm6X0zPH7D8v8tCKDb3qCY9s/Sl+/V5wvFeC3vaxLw5UZS?= =?us-ascii?Q?lLPaSywFJki/gTE3uqACUg27Jpx7cXAbeTyy6q/D/0DlNkpPyXaAL6DCIShN?= =?us-ascii?Q?4BOHksxOhIxgpmCljtAFbGHTzSmaAka7TD9apy8189Twb9BwnP5pq7sFU635?= =?us-ascii?Q?Nd0kHCYi6OZF0egNhZUqYvZf+2gGnXoFS+KDOMB6JlKKdydETZGaCM5g+4W+?= =?us-ascii?Q?TKqBxUkIDzCUoJwyQ8rUifgs6ne6geY8szts7Pervg+HyTQaOohOPe0hdznr?= =?us-ascii?Q?LFvg6PCcwGMRv9h9jkc65tgZxlJg6PLLc5mVpKoT?= Content-Type: text/plain; charset="us-ascii" Content-ID: <227CC67428E5294EBBB05ED97CC52716@namprd12.prod.outlook.com> Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: MN0PR12MB6103.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 6e5c0173-130c-442c-23df-08dd36277bad X-MS-Exchange-CrossTenant-originalarrivaltime: 16 Jan 2025 12:15:36.2475 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: YrkgzDRQHGT4Fub2uk/7jS9vBBa7sjsiT8BA/FmliLJ3vG7lUho8/uS+bxqko05Z9yAHlUOPdG8WGkG7YJ7++w== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CYYPR12MB8854 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 > On Jan 16, 2025, at 17:54, Maxime Coquelin w= rote: >=20 > External email: Use caution opening links or attachments >=20 >=20 > With previous refactoring, we can now simplify the RARP > packet injection handling in both the sync and async > dequeue paths. >=20 > Signed-off-by: Maxime Coquelin > --- > lib/vhost/virtio_net.c | 72 ++++++++++++++++++------------------------ > 1 file changed, 30 insertions(+), 42 deletions(-) >=20 > diff --git a/lib/vhost/virtio_net.c b/lib/vhost/virtio_net.c > index 59ea2d16a5..c5de2d7a28 100644 > --- a/lib/vhost/virtio_net.c > +++ b/lib/vhost/virtio_net.c > @@ -3590,7 +3590,6 @@ rte_vhost_dequeue_burst(int vid, uint16_t queue_id, > struct rte_mempool *mbuf_pool, struct rte_mbuf **pkts, uint16_t co= unt) > { > struct virtio_net *dev; > - struct rte_mbuf *rarp_mbuf =3D NULL; > struct vhost_virtqueue *vq; > int16_t success =3D 1; > uint16_t nb_rx =3D 0; > @@ -3651,32 +3650,32 @@ rte_vhost_dequeue_burst(int vid, uint16_t queue_i= d, > if (unlikely(rte_atomic_load_explicit(&dev->broadcast_rarp, rte_me= mory_order_acquire) && > rte_atomic_compare_exchange_strong_explicit(&dev->= broadcast_rarp, > &success, 0, rte_memory_order_release, rte_memory_= order_relaxed))) { > - > - rarp_mbuf =3D rte_net_make_rarp_packet(mbuf_pool, &dev->m= ac); > - if (rarp_mbuf =3D=3D NULL) { > + /* > + * Inject the RARP packet to the head of "pkts" array, > + * so that switch's mac learning table will get updated f= irst. > + */ > + pkts[nb_rx] =3D rte_net_make_rarp_packet(mbuf_pool, &dev-= >mac); > + if (pkts[nb_rx] =3D=3D NULL) { > VHOST_DATA_LOG(dev->ifname, ERR, "failed to make R= ARP packet."); > goto out; > } > - /* > - * Inject it to the head of "pkts" array, so that switch'= s mac > - * learning table will get updated first. > - */ > - pkts[0] =3D rarp_mbuf; > - vhost_queue_stats_update(dev, vq, pkts, 1); > - pkts++; > - count -=3D 1; > + nb_rx +=3D 1; > } >=20 > if (vq_is_packed(dev)) { > if (dev->flags & VIRTIO_DEV_LEGACY_OL_FLAGS) > - nb_rx =3D virtio_dev_tx_packed_legacy(dev, vq, mb= uf_pool, pkts, count); > + nb_rx +=3D virtio_dev_tx_packed_legacy(dev, vq, m= buf_pool, > + pkts + nb_rx, count - nb_rx); > else > - nb_rx =3D virtio_dev_tx_packed_compliant(dev, vq,= mbuf_pool, pkts, count); > + nb_rx +=3D virtio_dev_tx_packed_compliant(dev, vq= , mbuf_pool, > + pkts + nb_rx, count - nb_rx); > } else { > if (dev->flags & VIRTIO_DEV_LEGACY_OL_FLAGS) > - nb_rx =3D virtio_dev_tx_split_legacy(dev, vq, mbu= f_pool, pkts, count); > + nb_rx +=3D virtio_dev_tx_split_legacy(dev, vq, mb= uf_pool, > + pkts + nb_rx, count - nb_rx); > else > - nb_rx =3D virtio_dev_tx_split_compliant(dev, vq, = mbuf_pool, pkts, count); > + nb_rx +=3D virtio_dev_tx_split_compliant(dev, vq,= mbuf_pool, > + pkts + nb_rx, count - nb_rx); > } >=20 > vhost_queue_stats_update(dev, vq, pkts, nb_rx); > @@ -3687,9 +3686,6 @@ rte_vhost_dequeue_burst(int vid, uint16_t queue_id, > out_access_unlock: > rte_rwlock_read_unlock(&vq->access_lock); >=20 > - if (unlikely(rarp_mbuf !=3D NULL)) > - nb_rx +=3D 1; > - > out_no_unlock: > return nb_rx; > } > @@ -4194,7 +4190,6 @@ rte_vhost_async_try_dequeue_burst(int vid, uint16_t= queue_id, > int *nr_inflight, int16_t dma_id, uint16_t vchan_id) > { > struct virtio_net *dev; > - struct rte_mbuf *rarp_mbuf =3D NULL; > struct vhost_virtqueue *vq; > int16_t success =3D 1; > uint16_t nb_rx =3D 0; > @@ -4274,36 +4269,32 @@ rte_vhost_async_try_dequeue_burst(int vid, uint16= _t queue_id, > if (unlikely(rte_atomic_load_explicit(&dev->broadcast_rarp, rte_me= mory_order_acquire) && > rte_atomic_compare_exchange_strong_explicit(&dev->= broadcast_rarp, > &success, 0, rte_memory_order_release, rte_memory_= order_relaxed))) { > - > - rarp_mbuf =3D rte_net_make_rarp_packet(mbuf_pool, &dev->m= ac); > - if (rarp_mbuf =3D=3D NULL) { > + /* > + * Inject the RARP packet to the head of "pkts" array, > + * so that switch's mac learning table will get updated f= irst. > + */ > + pkts[nb_rx] =3D rte_net_make_rarp_packet(mbuf_pool, &dev-= >mac); > + if (pkts[nb_rx] =3D=3D NULL) { > VHOST_DATA_LOG(dev->ifname, ERR, "failed to make R= ARP packet."); > goto out; > } > - /* > - * Inject it to the head of "pkts" array, so that switch'= s mac > - * learning table will get updated first. > - */ > - pkts[0] =3D rarp_mbuf; > - vhost_queue_stats_update(dev, vq, pkts, 1); > - pkts++; > - count -=3D 1; > + nb_rx +=3D 1; > } >=20 > if (vq_is_packed(dev)) { > if (dev->flags & VIRTIO_DEV_LEGACY_OL_FLAGS) > - nb_rx =3D virtio_dev_tx_async_packed_legacy(dev, = vq, mbuf_pool, > - pkts, count, dma_id, vchan_id); > + nb_rx +=3D virtio_dev_tx_async_packed_legacy(dev,= vq, mbuf_pool, > + pkts + nb_rx, count - nb_rx, dma_= id, vchan_id); > else > - nb_rx =3D virtio_dev_tx_async_packed_compliant(de= v, vq, mbuf_pool, > - pkts, count, dma_id, vchan_id); > + nb_rx +=3D virtio_dev_tx_async_packed_compliant(d= ev, vq, mbuf_pool, > + pkts + nb_rx, count - nb_rx, dma_= id, vchan_id); > } else { > if (dev->flags & VIRTIO_DEV_LEGACY_OL_FLAGS) > - nb_rx =3D virtio_dev_tx_async_split_legacy(dev, v= q, mbuf_pool, > - pkts, count, dma_id, vchan_id); > + nb_rx +=3D virtio_dev_tx_async_split_legacy(dev, = vq, mbuf_pool, > + pkts + nb_rx, count - nb_rx, dma_= id, vchan_id); > else > - nb_rx =3D virtio_dev_tx_async_split_compliant(dev= , vq, mbuf_pool, > - pkts, count, dma_id, vchan_id); > + nb_rx +=3D virtio_dev_tx_async_split_compliant(de= v, vq, mbuf_pool, > + pkts + nb_rx, count - nb_rx, dma_= id, vchan_id); > } >=20 > *nr_inflight =3D vq->async->pkts_inflight_n; > @@ -4315,9 +4306,6 @@ rte_vhost_async_try_dequeue_burst(int vid, uint16_t= queue_id, > out_access_unlock: > rte_rwlock_read_unlock(&vq->access_lock); >=20 > - if (unlikely(rarp_mbuf !=3D NULL)) > - nb_rx +=3D 1; > - > out_no_unlock: > return nb_rx; > } > -- > 2.47.1 >=20 Reviewed-by: Chenbo Xia