[dpdk-dev] [PATCH v6] net/i40e: determine number of queues per VF during run time
Dai, Wei
wei.dai at intel.com
Fri Dec 8 03:07:08 CET 2017
> -----Original Message-----
> From: Ananyev, Konstantin
> Sent: Sunday, December 3, 2017 7:20 PM
> To: Dai, Wei <wei.dai at intel.com>; Wu, Jingjing <jingjing.wu at intel.com>;
> Xing, Beilei <beilei.xing at intel.com>
> Cc: dev at dpdk.org
> Subject: RE: [PATCH v6] net/i40e: determine number of queues per VF during
> run time
>
> Hi Wei,
>
> > -----Original Message-----
> > From: Dai, Wei
> > Sent: Monday, November 27, 2017 8:09 AM
> > To: Wu, Jingjing <jingjing.wu at intel.com>; Xing, Beilei
> > <beilei.xing at intel.com>; Ananyev, Konstantin
> > <konstantin.ananyev at intel.com>
> > Cc: dev at dpdk.org; Dai, Wei <wei.dai at intel.com>
> > Subject: [PATCH v6] net/i40e: determine number of queues per VF during
> > run time
> >
> > Without this patch, the number of queues per i40e VF is defined as 4
> > by CONFIG_RTE_LIBRTE_I40E_QUEUE_NUM_PER_VF=4 in
> config/common_base.
> > It is fixed value determined in building time and can't be changed
> > during run time.
> > With this patch, the number of queues per i40e VF can be determinated
> > during run time. For example, if the PCI address of an i40e VF is
Here it should be 'if the PCI address of an i40e PF is'
I will correct it in my v7 patch.
> > aaaa:bb.cc, with the EAL parameter -w aaaa:bb.cc,queue-num-per-vf=8,
> > the number of queues per VF is 8.
> > If there is no "queue-num-per-vf" setting in EAL parameters, it is 4
> > by default as before. And if the value after the "queue-num-per-vf"
> > is invalid, it is set as 4 forcibly. The valid values include 1, 2, 4,
> > 8, 16 .
> >
> > Signed-off-by: Wei Dai <wei.dai at intel.com>
> >
> > ---
> > v6:
> > fix a small bug when detecting end character of strtoul
> > v5:
> > fix git log message and WARNING of coding stype
> > v4:
> > use rte_kvargs instead of pervious parsing function;
> > use malloc/free instead of rte_zmalloc/rte_free.
> > v3:
> > fix WARNING of coding style issues from checkpatch at dpdk.org
> > v2:
> > fix WARNING of coding style issues from checkpatch at dpdk.org
> > ---
> > config/common_base | 1 -
> > drivers/net/i40e/i40e_ethdev.c | 67
> > ++++++++++++++++++++++++++++++++++++++++--
> > 2 files changed, 65 insertions(+), 3 deletions(-)
> >
> > + if (errno != 0 || end == value || *end != 0) {
> > + PMD_DRV_LOG(WARNING, "Wrong VF queue number = %s, Now it
> is "
> > + "kept the value = %hu", value, pf->vf_nb_qp_max);
> > + return -(EINVAL);
> > + }
> > +
> > + if (num <= 16 && rte_is_power_of_2(num))
>
> As a nit - better to use some macro instead of '16' here.
> Apart from that - looks good to me.
> Acked-by: Konstantin Ananyev <konstantin.ananyev at intel.com>
Thanks for your Ack, Konstantin.
I will use the macro I40E_MAX_QP_NUM_PER_VF instead of 16 in my v7 patch.
This macro is already defined as 16 in i40e_ethdev.h
>
> > + pf->vf_nb_qp_max = (uint16_t)num;
> > + else
> > + /* here return 0 to make next valid same argument work */
> > + PMD_DRV_LOG(WARNING, "Wrong VF queue number = %lu, it
> must be "
> > + "power of 2 and equal or less than 16 !, Now it is "
> > + "kept the value = %hu", num, pf->vf_nb_qp_max);
> > +
> > + return 0;
> > +}
More information about the dev
mailing list