diff options
author | PJ Waskiewicz <peter.p.waskiewicz.jr@intel.com> | 2009-11-12 18:50:43 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2009-11-13 23:46:55 -0500 |
commit | 342bde1b70c79bfc8509b017b3987f3c7541ff8e (patch) | |
tree | c3a9e2f2b15d864a360667c6f00a0dd2fe8e0c01 /drivers/net/ixgbe/ixgbe_main.c | |
parent | 8a0717f30ce93a686d325122d8b0c6b73b32cfb3 (diff) |
ixgbe: Make queue pairs on single MSI-X interrupts
This patch pairs similar-numbered Rx and Tx queues onto a single
MSI-X vector. For example, Tx queue 0 and Rx queue 0's interrupt
with be ethX-RxTx-0. This allows for more efficient cleanup, since
fewer interrupts will be firing during device operation. It also
helps with a cleaner CPU affinity for IRQ affinity.
Signed-off-by: Peter P Waskiewicz Jr <peter.p.waskiewicz.jr@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ixgbe/ixgbe_main.c')
-rw-r--r-- | drivers/net/ixgbe/ixgbe_main.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/net/ixgbe/ixgbe_main.c b/drivers/net/ixgbe/ixgbe_main.c index 04892863ef02..884152d1085e 100644 --- a/drivers/net/ixgbe/ixgbe_main.c +++ b/drivers/net/ixgbe/ixgbe_main.c | |||
@@ -3626,10 +3626,10 @@ static int ixgbe_set_interrupt_capability(struct ixgbe_adapter *adapter) | |||
3626 | * It's easy to be greedy for MSI-X vectors, but it really | 3626 | * It's easy to be greedy for MSI-X vectors, but it really |
3627 | * doesn't do us much good if we have a lot more vectors | 3627 | * doesn't do us much good if we have a lot more vectors |
3628 | * than CPU's. So let's be conservative and only ask for | 3628 | * than CPU's. So let's be conservative and only ask for |
3629 | * (roughly) twice the number of vectors as there are CPU's. | 3629 | * (roughly) the same number of vectors as there are CPU's. |
3630 | */ | 3630 | */ |
3631 | v_budget = min(adapter->num_rx_queues + adapter->num_tx_queues, | 3631 | v_budget = min(adapter->num_rx_queues + adapter->num_tx_queues, |
3632 | (int)(num_online_cpus() * 2)) + NON_Q_VECTORS; | 3632 | (int)num_online_cpus()) + NON_Q_VECTORS; |
3633 | 3633 | ||
3634 | /* | 3634 | /* |
3635 | * At the same time, hardware can only support a maximum of | 3635 | * At the same time, hardware can only support a maximum of |