* [PATCH net 0/2] mlx5 tx timeout watchdog fixes
@ 2016-07-12 21:06 Saeed Mahameed
2016-07-12 21:06 ` [PATCH net 1/2] net/mlx5e: Fix TX Timeout to detect queues stuck on BQL Saeed Mahameed
` (2 more replies)
0 siblings, 3 replies; 4+ messages in thread
From: Saeed Mahameed @ 2016-07-12 21:06 UTC (permalink / raw)
To: David S. Miller; +Cc: netdev, Saeed Mahameed
Hi Dave,
This patch set provides two trivial fixes for the tx timeout series lately
applied into net 4.7.
>From Daniel, detect stuck queues due to BQL
>From Mohamad, fix tx timeout watchdog false alarm
Hopefully those two fixes will make it to -stable, assuming
3947ca185999 ('net/mlx5e: Implement ndo_tx_timeout callback') was also backported to -stable.
Thanks,
Saeed.
Daniel Jurgens (1):
net/mlx5e: Fix TX Timeout to detect queues stuck on BQL
Mohamad Haj Yahia (1):
net/mlx5e: start/stop all tx queues upon open/close netdev
drivers/net/ethernet/mellanox/mlx5/core/en_main.c | 13 ++++++++++++-
1 file changed, 12 insertions(+), 1 deletion(-)
--
2.8.0
^ permalink raw reply [flat|nested] 4+ messages in thread
* [PATCH net 1/2] net/mlx5e: Fix TX Timeout to detect queues stuck on BQL
2016-07-12 21:06 [PATCH net 0/2] mlx5 tx timeout watchdog fixes Saeed Mahameed
@ 2016-07-12 21:06 ` Saeed Mahameed
2016-07-12 21:07 ` [PATCH net 2/2] net/mlx5e: start/stop all tx queues upon open/close netdev Saeed Mahameed
2016-07-13 18:38 ` [PATCH net 0/2] mlx5 tx timeout watchdog fixes David Miller
2 siblings, 0 replies; 4+ messages in thread
From: Saeed Mahameed @ 2016-07-12 21:06 UTC (permalink / raw)
To: David S. Miller; +Cc: netdev, Daniel Jurgens, Saeed Mahameed
From: Daniel Jurgens <danielj@mellanox.com>
Change netif_tx_queue_stopped to netif_xmit_stopped. This will show
when queues are stopped due to byte queue limits.
Fixes: 3947ca185999 ('net/mlx5e: Implement ndo_tx_timeout callback')
Signed-off-by: Daniel Jurgens <danielj@mellanox.com>
Signed-off-by: Saeed Mahameed <saeedm@mellanox.com>
---
drivers/net/ethernet/mellanox/mlx5/core/en_main.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en_main.c b/drivers/net/ethernet/mellanox/mlx5/core/en_main.c
index 7a0dca2..0cebc7e 100644
--- a/drivers/net/ethernet/mellanox/mlx5/core/en_main.c
+++ b/drivers/net/ethernet/mellanox/mlx5/core/en_main.c
@@ -2656,7 +2656,7 @@ static void mlx5e_tx_timeout(struct net_device *dev)
for (i = 0; i < priv->params.num_channels * priv->params.num_tc; i++) {
struct mlx5e_sq *sq = priv->txq_to_sq_map[i];
- if (!netif_tx_queue_stopped(netdev_get_tx_queue(dev, i)))
+ if (!netif_xmit_stopped(netdev_get_tx_queue(dev, i)))
continue;
sched_work = true;
set_bit(MLX5E_SQ_STATE_TX_TIMEOUT, &sq->state);
--
2.8.0
^ permalink raw reply related [flat|nested] 4+ messages in thread
* [PATCH net 2/2] net/mlx5e: start/stop all tx queues upon open/close netdev
2016-07-12 21:06 [PATCH net 0/2] mlx5 tx timeout watchdog fixes Saeed Mahameed
2016-07-12 21:06 ` [PATCH net 1/2] net/mlx5e: Fix TX Timeout to detect queues stuck on BQL Saeed Mahameed
@ 2016-07-12 21:07 ` Saeed Mahameed
2016-07-13 18:38 ` [PATCH net 0/2] mlx5 tx timeout watchdog fixes David Miller
2 siblings, 0 replies; 4+ messages in thread
From: Saeed Mahameed @ 2016-07-12 21:07 UTC (permalink / raw)
To: David S. Miller; +Cc: netdev, Mohamad Haj Yahia, Saeed Mahameed
From: Mohamad Haj Yahia <mohamad@mellanox.com>
Start all tx queues (including inactive ones) when opening the netdev.
Stop all tx queues (including inactive ones) when closing the netdev.
This is a workaround for the tx timeout watchdog false alarm issue in
which the netdev watchdog is polling all the tx queues which may include
inactive queues and thus once lowering the real tx queues number
(ethtool -L) it will generate tx timeout watchdog false alarms.
Fixes: 3947ca185999 ('net/mlx5e: Implement ndo_tx_timeout callback')
Signed-off-by: Mohamad Haj Yahia <mohamad@mellanox.com>
Signed-off-by: Saeed Mahameed <saeedm@mellanox.com>
---
drivers/net/ethernet/mellanox/mlx5/core/en_main.c | 11 +++++++++++
1 file changed, 11 insertions(+)
diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en_main.c b/drivers/net/ethernet/mellanox/mlx5/core/en_main.c
index 0cebc7e..5a4d88c 100644
--- a/drivers/net/ethernet/mellanox/mlx5/core/en_main.c
+++ b/drivers/net/ethernet/mellanox/mlx5/core/en_main.c
@@ -1348,6 +1348,11 @@ static int mlx5e_open_channels(struct mlx5e_priv *priv)
goto err_close_channels;
}
+ /* FIXME: This is a W/A for tx timeout watch dog false alarm when
+ * polling for inactive tx queues.
+ */
+ netif_tx_start_all_queues(priv->netdev);
+
kfree(cparam);
return 0;
@@ -1367,6 +1372,12 @@ static void mlx5e_close_channels(struct mlx5e_priv *priv)
{
int i;
+ /* FIXME: This is a W/A only for tx timeout watch dog false alarm when
+ * polling for inactive tx queues.
+ */
+ netif_tx_stop_all_queues(priv->netdev);
+ netif_tx_disable(priv->netdev);
+
for (i = 0; i < priv->params.num_channels; i++)
mlx5e_close_channel(priv->channel[i]);
--
2.8.0
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH net 0/2] mlx5 tx timeout watchdog fixes
2016-07-12 21:06 [PATCH net 0/2] mlx5 tx timeout watchdog fixes Saeed Mahameed
2016-07-12 21:06 ` [PATCH net 1/2] net/mlx5e: Fix TX Timeout to detect queues stuck on BQL Saeed Mahameed
2016-07-12 21:07 ` [PATCH net 2/2] net/mlx5e: start/stop all tx queues upon open/close netdev Saeed Mahameed
@ 2016-07-13 18:38 ` David Miller
2 siblings, 0 replies; 4+ messages in thread
From: David Miller @ 2016-07-13 18:38 UTC (permalink / raw)
To: saeedm; +Cc: netdev
From: Saeed Mahameed <saeedm@mellanox.com>
Date: Wed, 13 Jul 2016 00:06:58 +0300
> This patch set provides two trivial fixes for the tx timeout series lately
> applied into net 4.7.
>
> From Daniel, detect stuck queues due to BQL
> From Mohamad, fix tx timeout watchdog false alarm
>
> Hopefully those two fixes will make it to -stable, assuming
> 3947ca185999 ('net/mlx5e: Implement ndo_tx_timeout callback') was also backported to -stable.
Series applied.
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2016-07-13 18:38 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-07-12 21:06 [PATCH net 0/2] mlx5 tx timeout watchdog fixes Saeed Mahameed
2016-07-12 21:06 ` [PATCH net 1/2] net/mlx5e: Fix TX Timeout to detect queues stuck on BQL Saeed Mahameed
2016-07-12 21:07 ` [PATCH net 2/2] net/mlx5e: start/stop all tx queues upon open/close netdev Saeed Mahameed
2016-07-13 18:38 ` [PATCH net 0/2] mlx5 tx timeout watchdog fixes David Miller
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).