[dpdk-dev] [DPDK] net/ice: fix txq mbuf release mode

Rong, Leyi leyi.rong at intel.com
Tue Apr 27 04:31:50 CEST 2021


> -----Original Message-----
> From: dev <dev-bounces at dpdk.org> On Behalf Of Alvin Zhang
> Sent: Sunday, April 25, 2021 5:27 PM
> To: Zhang, Qi Z <qi.z.zhang at intel.com>; Yang, Qiming <qiming.yang at intel.com>
> Cc: dev at dpdk.org; Zhang, AlvinX <alvinx.zhang at intel.com>; stable at 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: 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

Acked-by: Leyi Rong <leyi.rong at intel.com>


More information about the dev mailing list