[dpdk-stable] [PATCH] net/iavf: fix queue pairs configuration

Zhang, AlvinX alvinx.zhang at intel.com
Wed Dec 23 07:28:12 CET 2020


Hi Xuting,

Thanks for your reply.
It's very efficient for CVL. But the FVL PF provides default 4 queue pairs to VF,
if every VF request 16 queue pairs, there may be not enough queues pairs for all VFs.

BR,
Alvin

> -----Original Message-----
> From: Xu, Ting <ting.xu at intel.com>
> Sent: Wednesday, December 23, 2020 2:06 PM
> To: Zhang, AlvinX <alvinx.zhang at intel.com>; Xing, Beilei <beilei.xing at intel.com>
> Cc: dev at dpdk.org; Zhang, AlvinX <alvinx.zhang at intel.com>; stable at dpdk.org
> Subject: RE: [PATCH] net/iavf: fix queue pairs configuration
> 
> Hi, Alvin,
> 
> > -----Original Message-----
> > From: Zhang,Alvin <alvinx.zhang at intel.com>
> > Sent: Wednesday, December 23, 2020 1:30 PM
> > To: Xing, Beilei <beilei.xing at intel.com>; Xu, Ting <ting.xu at intel.com>
> > Cc: dev at dpdk.org; Zhang, AlvinX <alvinx.zhang at intel.com>;
> > stable at dpdk.org
> > Subject: [PATCH] net/iavf: fix queue pairs configuration
> >
> > From: Alvin Zhang <alvinx.zhang at intel.com>
> >
> > Check if there are enough queue pairs currently allocated, and if not,
> > request PF to allocate them.
> >
> > Fixes: e436cd43835b ("net/iavf: negotiate large VF and request more
> > queues")
> > Cc: stable at dpdk.org
> >
> > Signed-off-by: Alvin Zhang <alvinx.zhang at intel.com>
> > ---
> >  drivers/net/iavf/iavf_ethdev.c | 4 +++-
> >  1 file changed, 3 insertions(+), 1 deletion(-)
> >
> > diff --git a/drivers/net/iavf/iavf_ethdev.c
> > b/drivers/net/iavf/iavf_ethdev.c index 7e3c26a..f015121 100644
> > --- a/drivers/net/iavf/iavf_ethdev.c
> > +++ b/drivers/net/iavf/iavf_ethdev.c
> > @@ -372,8 +372,10 @@ struct rte_iavf_xstats_name_off {
> >  	} else {
> >  		/* Check if large VF is already enabled. If so, disable and
> >  		 * release redundant queue resource.
> > +		 * Or check if enough queue pairs. If not, request them from
> > PF.
> >  		 */
> > -		if (vf->lv_enabled) {
> > +		if (vf->lv_enabled ||
> > +		    num_queue_pairs > vf->vsi_res->num_queue_pairs) {
> >  			ret = iavf_queues_req_reset(dev, num_queue_pairs);
> >  			if (ret)
> >  				return ret;
> > --
> > 1.8.3.1
> 
> Will it be better to change ret = iavf_queues_req_reset(dev, num_queue_pairs);
> to ret = iavf_queues_req_reset(dev, IAVF_MAX_NUM_QUEUES_DFLT); based on
> the original codes?
> Since PF provides default 16 queue pairs to VF. If large VF is no need to be
> enabled, it may be better to reset the queue pairs number to 16. So that we
> don't need to compare the queue pairs number and request queues each time
> when it is no more than 16. If more, it turns to large VF to handle.
> The original codes here are not good.
> Thanks.


More information about the stable mailing list