All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Pei, Andy" <andy.pei@intel.com>
To: "Xia, Chenbo" <chenbo.xia@intel.com>, "dev@dpdk.org" <dev@dpdk.org>
Cc: "Xu, Rosen" <rosen.xu@intel.com>,
	"Huang, Wei" <wei.huang@intel.com>,
	"Cao, Gang" <gang.cao@intel.com>,
	"maxime.coquelin@redhat.com" <maxime.coquelin@redhat.com>
Subject: RE: [PATCH v3 3/8] vdpa/ifc: set max queues based on virtio spec
Date: Wed, 12 Oct 2022 07:22:18 +0000	[thread overview]
Message-ID: <DM5PR11MB1739C7E5CE39854B2389C7028F229@DM5PR11MB1739.namprd11.prod.outlook.com> (raw)
In-Reply-To: <DM6PR11MB34991B41A1264C331285342C9C229@DM6PR11MB3499.namprd11.prod.outlook.com>

Hi Chenbo,

Sure. I will address in next version.

> -----Original Message-----
> From: Xia, Chenbo <chenbo.xia@intel.com>
> Sent: Wednesday, October 12, 2022 2:09 PM
> To: Pei, Andy <andy.pei@intel.com>; dev@dpdk.org
> Cc: Xu, Rosen <rosen.xu@intel.com>; Huang, Wei <wei.huang@intel.com>;
> Cao, Gang <gang.cao@intel.com>; maxime.coquelin@redhat.com
> Subject: RE: [PATCH v3 3/8] vdpa/ifc: set max queues based on virtio spec
> 
> > -----Original Message-----
> > From: Pei, Andy <andy.pei@intel.com>
> > Sent: Friday, September 16, 2022 2:16 PM
> > To: dev@dpdk.org
> > Cc: Xia, Chenbo <chenbo.xia@intel.com>; Xu, Rosen
> > <rosen.xu@intel.com>; Huang, Wei <wei.huang@intel.com>; Cao, Gang
> > <gang.cao@intel.com>; maxime.coquelin@redhat.com
> > Subject: [PATCH v3 3/8] vdpa/ifc: set max queues based on virtio spec
> >
> > Set max_queues according to virtio HW spec.
> 
> Virtio spec
> 
> > For virtio BLK device, set max_queues to the value of "num_queues".
> > "num_queues" is element of struct virtio_blk_config.
> 
> Set max_queues to the value of num_queues in struct virtio_blk_config
> 
> > For virtio NET device, read num_queues from truct
> > ifcvf_pci_common_cfg,
> 
> truct -> struct
> 
> > calculate "queue_pairs = (num_queues - 1) / 2" and get queue_pairs.
> > Set max_queues to the value of "queue_pairs".
> 
> And say 'get the queue pair number using num_queues and set max_queues
> to it'.
> 
> >
> > Signed-off-by: Andy Pei <andy.pei@intel.com>
> > Signed-off-by: Huang Wei <wei.huang@intel.com>
> > ---
> >  drivers/vdpa/ifc/base/ifcvf.h |  2 +-  drivers/vdpa/ifc/ifcvf_vdpa.c
> > | 19 ++++++++++++++++++-
> >  2 files changed, 19 insertions(+), 2 deletions(-)
> >
> > diff --git a/drivers/vdpa/ifc/base/ifcvf.h
> > b/drivers/vdpa/ifc/base/ifcvf.h index d16d9ab..1e133c0 100644
> > --- a/drivers/vdpa/ifc/base/ifcvf.h
> > +++ b/drivers/vdpa/ifc/base/ifcvf.h
> > @@ -21,7 +21,7 @@
> >  #define IFCVF_SUBSYS_NET_DEVICE_ID          0x0001
> >  #define IFCVF_SUBSYS_BLK_DEVICE_ID          0x0002
> >
> > -#define IFCVF_MAX_QUEUES		1
> > +#define IFCVF_MAX_QUEUES		32
> >
> >  #ifndef VIRTIO_F_IOMMU_PLATFORM
> >  #define VIRTIO_F_IOMMU_PLATFORM		33
> > diff --git a/drivers/vdpa/ifc/ifcvf_vdpa.c
> > b/drivers/vdpa/ifc/ifcvf_vdpa.c index 3e5ffba..376239a 100644
> > --- a/drivers/vdpa/ifc/ifcvf_vdpa.c
> > +++ b/drivers/vdpa/ifc/ifcvf_vdpa.c
> > @@ -26,6 +26,12 @@
> >
> >  #include "base/ifcvf.h"
> >
> > +/*
> > + * RTE_MIN() cannot be used since braced-group within expression
> > +allowed
> > + * only inside a function.
> > + */
> > +#define MIN(v1, v2)	((v1) < (v2) ? (v1) : (v2))
> > +
> >  RTE_LOG_REGISTER(ifcvf_vdpa_logtype, pmd.vdpa.ifcvf, NOTICE);
> > #define DRV_LOG(level, fmt, args...) \
> >  	rte_log(RTE_LOG_ ## level, ifcvf_vdpa_logtype, \ @@ -1512,6
> +1518,7
> > @@ struct rte_vdpa_dev_info dev_info[] = {
> >  	uint64_t capacity = 0;
> >  	uint8_t *byte;
> >  	uint32_t i;
> > +	uint16_t queue_pairs;
> >
> >  	if (rte_eal_process_type() != RTE_PROC_PRIMARY)
> >  		return 0;
> > @@ -1559,7 +1566,6 @@ struct rte_vdpa_dev_info dev_info[] = {
> >  	}
> >
> >  	internal->configured = 0;
> > -	internal->max_queues = IFCVF_MAX_QUEUES;
> >  	features = ifcvf_get_features(&internal->hw);
> >
> >  	device_id = ifcvf_pci_get_device_type(pci_dev);
> > @@ -1570,6 +1576,14 @@ struct rte_vdpa_dev_info dev_info[] = {
> >
> >  	if (device_id == VIRTIO_ID_NET) {
> >  		internal->hw.device_type = IFCVF_NET;
> > +		/*
> > +		 * ifc driver always has CTRL_VQ,
> 
> I think it's ifc _device_ has CTRL_VQ
> 
> Thanks,
> Chenbo
> 
> > +		 * and supports VIRTIO_NET_F_CTRL_VQ feature.
> > +		 */
> > +		queue_pairs = (internal->hw.common_cfg->num_queues - 1)
> / 2;
> > +		DRV_LOG(INFO, "%s support %u queue pairs", pci_dev-
> >name,
> > +			queue_pairs);
> > +		internal->max_queues = MIN(IFCVF_MAX_QUEUES,
> queue_pairs);
> >  		internal->features = features &
> >  					~(1ULL <<
> VIRTIO_F_IOMMU_PLATFORM);
> >  		internal->features |= dev_info[IFCVF_NET].features; @@ -
> 1609,6
> > +1623,9 @@ struct rte_vdpa_dev_info dev_info[] = {
> >  			internal->hw.blk_cfg->geometry.sectors);
> >  		DRV_LOG(DEBUG, "num_queues: 0x%08x",
> >  			internal->hw.blk_cfg->num_queues);
> > +
> > +		internal->max_queues = MIN(IFCVF_MAX_QUEUES,
> > +			internal->hw.blk_cfg->num_queues);
> >  	}
> >
> >  	list->internal = internal;
> > --
> > 1.8.3.1


  reply	other threads:[~2022-10-12  7:22 UTC|newest]

Thread overview: 181+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-08-23  4:34 [PATCH 0/8] add multi queue support to vDPA ifc driver Andy Pei
2022-08-23  4:34 ` [PATCH 1/8] vdpa/ifc: add new device ID Andy Pei
2022-09-08  5:54   ` [PATCH v2 0/8] vdpa/ifc: add multi queue support Andy Pei
2022-09-08  5:54     ` [PATCH v2 1/8] vdpa/ifc: add new device ID Andy Pei
2022-09-09  0:29       ` Xia, Chenbo
2022-09-09  7:44         ` Pei, Andy
2022-09-08  5:54     ` [PATCH v2 2/8] vdpa/ifc: add multi queue support Andy Pei
2022-09-09  0:29       ` Xia, Chenbo
2022-09-09  7:55         ` Pei, Andy
2022-09-08  5:54     ` [PATCH v2 3/8] vdpa/ifc: set max queues according to HW spec Andy Pei
2022-09-09  5:56       ` Xia, Chenbo
2022-09-14  3:59         ` Pei, Andy
2022-09-08  5:54     ` [PATCH v2 4/8] vdpa/ifc: write queue count to MQ register Andy Pei
2022-09-09  7:35       ` Xia, Chenbo
2022-09-09  8:31         ` Pei, Andy
2022-09-08  5:54     ` [PATCH v2 5/8] vdpa/ifc: only configure enabled queue Andy Pei
2022-09-14  1:59       ` Xia, Chenbo
2022-09-14  2:57         ` Huang, Wei
2022-09-08  5:54     ` [PATCH v2 6/8] vdpa/ifc: support dynamic enable/disable queue Andy Pei
2022-09-14  2:23       ` Xia, Chenbo
2022-09-14  3:04         ` Huang, Wei
2022-09-14  3:14           ` Xia, Chenbo
2022-09-14  5:29           ` Pei, Andy
2022-09-08  5:54     ` [PATCH v2 7/8] vhost: configure device when any queue is ready for BLK device Andy Pei
2022-09-14  2:50       ` Xia, Chenbo
2022-09-14  7:01         ` Pei, Andy
2022-09-08  5:54     ` [PATCH v2 8/8] vhost: vDPA BLK devices configure device when all queue callfds are set Andy Pei
2022-09-16  6:16   ` [PATCH v3 0/8] vdpa/ifc: add multi queue support Andy Pei
2022-09-16  6:16     ` [PATCH v3 1/8] vdpa/ifc: add new device ID for legacy network device Andy Pei
2022-10-11 16:49       ` Maxime Coquelin
2022-10-12  6:33         ` Pei, Andy
2022-10-12  2:59       ` Xia, Chenbo
2022-10-12  6:34         ` Pei, Andy
2022-09-16  6:16     ` [PATCH v3 2/8] vdpa/ifc: add multi-queue support Andy Pei
2022-10-12  3:01       ` Xia, Chenbo
2022-10-12  7:25         ` Pei, Andy
2022-09-16  6:16     ` [PATCH v3 3/8] vdpa/ifc: set max queues based on virtio spec Andy Pei
2022-10-12  6:08       ` Xia, Chenbo
2022-10-12  7:22         ` Pei, Andy [this message]
2022-10-12  7:22         ` Pei, Andy
2022-09-16  6:16     ` [PATCH v3 4/8] vdpa/ifc: write queue count to MQ register Andy Pei
2022-10-12  8:08       ` Xia, Chenbo
2022-10-12  8:14         ` Pei, Andy
2022-09-16  6:16     ` [PATCH v3 5/8] vdpa/ifc: only configure enabled queue Andy Pei
2022-10-12  8:12       ` Xia, Chenbo
2022-10-12  8:37         ` Pei, Andy
2022-09-16  6:16     ` [PATCH v3 6/8] vdpa/ifc: support dynamic enable/disable queue Andy Pei
2022-10-12  8:19       ` Xia, Chenbo
2022-10-12 11:00         ` Pei, Andy
2022-09-16  6:16     ` [PATCH v3 7/8] vhost: vDPA blk device gets ready when any queue is ready Andy Pei
2022-10-12  9:09       ` Xia, Chenbo
2022-10-12 12:13         ` Pei, Andy
2022-10-13  1:00           ` Xia, Chenbo
2022-10-13  3:05             ` Pei, Andy
2022-10-13  7:16             ` Maxime Coquelin
2022-10-13  9:00               ` Pei, Andy
2022-09-16  6:16     ` [PATCH v3 8/8] vhost: improve vDPA blk device readiness condition Andy Pei
2022-10-12  9:35       ` Xia, Chenbo
2022-10-13  7:55         ` Pei, Andy
2022-10-13  8:23           ` Pei, Andy
2022-10-13  8:44   ` [PATCH v4 0/8] vdpa/ifc: add multi queue support Andy Pei
2022-10-13  8:44     ` [PATCH v4 1/8] vdpa/ifc: add new device ID for legacy network device Andy Pei
2022-10-13  8:44     ` [PATCH v4 2/8] vdpa/ifc: add multi-queue support Andy Pei
2022-10-17  6:21       ` Xia, Chenbo
2022-10-17  6:28         ` Pei, Andy
2022-10-13  8:44     ` [PATCH v4 3/8] vdpa/ifc: set max queues based on virtio spec Andy Pei
2022-10-17  6:22       ` Xia, Chenbo
2022-10-17  6:29         ` Pei, Andy
2022-10-13  8:44     ` [PATCH v4 4/8] vdpa/ifc: write queue count to MQ register Andy Pei
2022-10-17  6:23       ` Xia, Chenbo
2022-10-17  6:36         ` Pei, Andy
2022-10-13  8:44     ` [PATCH v4 5/8] vdpa/ifc: only configure enabled queue Andy Pei
2022-10-17  6:24       ` Xia, Chenbo
2022-10-17  6:38         ` Pei, Andy
2022-10-13  8:44     ` [PATCH v4 6/8] vdpa/ifc: support dynamic enable/disable queue Andy Pei
2022-10-17  6:26       ` Xia, Chenbo
2022-10-17  6:41         ` Pei, Andy
2022-10-13  8:44     ` [PATCH v4 7/8] vhost: vDPA blk device gets ready when any queue is ready Andy Pei
2022-10-17  6:34       ` Xia, Chenbo
2022-10-17  6:43         ` Pei, Andy
2022-10-13  8:44     ` [PATCH v4 8/8] vhost: improve vDPA blk device configure condition Andy Pei
2022-10-17  6:35       ` Xia, Chenbo
2022-10-17  7:12         ` Pei, Andy
2022-10-17  7:13   ` [PATCH v5 0/8] vdpa/ifc: add multi queue support Andy Pei
2022-10-17  7:13     ` [PATCH v5 1/8] vdpa/ifc: add new device ID for legacy network device Andy Pei
2022-10-17  7:13     ` [PATCH v5 2/8] vdpa/ifc: add multi-queue support Andy Pei
2022-10-17  7:13     ` [PATCH v5 3/8] vdpa/ifc: set max queues based on virtio spec Andy Pei
2022-10-17  7:13     ` [PATCH v5 4/8] vdpa/ifc: write queue count to MQ register Andy Pei
2022-10-17  7:13     ` [PATCH v5 5/8] vdpa/ifc: only configure enabled queue Andy Pei
2022-10-17  7:13     ` [PATCH v5 6/8] vdpa/ifc: support dynamic enable/disable queue Andy Pei
2022-10-17  7:13     ` [PATCH v5 7/8] vhost: vDPA blk device gets ready when the first queue is ready Andy Pei
2022-10-17  7:54       ` Xia, Chenbo
2022-10-17  8:36         ` Maxime Coquelin
2022-10-17  8:42           ` Xia, Chenbo
2022-10-17  8:46             ` Maxime Coquelin
2022-10-17  7:13     ` [PATCH v5 8/8] vhost: improve vDPA blk device configure condition Andy Pei
2022-10-17 11:41   ` [PATCH v6 0/8] vdpa/ifc: add multi queue support Andy Pei
2022-10-17 11:41     ` [PATCH v6 1/8] vdpa/ifc: add new device ID for legacy network device Andy Pei
2022-10-17 11:41     ` [PATCH v6 2/8] vdpa/ifc: add multi-queue support Andy Pei
2022-10-17 11:41     ` [PATCH v6 3/8] vdpa/ifc: set max queues based on virtio spec Andy Pei
2022-10-17 11:41     ` [PATCH v6 4/8] vdpa/ifc: write queue count to MQ register Andy Pei
2022-10-17 11:41     ` [PATCH v6 5/8] vdpa/ifc: only configure enabled queue Andy Pei
2022-10-17 11:41     ` [PATCH v6 6/8] vdpa/ifc: support dynamic enable/disable queue Andy Pei
2022-10-17 11:41     ` [PATCH v6 7/8] vhost: vDPA blk device gets ready when the first queue is ready Andy Pei
2022-10-17 11:41     ` [PATCH v6 8/8] vhost: improve vDPA blk device configure condition Andy Pei
2022-10-18  6:19   ` [PATCH v7 00/12] vdpa/ifc: add multi queue support Andy Pei
2022-10-18  6:19     ` [PATCH v7 01/12] vdpa/ifc: add new device ID for legacy network device Andy Pei
2022-10-18  6:19     ` [PATCH v7 02/12] vdpa/ifc: add multi-queue support Andy Pei
2022-10-18  6:19     ` [PATCH v7 03/12] vdpa/ifc: set max queues based on virtio spec Andy Pei
2022-10-18  6:19     ` [PATCH v7 04/12] vdpa/ifc: write queue count to MQ register Andy Pei
2022-10-18  6:19     ` [PATCH v7 05/12] vdpa/ifc: only configure enabled queue Andy Pei
2022-10-18  6:19     ` [PATCH v7 06/12] vdpa/ifc: support dynamic enable/disable queue Andy Pei
2022-10-18  6:19     ` [PATCH v7 07/12] vdpa/ifc: change internal function name Andy Pei
2022-10-18  6:19     ` [PATCH v7 08/12] vdpa/ifc: add internal API to get device Andy Pei
2022-10-18  6:19     ` [PATCH v7 09/12] vdpa/ifc: change some driver logic Andy Pei
2022-10-18  6:19     ` [PATCH v7 10/12] vhost: add vdpa device type to rte vdpa device Andy Pei
2022-10-18  7:14       ` Maxime Coquelin
2022-10-18 12:14         ` Pei, Andy
2022-10-19  9:14       ` Xia, Chenbo
2022-10-19  9:19         ` Pei, Andy
2022-10-18  6:19     ` [PATCH v7 11/12] vhost: vDPA blk device gets ready when the first queue is ready Andy Pei
2022-10-18  6:19     ` [PATCH v7 12/12] vhost: improve vDPA blk device configure condition Andy Pei
2022-10-18 12:07   ` [PATCH v8 00/12] vdpa/ifc: add multi queue support Andy Pei
2022-10-18 12:07     ` [PATCH v8 01/12] vdpa/ifc: add new device ID for legacy network device Andy Pei
2022-10-18 12:07     ` [PATCH v8 02/12] vdpa/ifc: add multi-queue support Andy Pei
2022-10-18 12:07     ` [PATCH v8 03/12] vdpa/ifc: set max queues based on virtio spec Andy Pei
2022-10-18 12:07     ` [PATCH v8 04/12] vdpa/ifc: write queue count to MQ register Andy Pei
2022-10-18 12:07     ` [PATCH v8 05/12] vdpa/ifc: only configure enabled queue Andy Pei
2022-10-18 12:07     ` [PATCH v8 06/12] vdpa/ifc: support dynamic enable/disable queue Andy Pei
2022-10-18 12:07     ` [PATCH v8 07/12] vdpa/ifc: change internal function name Andy Pei
2022-10-18 13:44       ` Maxime Coquelin
2022-10-18 13:47         ` Pei, Andy
2022-10-19  6:59       ` Xia, Chenbo
2022-10-19  9:41         ` Pei, Andy
2022-10-18 12:07     ` [PATCH v8 08/12] vdpa/ifc: add internal API to get device Andy Pei
2022-10-18 13:48       ` Maxime Coquelin
2022-10-18 13:52         ` Pei, Andy
2022-10-19  7:03       ` Xia, Chenbo
2022-10-19  9:40         ` Pei, Andy
2022-10-18 12:07     ` [PATCH v8 09/12] vdpa/ifc: change some driver logic Andy Pei
2022-10-18 13:57       ` Maxime Coquelin
2022-10-18 14:01         ` Pei, Andy
2022-10-19  9:13       ` Xia, Chenbo
2022-10-19  9:21         ` Pei, Andy
2022-10-18 12:07     ` [PATCH v8 10/12] vhost: add type to rte vdpa device Andy Pei
2022-10-18 13:15       ` Maxime Coquelin
2022-10-18 13:42         ` Pei, Andy
2022-10-18 12:07     ` [PATCH v8 11/12] vhost: vDPA blk device gets ready when the first queue is ready Andy Pei
2022-10-18 14:09       ` Maxime Coquelin
2022-10-18 14:11         ` Pei, Andy
2022-10-19  9:14       ` Xia, Chenbo
2022-10-19  9:18         ` Pei, Andy
2022-10-18 12:07     ` [PATCH v8 12/12] vhost: improve vDPA blk device configure condition Andy Pei
2022-10-18 14:14       ` Maxime Coquelin
2022-10-18 14:16         ` Pei, Andy
2022-10-19  9:15       ` Xia, Chenbo
2022-10-19  9:19         ` Pei, Andy
2022-10-19  8:41   ` [PATCH v9 00/12] vdpa/ifc: add multi queue support Andy Pei
2022-10-19  8:41     ` [PATCH v9 01/12] vdpa/ifc: add new device ID for legacy network device Andy Pei
2022-10-19  8:41     ` [PATCH v9 02/12] vdpa/ifc: add multi-queue support Andy Pei
2022-10-19  8:41     ` [PATCH v9 03/12] vdpa/ifc: set max queues based on virtio spec Andy Pei
2022-10-19  8:41     ` [PATCH v9 04/12] vdpa/ifc: write queue count to MQ register Andy Pei
2022-10-19  8:41     ` [PATCH v9 05/12] vdpa/ifc: only configure enabled queue Andy Pei
2022-10-19  8:41     ` [PATCH v9 06/12] vdpa/ifc: support dynamic enable/disable queue Andy Pei
2022-10-19  8:41     ` [PATCH v9 07/12] vdpa/ifc: change internal function name Andy Pei
2022-10-19  8:41     ` [PATCH v9 08/12] vdpa/ifc: add internal API to get device Andy Pei
2022-10-19  8:41     ` [PATCH v9 09/12] vdpa/ifc: improve internal list logic Andy Pei
2022-10-20  3:21       ` Xia, Chenbo
2022-10-20  5:53         ` Pei, Andy
2022-10-19  8:41     ` [PATCH v9 10/12] vhost: add type to rte vdpa device Andy Pei
2022-10-19  8:41     ` [PATCH v9 11/12] vhost: vDPA blk device gets ready when the first queue is ready Andy Pei
2022-10-19  8:41     ` [PATCH v9 12/12] vhost: improve vDPA blk device configure condition Andy Pei
2022-10-26  9:00     ` [PATCH v9 00/12] vdpa/ifc: add multi queue support Xia, Chenbo
2022-10-26  9:26       ` Pei, Andy
2022-08-23  4:34 ` [PATCH 2/8] vdpa/ifc: add multi queue suppoort Andy Pei
2022-08-23  4:35 ` [PATCH 3/8] vdpa/ifc: set max queues according to HW spec Andy Pei
2022-08-23  4:35 ` [PATCH 4/8] vdpa/ifc: write queue count to MQ register Andy Pei
2022-08-23  4:35 ` [PATCH 5/8] vdpa/ifc: only configure enabled queue Andy Pei
2022-08-23  4:35 ` [PATCH 6/8] vdpa/ifc: set vring state callback update data path Andy Pei
2022-08-23  4:35 ` [PATCH 7/8] vhost: configure device when any queue is ready for BLK device Andy Pei
2022-08-23  4:35 ` [PATCH 8/8] vhost: vDPA BLK devices configure device when all queue callfds are set Andy Pei

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=DM5PR11MB1739C7E5CE39854B2389C7028F229@DM5PR11MB1739.namprd11.prod.outlook.com \
    --to=andy.pei@intel.com \
    --cc=chenbo.xia@intel.com \
    --cc=dev@dpdk.org \
    --cc=gang.cao@intel.com \
    --cc=maxime.coquelin@redhat.com \
    --cc=rosen.xu@intel.com \
    --cc=wei.huang@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.