Tested-by: Xie,WeiX < weix....@intel.com> Regards, Xie Wei
> -----Original Message----- > From: dev [mailto:dev-boun...@dpdk.org] On Behalf Of Jingjing Wu > Sent: Thursday, January 7, 2021 4:27 PM > To: dev@dpdk.org > Cc: Wu, Jingjing <jingjing...@intel.com>; Xing, Beilei > <beilei.x...@intel.com>; Xia, Chenbo <chenbo....@intel.com>; Lu, Xiuchun > <xiuchun...@intel.com> > Subject: [dpdk-dev] [PATCH v3 5/5] net/iavf: fix vector mapping with queue > > Fix the vector mapping with queue by changing the recircle when exceeds > RX_VEC_START + nb_msix; > > Fixes: d6bde6b5eae9 ("net/avf: enable Rx interrupt") > > Signed-off-by: Jingjing Wu <jingjing...@intel.com> > --- > drivers/net/iavf/iavf_ethdev.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/drivers/net/iavf/iavf_ethdev.c b/drivers/net/iavf/iavf_ethdev.c > index 06395f852b..b169b19975 100644 > --- a/drivers/net/iavf/iavf_ethdev.c > +++ b/drivers/net/iavf/iavf_ethdev.c > @@ -570,7 +570,7 @@ static int iavf_config_rx_queues_irqs(struct > rte_eth_dev *dev, > /* If Rx interrupt is reuquired, and we can use > * multi interrupts, then the vec is from 1 > */ > - vf->nb_msix = RTE_MIN(vf->vf_res->max_vectors, > + vf->nb_msix = RTE_MIN(vf->vf_res->max_vectors - > 1, > intr_handle->nb_efd); > vf->msix_base = IAVF_RX_VEC_START; > vec = IAVF_RX_VEC_START; > @@ -578,7 +578,7 @@ static int iavf_config_rx_queues_irqs(struct > rte_eth_dev *dev, > qv_map[i].queue_id = i; > qv_map[i].vector_id = vec; > intr_handle->intr_vec[i] = vec++; > - if (vec >= vf->nb_msix) > + if (vec >= vf->nb_msix + > IAVF_RX_VEC_START) > vec = IAVF_RX_VEC_START; > } > vf->qv_map = qv_map; > -- > 2.21.1