diff mbox

[net-next] net/mlx4_en: mlx4_en_netpoll() should schedule TX, not RX

Message ID 1464979969.5939.200.camel@edumazet-glaptop3.roam.corp.google.com
State Accepted, archived
Delegated to: David Miller
Headers show

Commit Message

Eric Dumazet June 3, 2016, 6:52 p.m. UTC
From: Eric Dumazet <edumazet@google.com>

I am not sure mlx4_en_netpoll() is doing anything useful right now.

mlx4 has different NAPI structures for RX and TX, and netpoll only wants
to drain TX queues.

Lets schedule NAPI polls on TX, not RX.

Signed-off-by: Eric Dumazet <edumazet@google.com>
Cc: Maciej Żenczykowski <maze@google.com>
Cc: Eric W. Biederman <ebiederm@xmission.com>
---
Totally untested patch, I would appreciate some feedback before merge,
thanks !

 drivers/net/ethernet/mellanox/mlx4/en_netdev.c |    4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

Comments

Tariq Toukan June 6, 2016, 10:38 a.m. UTC | #1
Thanks Eric.

> Totally untested patch, I would appreciate some feedback before merge,
> thanks !
I'm testing it, and will reply shortly.

Regards,
Tariq
Tariq Toukan June 9, 2016, 10:48 a.m. UTC | #2
Acked-by: Tariq Toukan <tariqt@mellanox.com>
David Miller June 10, 2016, 5:24 a.m. UTC | #3
From: Eric Dumazet <eric.dumazet@gmail.com>
Date: Fri, 03 Jun 2016 11:52:49 -0700

> From: Eric Dumazet <edumazet@google.com>
> 
> I am not sure mlx4_en_netpoll() is doing anything useful right now.
> 
> mlx4 has different NAPI structures for RX and TX, and netpoll only wants
> to drain TX queues.
> 
> Lets schedule NAPI polls on TX, not RX.
> 
> Signed-off-by: Eric Dumazet <edumazet@google.com>
> Cc: Maciej Żenczykowski <maze@google.com>
> Cc: Eric W. Biederman <ebiederm@xmission.com>

Applied.
diff mbox

Patch

diff --git a/drivers/net/ethernet/mellanox/mlx4/en_netdev.c b/drivers/net/ethernet/mellanox/mlx4/en_netdev.c
index 19ceced6736c..973391bfe286 100644
--- a/drivers/net/ethernet/mellanox/mlx4/en_netdev.c
+++ b/drivers/net/ethernet/mellanox/mlx4/en_netdev.c
@@ -1197,8 +1197,8 @@  static void mlx4_en_netpoll(struct net_device *dev)
 	struct mlx4_en_cq *cq;
 	int i;
 
-	for (i = 0; i < priv->rx_ring_num; i++) {
-		cq = priv->rx_cq[i];
+	for (i = 0; i < priv->tx_ring_num; i++) {
+		cq = priv->tx_cq[i];
 		napi_schedule(&cq->napi);
 	}
 }