net/mlx5: fix hex dump of error CQE

Message ID 1551367125-37928-1-git-send-email-dekelp@mellanox.com (mailing list archive)
State Accepted, archived
Delegated to: Shahaf Shuler
Headers
Series net/mlx5: fix hex dump of error CQE |

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/Intel-compilation success Compilation OK
ci/intel-Performance-Testing success Performance Testing PASS
ci/mellanox-Performance-Testing success Performance Testing PASS

Commit Message

Dekel Peled Feb. 28, 2019, 3:18 p.m. UTC
  struct mlx5_cqe is defined in MLX5 PMD code (mlx5_prm.h).
It includes 64 bytes padding in case of (RTE_CACHE_LINE_SIZE == 128).

struct mlx5_err_cqe is defined in kernel, and doesn't include padding.

When running in debug mode, in case an error CQE is detected
it is printed using rte_hexdump().

The size of data to print should be sizeof(*cqe) instead of
sizeof(*err_cqe), to handle the case of (RTE_CACHE_LINE_SIZE == 128),
and print the full data in any case.

Fixes: c7714992092f ("net/mlx5: extend debug logs verbosity")
Cc: stable@dpdk.org

Signed-off-by: Dekel Peled <dekelp@mellanox.com>
---
 drivers/net/mlx5/mlx5_rxtx.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
  

Comments

Shahaf Shuler March 7, 2019, 8:37 a.m. UTC | #1
Thursday, February 28, 2019 5:19 PM, Dekel Peled:
> Subject: [dpdk-dev] [PATCH] net/mlx5: fix hex dump of error CQE
> 
> struct mlx5_cqe is defined in MLX5 PMD code (mlx5_prm.h).
> It includes 64 bytes padding in case of (RTE_CACHE_LINE_SIZE == 128).
> 
> struct mlx5_err_cqe is defined in kernel, and doesn't include padding.
> 
> When running in debug mode, in case an error CQE is detected it is printed
> using rte_hexdump().
> 
> The size of data to print should be sizeof(*cqe) instead of sizeof(*err_cqe),
> to handle the case of (RTE_CACHE_LINE_SIZE == 128), and print the full data
> in any case.
> 
> Fixes: c7714992092f ("net/mlx5: extend debug logs verbosity")
> Cc: stable@dpdk.org
> 
> Signed-off-by: Dekel Peled <dekelp@mellanox.com>

Applied to next-net-mlx, thanks.
  

Patch

diff --git a/drivers/net/mlx5/mlx5_rxtx.h b/drivers/net/mlx5/mlx5_rxtx.h
index 310f42a..53115dd 100644
--- a/drivers/net/mlx5/mlx5_rxtx.h
+++ b/drivers/net/mlx5/mlx5_rxtx.h
@@ -491,7 +491,7 @@  uint32_t mlx5_tx_update_ext_mp(struct mlx5_txq_data *txq, uintptr_t addr,
 				op_code, op_code, syndrome);
 			rte_hexdump(stderr, "MLX5 Error CQE:",
 				    (const void *)((uintptr_t)err_cqe),
-				    sizeof(*err_cqe));
+				    sizeof(*cqe));
 		}
 		return 1;
 	} else if ((op_code != MLX5_CQE_RESP_SEND) &&