aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVasundhara Volam <vasundhara.volam@emulex.com>2014-03-11 09:23:07 -0400
committerDavid S. Miller <davem@davemloft.net>2014-03-12 16:19:48 -0400
commita5243dabb95c51a4b2dce3f7e4f3ced57d2c5742 (patch)
tree416c8a35ee1b59920365dcb4ab0cc06e5b24ed3c
parent46ee9c143211231d5d81840b28d1b869c0860aa7 (diff)
be2net: Create multiple TXQs on RSS capable multi-channel BE3-R interfaces
Currently the driver creates only a single TXQ on any BE3-R multi-channel interface. This patch changes this and creates multiple TXQs on RSS-capable multi-channel BE3-R interfaces. This change helps improve the TX pps performance on the affected interface. Signed-off-by: Vasundhara Volam <vasundhara.volam@emulex.com> Signed-off-by: Sathya Perla <sathya.perla@emulex.com> Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r--drivers/net/ethernet/emulex/benet/be_main.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/drivers/net/ethernet/emulex/benet/be_main.c b/drivers/net/ethernet/emulex/benet/be_main.c
index eaf08917f341..fc44bb331717 100644
--- a/drivers/net/ethernet/emulex/benet/be_main.c
+++ b/drivers/net/ethernet/emulex/benet/be_main.c
@@ -3209,9 +3209,13 @@ static void BEx_get_resources(struct be_adapter *adapter,
3209 3209
3210 res->max_mcast_mac = BE_MAX_MC; 3210 res->max_mcast_mac = BE_MAX_MC;
3211 3211
3212 /* For BE3 1Gb ports, F/W does not properly support multiple TXQs */ 3212 /* 1) For BE3 1Gb ports, FW does not support multiple TXQs
3213 if (BE2_chip(adapter) || use_sriov || be_is_mc(adapter) || 3213 * 2) Create multiple TX rings on a BE3-R multi-channel interface
3214 !be_physfn(adapter) || (adapter->port_num > 1)) 3214 * *only* if it is RSS-capable.
3215 */
3216 if (BE2_chip(adapter) || use_sriov || (adapter->port_num > 1) ||
3217 !be_physfn(adapter) || (be_is_mc(adapter) &&
3218 !(adapter->function_caps & BE_FUNCTION_CAPS_RSS)))
3215 res->max_tx_qs = 1; 3219 res->max_tx_qs = 1;
3216 else 3220 else
3217 res->max_tx_qs = BE3_MAX_TX_QS; 3221 res->max_tx_qs = BE3_MAX_TX_QS;