Skip to content

Commit 8499094

Browse files
Eran Ben ElishaSaeed Mahameed
authored andcommitted
net/mlx5e: Print delta since last transmit per SQ upon TX timeout
When driver callback for TX timeout is being called, it handles all stopped xmit queues (not only the ones which their timeout expired). Add usecs since last transmit to TX timeout logs per send queue in order to monitor if the queue timeout expired. Signed-off-by: Eran Ben Elisha <[email protected]> Reviewed-by: Tariq Toukan <[email protected]> Signed-off-by: Saeed Mahameed <[email protected]>
1 parent eb9180f commit 8499094

File tree

1 file changed

+5
-3
lines changed
  • drivers/net/ethernet/mellanox/mlx5/core

1 file changed

+5
-3
lines changed

drivers/net/ethernet/mellanox/mlx5/core/en_main.c

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3766,14 +3766,16 @@ static void mlx5e_tx_timeout(struct net_device *dev)
37663766
netdev_err(dev, "TX timeout detected\n");
37673767

37683768
for (i = 0; i < priv->channels.num * priv->channels.params.num_tc; i++) {
3769+
struct netdev_queue *dev_queue = netdev_get_tx_queue(dev, i);
37693770
struct mlx5e_txqsq *sq = priv->txq2sq[i];
37703771

3771-
if (!netif_xmit_stopped(netdev_get_tx_queue(dev, i)))
3772+
if (!netif_xmit_stopped(dev_queue))
37723773
continue;
37733774
sched_work = true;
37743775
clear_bit(MLX5E_SQ_STATE_ENABLED, &sq->state);
3775-
netdev_err(dev, "TX timeout on queue: %d, SQ: 0x%x, CQ: 0x%x, SQ Cons: 0x%x SQ Prod: 0x%x\n",
3776-
i, sq->sqn, sq->cq.mcq.cqn, sq->cc, sq->pc);
3776+
netdev_err(dev, "TX timeout on queue: %d, SQ: 0x%x, CQ: 0x%x, SQ Cons: 0x%x SQ Prod: 0x%x, usecs since last trans: %u\n",
3777+
i, sq->sqn, sq->cq.mcq.cqn, sq->cc, sq->pc,
3778+
jiffies_to_usecs(jiffies - dev_queue->trans_start));
37773779
}
37783780

37793781
if (sched_work && test_bit(MLX5E_STATE_OPENED, &priv->state))

0 commit comments

Comments
 (0)