Commit adda5401 authored by Rahul Rameshbabu's avatar Rahul Rameshbabu Committed by Jakub Kicinski

net/mlx5e: Introduce lost_cqe statistic counter for PTP Tx port timestamping CQ

Track the number of times a CQE was expected to not be delivered on PTP Tx
port timestamping CQ. A CQE is expected to not be delivered if a certain
amount of time passes since the corresponding CQE containing the DMA
timestamp information has arrived. Increment the late_cqe counter when such
a CQE does manage to be delivered to the CQ.
Signed-off-by: default avatarRahul Rameshbabu <rrameshbabu@nvidia.com>
Reviewed-by: default avatarTariq Toukan <tariqt@nvidia.com>
Reviewed-by: default avatarDragos Tatulea <dtatulea@nvidia.com>
Signed-off-by: default avatarSaeed Mahameed <saeedm@nvidia.com>
Link: https://lore.kernel.org/r/20240403212931.128541-3-rrameshbabu@nvidia.comSigned-off-by: default avatarJakub Kicinski <kuba@kernel.org>
parent 0e9c1277
...@@ -702,6 +702,12 @@ the software port. ...@@ -702,6 +702,12 @@ the software port.
the device typically ensures not posting the CQE. the device typically ensures not posting the CQE.
- Error - Error
* - `ptp_cq[i]_lost_cqe`
- Number of times a CQE is expected to not be delivered on the PTP
timestamping CQE by the device due to a time delta elapsing. If such a
CQE is somehow delivered, `ptp_cq[i]_late_cqe` is incremented.
- Error
.. [#ring_global] The corresponding ring and global counters do not share the .. [#ring_global] The corresponding ring and global counters do not share the
same name (i.e. do not follow the common naming scheme). same name (i.e. do not follow the common naming scheme).
......
...@@ -169,6 +169,7 @@ static void mlx5e_ptpsq_mark_ts_cqes_undelivered(struct mlx5e_ptpsq *ptpsq, ...@@ -169,6 +169,7 @@ static void mlx5e_ptpsq_mark_ts_cqes_undelivered(struct mlx5e_ptpsq *ptpsq,
WARN_ON_ONCE(!pos->inuse); WARN_ON_ONCE(!pos->inuse);
pos->inuse = false; pos->inuse = false;
list_del(&pos->entry); list_del(&pos->entry);
ptpsq->cq_stats->lost_cqe++;
} }
spin_unlock_bh(&cqe_list->tracker_list_lock); spin_unlock_bh(&cqe_list->tracker_list_lock);
} }
......
...@@ -2178,6 +2178,7 @@ static const struct counter_desc ptp_cq_stats_desc[] = { ...@@ -2178,6 +2178,7 @@ static const struct counter_desc ptp_cq_stats_desc[] = {
{ MLX5E_DECLARE_PTP_CQ_STAT(struct mlx5e_ptp_cq_stats, abort) }, { MLX5E_DECLARE_PTP_CQ_STAT(struct mlx5e_ptp_cq_stats, abort) },
{ MLX5E_DECLARE_PTP_CQ_STAT(struct mlx5e_ptp_cq_stats, abort_abs_diff_ns) }, { MLX5E_DECLARE_PTP_CQ_STAT(struct mlx5e_ptp_cq_stats, abort_abs_diff_ns) },
{ MLX5E_DECLARE_PTP_CQ_STAT(struct mlx5e_ptp_cq_stats, late_cqe) }, { MLX5E_DECLARE_PTP_CQ_STAT(struct mlx5e_ptp_cq_stats, late_cqe) },
{ MLX5E_DECLARE_PTP_CQ_STAT(struct mlx5e_ptp_cq_stats, lost_cqe) },
}; };
static const struct counter_desc ptp_rq_stats_desc[] = { static const struct counter_desc ptp_rq_stats_desc[] = {
......
...@@ -463,6 +463,7 @@ struct mlx5e_ptp_cq_stats { ...@@ -463,6 +463,7 @@ struct mlx5e_ptp_cq_stats {
u64 abort; u64 abort;
u64 abort_abs_diff_ns; u64 abort_abs_diff_ns;
u64 late_cqe; u64 late_cqe;
u64 lost_cqe;
}; };
struct mlx5e_rep_stats { struct mlx5e_rep_stats {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment