[dpdk-dev] [dpdk-stable] [DPDK] net/ice: fix txq mbuf release mode
Ferruh Yigit
ferruh.yigit at intel.com
Wed Apr 28 12:03:22 CEST 2021
On 4/25/2021 10:26 AM, Alvin Zhang wrote:
> 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.
>
Hi Alvin,
As far as I understand the impact is failure in the Tx vector patch selection,
can you please update the patch title to reflect it?
Also can you please describe a little more what is "txq mbuf vector release
mode" and what is the root cause for it to be enabled first?
> This patch puts the txq vector mode startup process after the
> condition detection.
What is "txq vector mode startup process"?
>
> 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;
> }
>
More information about the dev
mailing list