Hi Mesut: > -----Original Message----- > From: Ergin, Mesut A > Sent: Thursday, May 16, 2019 12:28 PM > To: Xing, Beilei <beilei.x...@intel.com>; Zhang, Qi Z <qi.z.zh...@intel.com> > Cc: dev@dpdk.org; Ergin, Mesut A <mesut.a.er...@intel.com> > Subject: [PATCH 3/3] net/i40e: fix inadvertent override of vector RX allowance > > When i40e_rx_vec_dev_conf_condition_check_default() determines whether > vector receive functions would be allowed during initialization phase, it > should > honor previously recorded disallowance during configuration phase, and not > override simply because it is for the first queue. > > Signed-off-by: Mesut Ali Ergin <mesut.a.er...@intel.com> > --- > drivers/net/i40e/i40e_rxtx_vec_common.h | 4 ++++ > 1 file changed, 4 insertions(+) > > diff --git a/drivers/net/i40e/i40e_rxtx_vec_common.h > b/drivers/net/i40e/i40e_rxtx_vec_common.h > index 0e6ffa0..f30cab4 100644 > --- a/drivers/net/i40e/i40e_rxtx_vec_common.h > +++ b/drivers/net/i40e/i40e_rxtx_vec_common.h > @@ -212,6 +212,10 @@ > i40e_rx_vec_dev_conf_condition_check_default(struct rte_eth_dev *dev) > if (rxmode->offloads & DEV_RX_OFFLOAD_VLAN_EXTEND) > return -1; > > + /* Should not override if vector was already disallowed */
It is possible a device be reconfigured between dev_stop/dev_start, vector mode may fit for the new configure, so the old rx_vec_allowd should be ignored, Regards Qi > + if (!ad->rx_vec_allowed) > + return -1; > + > /** > * Vector mode is allowed only when number of Rx queue > * descriptor is power of 2. > -- > 2.7.4