[dpdk-dev] [DPDK] net/ice: fix txq mbuf release mode
Alvin Zhang
alvinx.zhang at intel.com
Sun Apr 25 11:26:39 CEST 2021
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: stable at dpdk.org
Signed-off-by: Alvin Zhang <alvinx.zhang at 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
More information about the dev
mailing list