]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
RDMA/mlx5: Add Qcounters req_transport_retries_exceeded/req_rnr_retries_exceeded
authorPatrisious Haddad <phaddad@nvidia.com>
Thu, 13 Jun 2024 18:00:04 +0000 (21:00 +0300)
committerLeon Romanovsky <leon@kernel.org>
Sun, 16 Jun 2024 15:53:23 +0000 (18:53 +0300)
The req_transport_retries_exceeded counter shows the number of times
requester detected transport retries exceed error.

The req_rnr_retries_exceeded counter show the number of times the
requester detected RNR NAKs retries exceed error.

Signed-off-by: Patrisious Haddad <phaddad@nvidia.com>
Link: https://lore.kernel.org/r/250466af94f4989d638fab168e246035530e912f.1718301543.git.leon@kernel.org
Reviewed-by: Simon Horman <horms@kernel.org>
Signed-off-by: Leon Romanovsky <leon@kernel.org>
drivers/infiniband/hw/mlx5/counters.c
include/linux/mlx5/mlx5_ifc.h

index 8300ce6228350dde6d4efc6d79d122d843a8cef4..4f6c1968a2ee3ced3109b6ec0dc083e15aa927a0 100644 (file)
@@ -83,6 +83,8 @@ static const struct mlx5_ib_counter extended_err_cnts[] = {
        INIT_Q_COUNTER(resp_remote_access_errors),
        INIT_Q_COUNTER(resp_cqe_flush_error),
        INIT_Q_COUNTER(req_cqe_flush_error),
+       INIT_Q_COUNTER(req_transport_retries_exceeded),
+       INIT_Q_COUNTER(req_rnr_retries_exceeded),
 };
 
 static const struct mlx5_ib_counter roce_accl_cnts[] = {
@@ -102,6 +104,8 @@ static const struct mlx5_ib_counter vport_extended_err_cnts[] = {
        INIT_VPORT_Q_COUNTER(resp_remote_access_errors),
        INIT_VPORT_Q_COUNTER(resp_cqe_flush_error),
        INIT_VPORT_Q_COUNTER(req_cqe_flush_error),
+       INIT_VPORT_Q_COUNTER(req_transport_retries_exceeded),
+       INIT_VPORT_Q_COUNTER(req_rnr_retries_exceeded),
 };
 
 static const struct mlx5_ib_counter vport_roce_accl_cnts[] = {
index 5df52e15f7d6ce777ab39b8c7bb25cf8257b70f4..09d9d87d62c6cb059146d752c734402fc583ba98 100644 (file)
@@ -5629,7 +5629,11 @@ struct mlx5_ifc_query_q_counter_out_bits {
 
        u8         local_ack_timeout_err[0x20];
 
-       u8         reserved_at_320[0xa0];
+       u8         reserved_at_320[0x60];
+
+       u8         req_rnr_retries_exceeded[0x20];
+
+       u8         reserved_at_3a0[0x20];
 
        u8         resp_local_length_error[0x20];