aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/ethernet/mellanox/mlx4/cq.c
diff options
context:
space:
mode:
authorYuval Atias <yuvala@mellanox.com>2014-05-14 12:15:10 +0300
committerDavid S. Miller <davem@davemloft.net>2014-05-14 15:40:32 -0400
commit2eacc23c422b4553030168f315cb49522fa1b1f6 (patch)
tree8733ae07b5752215afc6510a68f6ad7645297872 /drivers/net/ethernet/mellanox/mlx4/cq.c
parentmacvlan: Propagate lowerdev MTU changes (diff)
downloadlinux-dev-2eacc23c422b4553030168f315cb49522fa1b1f6.tar.xz
linux-dev-2eacc23c422b4553030168f315cb49522fa1b1f6.zip
net/mlx4_core: Enforce irq affinity changes immediatly
During heavy traffic, napi is constatntly polling the complition queue and no interrupt is fired. Because of that, changes to irq affinity are ignored until traffic is stopped and resumed. By registering to the irq notifier mechanism, and forcing interrupt when affinity is changed, irq affinity changes will be immediatly enforced. Signed-off-by: Yuval Atias <yuvala@mellanox.com> Signed-off-by: Amir Vadai <amirv@mellanox.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ethernet/mellanox/mlx4/cq.c')
-rw-r--r--drivers/net/ethernet/mellanox/mlx4/cq.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/net/ethernet/mellanox/mlx4/cq.c b/drivers/net/ethernet/mellanox/mlx4/cq.c
index 0487121e4a0f..8542030b89cf 100644
--- a/drivers/net/ethernet/mellanox/mlx4/cq.c
+++ b/drivers/net/ethernet/mellanox/mlx4/cq.c
@@ -293,6 +293,9 @@ int mlx4_cq_alloc(struct mlx4_dev *dev, int nent,
atomic_set(&cq->refcount, 1);
init_completion(&cq->free);
+ cq->irq = priv->eq_table.eq[cq->vector].irq;
+ cq->irq_affinity_change = false;
+
return 0;
err_radix: