net/mlx5: fix CQE decompression for ARM and PowerPC
diff mbox series

Message ID 20201029175822.1615-1-akozyrev@nvidia.com
State Accepted
Delegated to: Raslan Darawsheh
Headers show
Series
  • net/mlx5: fix CQE decompression for ARM and PowerPC
Related show

Checks

Context Check Description
ci/iol-testing success Testing PASS
ci/iol-mellanox-Performance success Performance Testing PASS
ci/iol-intel-Performance success Performance Testing PASS
ci/travis-robot success Travis build: passed
ci/iol-intel-Functional success Functional Testing PASS
ci/iol-broadcom-Functional success Functional Testing PASS
ci/iol-broadcom-Performance success Performance Testing PASS
ci/Intel-compilation success Compilation OK
ci/checkpatch success coding style OK

Commit Message

Alexander Kozyrev Oct. 29, 2020, 5:58 p.m. UTC
The recent Rx code refactoring moved the incrementing
of the CQ completion index out of the rxq_cq_decompress_v()
function to the rxq_burst_v() function.

The advancing of CQ completion index was removed in SSE
version only causing Neon and Altivec Rx bursts to stall.

Remove the incrementation of CQ completion index for all
the architectures in order to fix the stall.

Fixes: bf7d5157ed ("net/mlx5: refactor vectorized Rx")

Signed-off-by: Alexander Kozyrev <akozyrev@nvidia.com>
---
 drivers/net/mlx5/mlx5_rxtx_vec_altivec.h | 1 -
 drivers/net/mlx5/mlx5_rxtx_vec_neon.h    | 1 -
 2 files changed, 2 deletions(-)

Comments

Viacheslav Ovsiienko Nov. 1, 2020, 4:39 p.m. UTC | #1
> -----Original Message-----
> From: Alexander Kozyrev <akozyrev@nvidia.com>
> Sent: Thursday, October 29, 2020 19:58
> To: dev@dpdk.org
> Cc: Raslan Darawsheh <rasland@nvidia.com>; Slava Ovsiienko
> <viacheslavo@nvidia.com>; Matan Azrad <matan@nvidia.com>
> Subject: [PATCH] net/mlx5: fix CQE decompression for ARM and PowerPC
> 
> The recent Rx code refactoring moved the incrementing of the CQ completion
> index out of the rxq_cq_decompress_v() function to the rxq_burst_v()
> function.
> 
> The advancing of CQ completion index was removed in SSE version only
> causing Neon and Altivec Rx bursts to stall.
> 
> Remove the incrementation of CQ completion index for all the architectures in
> order to fix the stall.
> 
> Fixes: bf7d5157ed ("net/mlx5: refactor vectorized Rx")
> 
> Signed-off-by: Alexander Kozyrev <akozyrev@nvidia.com>
Acked-by: Viacheslav Ovsiienko <viacheslavo@nvidia.com>
Raslan Darawsheh Nov. 2, 2020, 2:57 p.m. UTC | #2
Hi,

> -----Original Message-----
> From: Alexander Kozyrev <akozyrev@nvidia.com>
> Sent: Thursday, October 29, 2020 7:58 PM
> To: dev@dpdk.org
> Cc: Raslan Darawsheh <rasland@nvidia.com>; Slava Ovsiienko
> <viacheslavo@nvidia.com>; Matan Azrad <matan@nvidia.com>
> Subject: [PATCH] net/mlx5: fix CQE decompression for ARM and PowerPC
Fixed styling issue ARM->Arm 
> 
> The recent Rx code refactoring moved the incrementing
> of the CQ completion index out of the rxq_cq_decompress_v()
> function to the rxq_burst_v() function.
> 
> The advancing of CQ completion index was removed in SSE
> version only causing Neon and Altivec Rx bursts to stall.
> 
> Remove the incrementation of CQ completion index for all
> the architectures in order to fix the stall.
> 
> Fixes: bf7d5157ed ("net/mlx5: refactor vectorized Rx")
Fixed commit id
> 
> Signed-off-by: Alexander Kozyrev <akozyrev@nvidia.com>
> ---
Patch applied to next-net-mlx,

Kindest regards,
Raslan Darawsheh

Patch
diff mbox series

diff --git a/drivers/net/mlx5/mlx5_rxtx_vec_altivec.h b/drivers/net/mlx5/mlx5_rxtx_vec_altivec.h
index cf3a795843..4af4ccafca 100644
--- a/drivers/net/mlx5/mlx5_rxtx_vec_altivec.h
+++ b/drivers/net/mlx5/mlx5_rxtx_vec_altivec.h
@@ -301,7 +301,6 @@  rxq_cq_decompress_v(struct mlx5_rxq_data *rxq, volatile struct mlx5_cqe *cq,
 	rxq->stats.ibytes += rcvd_byte;
 #endif
 
-	rxq->cq_ci += mcqe_n;
 	return mcqe_n;
 }
 
diff --git a/drivers/net/mlx5/mlx5_rxtx_vec_neon.h b/drivers/net/mlx5/mlx5_rxtx_vec_neon.h
index 47b6692942..f194cc99b7 100644
--- a/drivers/net/mlx5/mlx5_rxtx_vec_neon.h
+++ b/drivers/net/mlx5/mlx5_rxtx_vec_neon.h
@@ -240,7 +240,6 @@  rxq_cq_decompress_v(struct mlx5_rxq_data *rxq, volatile struct mlx5_cqe *cq,
 	rxq->stats.ipackets += mcqe_n;
 	rxq->stats.ibytes += rcvd_byte;
 #endif
-	rxq->cq_ci += mcqe_n;
 	return mcqe_n;
 }