net/mlx5: Enhance diagnostics info for TX/RX reporters
authorAya Levin <ayal@nvidia.com>
Mon, 8 Mar 2021 10:26:35 +0000 (12:26 +0200)
committerSaeed Mahameed <saeedm@nvidia.com>
Fri, 16 Apr 2021 18:48:34 +0000 (11:48 -0700)
Add ts_format to 'Common Config' section of the TX/RX devlink reporters
diagnostics info. Possible values for ts_format: 'RT' or 'FRC'
which stands for: Real Time and Free Running Counters correspondingly.

Signed-off-by: Aya Levin <ayal@nvidia.com>
Signed-off-by: Saeed Mahameed <saeedm@nvidia.com>
drivers/net/ethernet/mellanox/mlx5/core/en/reporter_rx.c
drivers/net/ethernet/mellanox/mlx5/core/en/reporter_tx.c

index f9fdf36..0eb1253 100644 (file)
@@ -323,10 +323,12 @@ static int mlx5e_rx_reporter_diagnose_generic_rq(struct mlx5e_rq *rq,
        struct mlx5e_priv *priv = rq->priv;
        struct mlx5e_params *params;
        u32 rq_stride, rq_sz;
+       bool real_time;
        int err;
 
        params = &priv->channels.params;
        rq_sz = mlx5e_rqwq_get_size(rq);
+       real_time =  mlx5_is_real_time_rq(priv->mdev);
        rq_stride = BIT(mlx5e_mpwqe_get_log_stride_size(priv->mdev, params, NULL));
 
        err = mlx5e_health_fmsg_named_obj_nest_start(fmsg, "RQ");
@@ -345,6 +347,10 @@ static int mlx5e_rx_reporter_diagnose_generic_rq(struct mlx5e_rq *rq,
        if (err)
                return err;
 
+       err = devlink_fmsg_string_pair_put(fmsg, "ts_format", real_time ? "RT" : "FRC");
+       if (err)
+               return err;
+
        err = mlx5e_health_cq_common_diag_fmsg(&rq->cq, fmsg);
        if (err)
                return err;
index 1a0505b..9d361ef 100644 (file)
@@ -257,12 +257,14 @@ mlx5e_tx_reporter_diagnose_generic_txqsq(struct devlink_fmsg *fmsg,
                                         struct mlx5e_txqsq *txqsq)
 {
        u32 sq_stride, sq_sz;
+       bool real_time;
        int err;
 
        err = mlx5e_health_fmsg_named_obj_nest_start(fmsg, "SQ");
        if (err)
                return err;
 
+       real_time =  mlx5_is_real_time_sq(txqsq->mdev);
        sq_sz = mlx5_wq_cyc_get_size(&txqsq->wq);
        sq_stride = MLX5_SEND_WQE_BB;
 
@@ -274,6 +276,10 @@ mlx5e_tx_reporter_diagnose_generic_txqsq(struct devlink_fmsg *fmsg,
        if (err)
                return err;
 
+       err = devlink_fmsg_string_pair_put(fmsg, "ts_format", real_time ? "RT" : "FRC");
+       if (err)
+               return err;
+
        err = mlx5e_health_cq_common_diag_fmsg(&txqsq->cq, fmsg);
        if (err)
                return err;