> -----Original Message----- > From: dev <dev-boun...@dpdk.org> On Behalf Of Alvin Zhang > Sent: Sunday, April 25, 2021 5:27 PM > To: Zhang, Qi Z <qi.z.zh...@intel.com>; Yang, Qiming <qiming.y...@intel.com> > Cc: dev@dpdk.org; Zhang, AlvinX <alvinx.zh...@intel.com>; sta...@dpdk.org > Subject: [dpdk-dev] [DPDK] net/ice: fix txq mbuf release mode > > In some cases, it seems that the txq mbuf vector release mode is enabled > first, > and then it is confirmed that the conditions for using the vector mode are not > met. > > This patch puts the txq vector mode startup process after the condition > detection. > > Fixes: 28f9002ab67f ("net/ice: add Tx AVX512 offload path") > Cc: sta...@dpdk.org > > Signed-off-by: Alvin Zhang <alvinx.zh...@intel.com> > --- > drivers/net/ice/ice_rxtx.c | 16 +++++++++------- > 1 file changed, 9 insertions(+), 7 deletions(-) > > diff --git a/drivers/net/ice/ice_rxtx.c b/drivers/net/ice/ice_rxtx.c index > 92fbbc1..49abcb2 100644 > --- a/drivers/net/ice/ice_rxtx.c > +++ b/drivers/net/ice/ice_rxtx.c > @@ -3303,13 +3303,6 @@ > if (tx_check_ret >= 0 && > rte_vect_get_max_simd_bitwidth() >= RTE_VECT_SIMD_128) > { > ad->tx_vec_allowed = true; > - for (i = 0; i < dev->data->nb_tx_queues; i++) { > - txq = dev->data->tx_queues[i]; > - if (txq && ice_txq_vec_setup(txq)) { > - ad->tx_vec_allowed = false; > - break; > - } > - } > > if (rte_vect_get_max_simd_bitwidth() >= > RTE_VECT_SIMD_512 && > rte_cpu_get_flag_enabled(RTE_CPUFLAG_AVX512F) == > 1 && @@ -3329,6 +3322,15 @@ > if (!use_avx512 && tx_check_ret == > ICE_VECTOR_OFFLOAD_PATH) > ad->tx_vec_allowed = false; > > + if (ad->tx_vec_allowed) { > + for (i = 0; i < dev->data->nb_tx_queues; i++) { > + txq = dev->data->tx_queues[i]; > + if (txq && ice_txq_vec_setup(txq)) { > + ad->tx_vec_allowed = false; > + break; > + } > + } > + } > } else { > ad->tx_vec_allowed = false; > } > -- > 1.8.3.1
Acked-by: Leyi Rong <leyi.r...@intel.com>