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 93E3241C35; Wed, 8 Feb 2023 02:06:28 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 6BEE540E6E; Wed, 8 Feb 2023 02:06:28 +0100 (CET) Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by mails.dpdk.org (Postfix) with ESMTP id F0DB440DDB for ; Wed, 8 Feb 2023 02:06:25 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1675818386; x=1707354386; h=from:to:subject:date:message-id:references:in-reply-to: content-transfer-encoding:mime-version; bh=ZevOImWiJaapphkt17qMVuKP1ABF+uGmNNiKyYmJKlQ=; b=ULSSYCACr7JxOcnKKhIYqGGMYhlz3wpO0XygdTItdikFwaZnsCfapP2G tIotTT09DxS6uZy86oDYIqA7SVKPW6ACSuMOyYoIraPY8bZfxZTQEPCWf wwzKJaOB1lWZs80phPVtjTyfe3PATS9FD3Cqm1ohc710GnzLwT6sbnqMb 7tZx38nIi2ZWIoCfHhIYx0bk2Bd1DYu8KojokFRnqAvJOcAbMijM8cIBX mkCh3SeNxYV3yOXmlQZ7ZjDuJaXB2sVeXYV6benTtDLqM3qS9NrO5TlFQ jrZf9ZRRxhXzMI86Qe5ECu9SDRKqJiICxXXrd7Pwiq7ipsaTtAvnPSfjQ g==; X-IronPort-AV: E=McAfee;i="6500,9779,10614"; a="415893775" X-IronPort-AV: E=Sophos;i="5.97,279,1669104000"; d="scan'208";a="415893775" Received: from orsmga004.jf.intel.com ([10.7.209.38]) by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 07 Feb 2023 17:06:24 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6500,9779,10614"; a="791010569" X-IronPort-AV: E=Sophos;i="5.97,279,1669104000"; d="scan'208";a="791010569" Received: from orsmsx603.amr.corp.intel.com ([10.22.229.16]) by orsmga004.jf.intel.com with ESMTP; 07 Feb 2023 17:06:23 -0800 Received: from orsmsx610.amr.corp.intel.com (10.22.229.23) by ORSMSX603.amr.corp.intel.com (10.22.229.16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.16; Tue, 7 Feb 2023 17:06:21 -0800 Received: from ORSEDG602.ED.cps.intel.com (10.7.248.7) by orsmsx610.amr.corp.intel.com (10.22.229.23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.16 via Frontend Transport; Tue, 7 Feb 2023 17:06:21 -0800 Received: from NAM10-DM6-obe.outbound.protection.outlook.com (104.47.58.106) by edgegateway.intel.com (134.134.137.103) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.16; Tue, 7 Feb 2023 17:06:21 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=jkzFwSx90NHY1O1ZJpr8usdtI2hwkNXuuEQ8Vq0GNv3Mt8H3ec04jjUu2WfPHz/a0+T2Txv31v3DVe6uhe6pULmOsmBdKUfW/u0WCw9yyb5Wv81qG4HUgmFD4yqAK99MY7yB1zEZVZrSLscHES+2+ePY6tT4G34A6yDCrHR88zaXdfaPNDpvVF5yg14A7JAq9sCJVfQHcP6co87+B4GZTRETIBbXR/54b7ovRco/IjcPJDBLQ0kdMKNci0lGEwWclTef1JsORp5tPw3BzfgsdcB5VgBZKg4sAxU3fljgg9JhvfHMT71F5jcGOH9By9vRDATm8NFopCnrC2Zh8Lap8A== 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=1seC6KhYOsGl3Zqicd2d2AYnkJD5I42zMVIRLOZ5otc=; b=VQbppxBwPE9uKL391z6iFFzMqiFh6suvNMowg5vl39pn7V1rUnx/5pwkItpkULYjEeHaD2Ytj5gQRun24UKNNSU/WXMOTx2GK/o6o3THNs86D7gJPNV2Y+zt1Labw2wLcPpOyH6T6r+0SkkHmuwSTXeRgtdPersxGT3LaQMgILDc1VvxaxyOjqtqZGyAApu18litOUbSF/4PrVsgS4c3A8Nbhtut4jOCYw2wXclh9hMX+JNjxcxjPazxBRht62HYBFEB7WkqTQ07Tg9AEWFTg3RWMZRvVPFAa3mYX0oO4tTGdGaSAhyPKkvXCTwX6/aY6THmraom5kKAjiqcbk7bTQ== 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 Received: from SN6PR11MB3504.namprd11.prod.outlook.com (2603:10b6:805:d0::17) by BN9PR11MB5371.namprd11.prod.outlook.com (2603:10b6:408:11c::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6064.36; Wed, 8 Feb 2023 01:06:14 +0000 Received: from SN6PR11MB3504.namprd11.prod.outlook.com ([fe80::c8f8:a3e1:5b23:a9c3]) by SN6PR11MB3504.namprd11.prod.outlook.com ([fe80::c8f8:a3e1:5b23:a9c3%5]) with mapi id 15.20.6064.032; Wed, 8 Feb 2023 01:06:13 +0000 From: "Xia, Chenbo" To: Maxime Coquelin , "dev@dpdk.org" , "david.marchand@redhat.com" , "eperezma@redhat.com" , "stephen@networkplumber.org" Subject: RE: [PATCH v2 19/21] net/virtio-user: forward control messages to shadow queue Thread-Topic: [PATCH v2 19/21] net/virtio-user: forward control messages to shadow queue Thread-Index: AQHZOweKUQaHnDtcGkWd7hsXWPVYqq7EPPig Date: Wed, 8 Feb 2023 01:06:13 +0000 Message-ID: References: <20230207151747.245808-1-maxime.coquelin@redhat.com> <20230207151747.245808-20-maxime.coquelin@redhat.com> In-Reply-To: <20230207151747.245808-20-maxime.coquelin@redhat.com> Accept-Language: en-US, zh-CN 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=intel.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: SN6PR11MB3504:EE_|BN9PR11MB5371:EE_ x-ms-office365-filtering-correlation-id: 84ea1a58-b444-4b3c-6e0d-08db0970ac91 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: hONTodsQKAsP7QX1iiS0SHmdzHrP2KD+PXf3GFeUMs7RgDvXTGAsC1Mv5WIyDSKlRJYh728jYAbIgIsQCRQtenK8DCBNUKku5LrP9rO/G8NBmKNpN0eToFhcU2dySd70bTJWzikVRDHNCkywNg4r1NN4idlmjZiiKwmM0gB8obxaDqiO4ZumahGZAnsTnyb1ZTE3jmQX8s7qvNxZnkEl6ImZsKJOsd4Ozl640TYms3lPv8FvrUBOlhQorDA8k3a6EYqRBCm2xns3RCCcqXebeQkOVffhR+VQkrb29ITGjeHfsNPhG6bYtTFkPP1HeCTnQ56h2Dc7YRehC8hwnlTEJCoGnfZaLKxV7xfRdG2gnxjlj6zehwBE22FniPPUbc9TDbQ7+LdZ0fowmEdy5H4/o5XskJkrd8iPRFNfkm6SksRo8U5MKUcXsGMc/ih65VTjMtajjaEh4M5Ou2yyVjz8hyKFmue/AsxqLRkWQdt27ENQGC5DFL4qFKPTRju9etWDrTrpmYaHhgGJ+q/8IMqgJcODq2D+hk5RzRaItJk3gjTFrHP8WByBw0gXHvyL1LRHxIuM+Anaoy5GxjFxy927LHpc2RRqfkL2IdE+fdauZOB2kH8UoxQoWoyBGDM5k20Xe+xfHgefdQ//4KYQ42envgJTf20TMrERO89p72UwEIhSOpSKaOT52WcJdSvQkJpqeuex4se0GXfhrbt7T+fpYg== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:SN6PR11MB3504.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230025)(39860400002)(396003)(376002)(346002)(136003)(366004)(451199018)(2906002)(15650500001)(5660300002)(52536014)(8936002)(41300700001)(33656002)(38070700005)(122000001)(38100700002)(86362001)(82960400001)(55016003)(186003)(7696005)(478600001)(66446008)(66556008)(64756008)(66946007)(71200400001)(76116006)(66476007)(316002)(83380400001)(110136005)(8676002)(6506007)(53546011)(9686003)(26005); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?UT78eWv71Mdu8PdGto9+nJ31EdGYk/BBMZalsi/wL7YCi3L3TdUsJsgOjW/5?= =?us-ascii?Q?ATEFVaOa/OAgwZELT+MVg3WuWprGWwEessfdcmfTl25BkVkoegwVZSH2HEYp?= =?us-ascii?Q?sR6l57KX/t657h4pZyBUjhZPIrD53QslP1l1ai24SCLbl9TUO2DsKuUi+AOh?= =?us-ascii?Q?jT05tAy2bd5n45dKe2Xdcn3sj5EkhdrGUBId4fJ2VqeScCu+s8nUSNnqDTB7?= =?us-ascii?Q?jcnn0Vb2RUrGT8umuOry0CjF1ENJ0veYkImbPZ1ckGazEq/9sWxQUbXwYzh8?= =?us-ascii?Q?xfPgTMZ+zjB7eR94xNCMVFtqt8tJesMjUuzjKwMOridKGToVDcRTGFU76Fky?= =?us-ascii?Q?a62bIrfPOVwh8BDIu0RM/hjcaiDBNz5nF7loY/D1mc54XfNLTf794muoiu5R?= =?us-ascii?Q?l42ZuO3dTg+32FMWQWLHhnTEm7EXbQAKhBW7ZxBb/yrC5N4FNJvXiBlGbBwy?= =?us-ascii?Q?Kv4Xyirk13Jy+NpOz0/amAQImZKnSXAZPBqOKOJO63ZcQy1SWnT2LCzYlLaa?= =?us-ascii?Q?RN1nNr8KQ/D4KwPw3AUH0k4yG3KVqpBhaDlE/5zFDdRGSfZMRBtjFTOcLXsT?= =?us-ascii?Q?iZm85jIay7OIgfT45RvfBHaxHpLqQbEl557nwO4MAsjdI6Rls/yXXv8ZzJx8?= =?us-ascii?Q?Y4agBaYtKyJqasjf29LyJyezXCX8LWv4ygMjeTc2up+pgSo9YpX2od6LajTf?= =?us-ascii?Q?NLA7Tq3VSp+kBl9gWgQ2qY/QqKJBaum7B+keeyNO1LuzbscXh/hQQoHIcszD?= =?us-ascii?Q?FsjX+5+MQRAoKScxt7U6Sn8l+OoBMrkME9ZHMqKYkLXpMKYYC6IlI8SR2GaR?= =?us-ascii?Q?FLC6fNlyb/YxFhvm/5nuClTBierYQRd5CLedBM6wauZPoj98/0VHFxUq3Wpd?= =?us-ascii?Q?3foY2pmtoWyo47oBnDyfIcyXztnishovmx4bqbMbNaHibhz0D/5uK9J97TwC?= =?us-ascii?Q?w2ehlZXx5D/zI5hjx/1VuDONSs4xDB/4c6EO4KBfpQdLKT2KY2CMGbiXLqES?= =?us-ascii?Q?MjGR1Iws/P+3MYHMnws9IcQLJN6Nq7Xj9utZm9adrLS1TyCZz7oAYkfceDbB?= =?us-ascii?Q?gFFjEUcYwNqNLV1B3w8SOa87RaQqkKh3egKY1omklPtFXfJZ9El9TjQk9s55?= =?us-ascii?Q?Wh4fbMMnE8imdKL9pVO/U13PGmZqjXGPGP3hiLnYPQA49mWdLvMYjIDaGOGa?= =?us-ascii?Q?QBo5Pah9jTF/nE6ByOu5wqgOuB7izXasiob/uWrIjGI89IuMq3sHeva1mnF3?= =?us-ascii?Q?Wc+Z1+tUSaQ7n/z74C7Zg6/uxOO766daCTGqHdxNsvOsXSXF4qLjoadS+9Ep?= =?us-ascii?Q?l+0bRRum1dGttWE0hH41Yg+5oJsWwzcA8tGTcNLooXLWo1GA6TtEANiaKxQ3?= =?us-ascii?Q?E1iQ4LfdhMHbSQDwGJMNfbm3+iQqCfBoAeHlEJUTbOhMV3BY/La6mJyjn0oW?= =?us-ascii?Q?MuKn3P4Rd7jQtZhqr2fR+7QQPL+xWaUVX6jXyzytlHkUJY19KlX3Z+S3kbUz?= =?us-ascii?Q?ejgqteI2JbcLiQb9Ug9LtBaj5EcZzYOJPArBhSoAd3Uu70tXCCvJimy8F8wQ?= =?us-ascii?Q?KfYF5jOV3v/zdpOTQ6Tn2mKSMon5fZJUwTQOuu8F?= Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: SN6PR11MB3504.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 84ea1a58-b444-4b3c-6e0d-08db0970ac91 X-MS-Exchange-CrossTenant-originalarrivaltime: 08 Feb 2023 01:06:13.8943 (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: a7K233Mxh1VIbDHcoMK/wUY+yoMTtDmPXIQAr5uh/ttMbgeDTdGw3XW6MYa1RJTE5e9h28bmIifq/UwYqcx3zQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN9PR11MB5371 X-OriginatorOrg: intel.com 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 > -----Original Message----- > From: Maxime Coquelin > Sent: Tuesday, February 7, 2023 11:18 PM > To: dev@dpdk.org; Xia, Chenbo ; > david.marchand@redhat.com; eperezma@redhat.com; stephen@networkplumber.or= g > Cc: Maxime Coquelin > Subject: [PATCH v2 19/21] net/virtio-user: forward control messages to > shadow queue >=20 > This patch implements control messages forwarding from the > regular control queue to the shadow control queue. >=20 > Signed-off-by: Maxime Coquelin > --- > .../net/virtio/virtio_user/virtio_user_dev.c | 35 +++++++++++++++---- > .../net/virtio/virtio_user/virtio_user_dev.h | 3 -- > drivers/net/virtio/virtio_user_ethdev.c | 6 ++-- > 3 files changed, 31 insertions(+), 13 deletions(-) >=20 > diff --git a/drivers/net/virtio/virtio_user/virtio_user_dev.c > b/drivers/net/virtio/virtio_user/virtio_user_dev.c > index b0d603ee12..04d780189e 100644 > --- a/drivers/net/virtio/virtio_user/virtio_user_dev.c > +++ b/drivers/net/virtio/virtio_user/virtio_user_dev.c > @@ -750,7 +750,7 @@ virtio_user_dev_uninit(struct virtio_user_dev *dev) > dev->ops->destroy(dev); > } >=20 > -uint8_t > +static uint8_t > virtio_user_handle_mq(struct virtio_user_dev *dev, uint16_t q_pairs) > { > uint16_t i; > @@ -775,14 +775,17 @@ virtio_user_handle_mq(struct virtio_user_dev *dev, > uint16_t q_pairs) > return ret; > } >=20 > +#define CVQ_MAX_DATA_DESCS 32 > + > static uint32_t > -virtio_user_handle_ctrl_msg(struct virtio_user_dev *dev, struct vring > *vring, > +virtio_user_handle_ctrl_msg_split(struct virtio_user_dev *dev, struct > vring *vring, > uint16_t idx_hdr) > { > struct virtio_net_ctrl_hdr *hdr; > virtio_net_ctrl_ack status =3D ~0; > uint16_t i, idx_data, idx_status; > uint32_t n_descs =3D 0; > + int dlen[CVQ_MAX_DATA_DESCS], nb_dlen =3D 0; >=20 > /* locate desc for header, data, and status */ > idx_data =3D vring->desc[idx_hdr].next; > @@ -790,6 +793,7 @@ virtio_user_handle_ctrl_msg(struct virtio_user_dev > *dev, struct vring *vring, >=20 > i =3D idx_data; > while (vring->desc[i].flags =3D=3D VRING_DESC_F_NEXT) { > + dlen[nb_dlen++] =3D vring->desc[i].len; > i =3D vring->desc[i].next; > n_descs++; > } > @@ -811,6 +815,10 @@ virtio_user_handle_ctrl_msg(struct virtio_user_dev > *dev, struct vring *vring, > status =3D 0; > } >=20 > + if (!status && dev->scvq) > + status =3D virtio_send_command(&dev->scvq->cq, > + (struct virtio_pmd_ctrl *)hdr, dlen, nb_dlen); > + > /* Update status */ > *(virtio_net_ctrl_ack *)(uintptr_t)vring->desc[idx_status].addr =3D > status; >=20 > @@ -836,6 +844,7 @@ virtio_user_handle_ctrl_msg_packed(struct > virtio_user_dev *dev, > uint16_t idx_data, idx_status; > /* initialize to one, header is first */ > uint32_t n_descs =3D 1; > + int dlen[CVQ_MAX_DATA_DESCS], nb_dlen =3D 0; >=20 > /* locate desc for header, data, and status */ > idx_data =3D idx_hdr + 1; > @@ -846,6 +855,7 @@ virtio_user_handle_ctrl_msg_packed(struct > virtio_user_dev *dev, >=20 > idx_status =3D idx_data; > while (vring->desc[idx_status].flags & VRING_DESC_F_NEXT) { > + dlen[nb_dlen++] =3D vring->desc[idx_status].len; > idx_status++; > if (idx_status >=3D dev->queue_size) > idx_status -=3D dev->queue_size; > @@ -866,6 +876,10 @@ virtio_user_handle_ctrl_msg_packed(struct > virtio_user_dev *dev, > status =3D 0; > } >=20 > + if (!status && dev->scvq) > + status =3D virtio_send_command(&dev->scvq->cq, > + (struct virtio_pmd_ctrl *)hdr, dlen, nb_dlen); > + > /* Update status */ > *(virtio_net_ctrl_ack *)(uintptr_t) > vring->desc[idx_status].addr =3D status; > @@ -877,7 +891,7 @@ virtio_user_handle_ctrl_msg_packed(struct > virtio_user_dev *dev, > return n_descs; > } >=20 > -void > +static void > virtio_user_handle_cq_packed(struct virtio_user_dev *dev, uint16_t > queue_idx) > { > struct virtio_user_queue *vq =3D &dev->packed_queues[queue_idx]; > @@ -909,8 +923,8 @@ virtio_user_handle_cq_packed(struct virtio_user_dev > *dev, uint16_t queue_idx) > } > } >=20 > -void > -virtio_user_handle_cq(struct virtio_user_dev *dev, uint16_t queue_idx) > +static void > +virtio_user_handle_cq_split(struct virtio_user_dev *dev, uint16_t > queue_idx) > { > uint16_t avail_idx, desc_idx; > struct vring_used_elem *uep; > @@ -924,7 +938,7 @@ virtio_user_handle_cq(struct virtio_user_dev *dev, > uint16_t queue_idx) > & (vring->num - 1); > desc_idx =3D vring->avail->ring[avail_idx]; >=20 > - n_descs =3D virtio_user_handle_ctrl_msg(dev, vring, desc_idx); > + n_descs =3D virtio_user_handle_ctrl_msg_split(dev, vring, > desc_idx); >=20 > /* Update used ring */ > uep =3D &vring->used->ring[avail_idx]; > @@ -935,6 +949,15 @@ virtio_user_handle_cq(struct virtio_user_dev *dev, > uint16_t queue_idx) > } > } >=20 > +void > +virtio_user_handle_cq(struct virtio_user_dev *dev, uint16_t queue_idx) > +{ > + if (virtio_with_packed_queue(&dev->hw)) > + virtio_user_handle_cq_packed(dev, queue_idx); > + else > + virtio_user_handle_cq_split(dev, queue_idx); > +} > + > static void > virtio_user_control_queue_notify(struct virtqueue *vq, void *cookie) > { > diff --git a/drivers/net/virtio/virtio_user/virtio_user_dev.h > b/drivers/net/virtio/virtio_user/virtio_user_dev.h > index e0db4faf3f..e8753f6019 100644 > --- a/drivers/net/virtio/virtio_user/virtio_user_dev.h > +++ b/drivers/net/virtio/virtio_user/virtio_user_dev.h > @@ -74,9 +74,6 @@ int virtio_user_dev_init(struct virtio_user_dev *dev, > char *path, uint16_t queue > enum virtio_user_backend_type backend_type); > void virtio_user_dev_uninit(struct virtio_user_dev *dev); > void virtio_user_handle_cq(struct virtio_user_dev *dev, uint16_t > queue_idx); > -void virtio_user_handle_cq_packed(struct virtio_user_dev *dev, > - uint16_t queue_idx); > -uint8_t virtio_user_handle_mq(struct virtio_user_dev *dev, uint16_t > q_pairs); > int virtio_user_dev_create_shadow_cvq(struct virtio_user_dev *dev, struc= t > virtqueue *vq); > void virtio_user_dev_destroy_shadow_cvq(struct virtio_user_dev *dev); > int virtio_user_dev_set_status(struct virtio_user_dev *dev, uint8_t > status); > diff --git a/drivers/net/virtio/virtio_user_ethdev.c > b/drivers/net/virtio/virtio_user_ethdev.c > index 626bd95b62..d23959e836 100644 > --- a/drivers/net/virtio/virtio_user_ethdev.c > +++ b/drivers/net/virtio/virtio_user_ethdev.c > @@ -266,10 +266,8 @@ virtio_user_notify_queue(struct virtio_hw *hw, struc= t > virtqueue *vq) > struct virtio_user_dev *dev =3D virtio_user_get_dev(hw); >=20 > if (hw->cvq && (virtnet_cq_to_vq(hw->cvq) =3D=3D vq)) { > - if (virtio_with_packed_queue(vq->hw)) > - virtio_user_handle_cq_packed(dev, vq->vq_queue_index); > - else > - virtio_user_handle_cq(dev, vq->vq_queue_index); > + virtio_user_handle_cq(dev, vq->vq_queue_index); > + > return; > } >=20 > -- > 2.39.1 Reviewed-by: Chenbo Xia =20