> -----Original Message----- > From: Zhang, Qi Z > Sent: Monday, September 4, 2023 9:15 AM > To: Bruce Richardson <bruce.richard...@intel.com>; dev@dpdk.org > Cc: Richardson, Bruce <bruce.richard...@intel.com>; Wu, Jingjing > <jingjing...@intel.com>; sta...@dpdk.org > Subject: RE: [PATCH v2 3/4] net/iavf: fix restart of Rx queue on reconfigure > > > > > -----Original Message----- > > From: Bruce Richardson <bruce.richard...@intel.com> > > Sent: Thursday, August 31, 2023 8:34 PM > > To: dev@dpdk.org > > Cc: Richardson, Bruce <bruce.richard...@intel.com>; Wu, Jingjing > > <jingjing...@intel.com>; sta...@dpdk.org > > Subject: [PATCH v2 3/4] net/iavf: fix restart of Rx queue on > > reconfigure > > > > After reconfiguring an RX queue the mbuf_initializer value was not > > being correctly set. Fix this by calling the appropriate function if > > vector processing is enabled. This mirrors the behaviour by the i40e driver. > > > > Fixes: 319c421f3890 ("net/avf: enable SSE Rx Tx") > > Cc: jingjing...@intel.com > > Cc: sta...@dpdk.org > > > > Signed-off-by: Bruce Richardson <bruce.richard...@intel.com> > > --- > > drivers/net/iavf/iavf_rxtx.c | 7 +++++++ > > 1 file changed, 7 insertions(+) > > > > diff --git a/drivers/net/iavf/iavf_rxtx.c > > b/drivers/net/iavf/iavf_rxtx.c index > > f7df4665d1..797cdda4b2 100644 > > --- a/drivers/net/iavf/iavf_rxtx.c > > +++ b/drivers/net/iavf/iavf_rxtx.c > > @@ -755,6 +755,13 @@ iavf_dev_rx_queue_setup(struct rte_eth_dev *dev, > > uint16_t queue_idx, > > if (check_rx_vec_allow(rxq) == false) > > ad->rx_vec_allowed = false; > > > > +#if defined RTE_ARCH_X86 || defined RTE_ARCH_ARM > > + /* check vector conflict */ > > + if (ad->rx_vec_allowed && iavf_rxq_vec_setup(rxq)) { > > + PMD_DRV_LOG(ERR, "Failed vector rx setup."); > > + return -EINVAL; > > + } > > +#endif > > Bruce: > > May I know more details about how to reproduce this issue? > As the iavf PMD does not support > RTE_ETH_DEV_CAPA_RUNTIME_RX_QUEUE_SETUP (i40e does)
OK, not sure if the patch 4/4 answered my question 😊 should I squash patch 3, 4 into one? , for my understanding patch 3 doesn't appear to be a bug fix unless we announce RTE_ETH_DEV_CAPA_RUNTIME_RX_QUEUE_SETUP. > Which indicates before we call rte_eth_rx_queue_setup, the device > must be stopped (the flag will be checked in rte_eth_rx_queue_setup) > > So if we do below steps > > rte_eth_dev_stop .. > rte_eth_rx_queue_setup > rte_eth_dev_start > > the iavf_rxq_vec_setup should be invoked in rte_eth_dev_start -> > iavf_set_rx_function > > anything I missed? > > Thanks > Qi > > > return 0; > > } > > > > -- > > 2.39.2