diff options
author | Neil Turton <nturton@solarflare.com> | 2008-12-13 00:41:06 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2008-12-13 00:57:44 -0500 |
commit | 28b581ab0a0aa7bc8b22935779ca3e8d6f651ac7 (patch) | |
tree | 900aa9f5950c1efa01cab8c571a97272b3dc0ce3 /drivers/net/sfc/net_driver.h | |
parent | 84ae48fe4c1fe8b79fac015df6ad0b0937a7ae37 (diff) |
sfc: Add option to use a separate channel for TX completions
In a bidirectional forwarding test, we find that the best performance
is achieved by sending the TX completion interrupts from one NIC to a
CPU which shares an L2 cache with RX completion interrupts from the
other NIC. To facilitate this, add an option (through a module
parameter) to create separate channels for RX and TX completion with
separate IRQs when MSI-X is available.
Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/sfc/net_driver.h')
-rw-r--r-- | drivers/net/sfc/net_driver.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/net/sfc/net_driver.h b/drivers/net/sfc/net_driver.h index f91060963475..2c5b5fabac1e 100644 --- a/drivers/net/sfc/net_driver.h +++ b/drivers/net/sfc/net_driver.h | |||
@@ -649,6 +649,7 @@ union efx_multicast_hash { | |||
649 | * @rx_queue: RX DMA queues | 649 | * @rx_queue: RX DMA queues |
650 | * @channel: Channels | 650 | * @channel: Channels |
651 | * @n_rx_queues: Number of RX queues | 651 | * @n_rx_queues: Number of RX queues |
652 | * @n_channels: Number of channels in use | ||
652 | * @rx_buffer_len: RX buffer length | 653 | * @rx_buffer_len: RX buffer length |
653 | * @rx_buffer_order: Order (log2) of number of pages for each RX buffer | 654 | * @rx_buffer_order: Order (log2) of number of pages for each RX buffer |
654 | * @irq_status: Interrupt status buffer | 655 | * @irq_status: Interrupt status buffer |
@@ -728,6 +729,7 @@ struct efx_nic { | |||
728 | struct efx_channel channel[EFX_MAX_CHANNELS]; | 729 | struct efx_channel channel[EFX_MAX_CHANNELS]; |
729 | 730 | ||
730 | int n_rx_queues; | 731 | int n_rx_queues; |
732 | int n_channels; | ||
731 | unsigned int rx_buffer_len; | 733 | unsigned int rx_buffer_len; |
732 | unsigned int rx_buffer_order; | 734 | unsigned int rx_buffer_order; |
733 | 735 | ||