Re: [PATCH net-next-2.6] be2net: add multiple RX queue support

Previous thread: [PATCH] correct IGMP behavior on v3 query during v2-compatibility mode by David L Stevens on Thursday, September 30, 2010 - 5:29 pm. (2 messages)

Next thread: [patch 0/1] s390: qeth patch for net-next by frank.blaschka on Friday, October 1, 2010 - 5:51 am. (3 messages)
From: Sathya Perla
Date: Friday, October 1, 2010 - 3:41 am

Dave, incorporated your comment to discover the num of supported MSIx vectors
dynamically; thanks.

This patch adds multiple RX queue support to be2net. There are
upto 4 extra rx-queues per port into which TCP/UDP traffic can be hashed into.
Some of the ethtool stats are now displayed on a per queue basis.

Signed-off-by: Sathya Perla <sathya.perla@emulex.com>
---
 drivers/net/benet/be.h         |   82 +++---
 drivers/net/benet/be_cmds.c    |   40 +++-
 drivers/net/benet/be_cmds.h    |   32 ++-
 drivers/net/benet/be_ethtool.c |  174 ++++++++-----
 drivers/net/benet/be_main.c    |  561 ++++++++++++++++++++++------------------
 5 files changed, 526 insertions(+), 363 deletions(-)

diff --git a/drivers/net/benet/be.h b/drivers/net/benet/be.h
index 4faf696..1afabb1 100644
--- a/drivers/net/benet/be.h
+++ b/drivers/net/benet/be.h
@@ -78,6 +78,8 @@ static inline char *nic_name(struct pci_dev *pdev)
 #define MCC_Q_LEN		128	/* total size not to exceed 8 pages */
 #define MCC_CQ_LEN		256
 
+#define MAX_RSS_QS		4	/* BE limit is 4 queues/port */
+#define BE_MAX_MSIX_VECTORS	(MAX_RSS_QS + 1 + 1)/* RSS qs + 1 def Rx + Tx */
 #define BE_NAPI_WEIGHT		64
 #define MAX_RX_POST 		BE_NAPI_WEIGHT /* Frags posted at a time */
 #define RX_FRAGS_REFILL_WM	(RX_Q_LEN - MAX_RX_POST)
@@ -157,10 +159,9 @@ struct be_mcc_obj {
 	bool rearm_cq;
 };
 
-struct be_drvr_stats {
+struct be_tx_stats {
 	u32 be_tx_reqs;		/* number of TX requests initiated */
 	u32 be_tx_stops;	/* number of times TX Q was stopped */
-	u32 be_fwd_reqs;	/* number of send reqs through forwarding i/f */
 	u32 be_tx_wrbs;		/* number of tx WRBs used */
 	u32 be_tx_events;	/* number of tx completion events  */
 	u32 be_tx_compl;	/* number of tx completion entries processed */
@@ -169,35 +170,6 @@ struct be_drvr_stats {
 	u64 be_tx_bytes_prev;
 	u64 be_tx_pkts;
 	u32 be_tx_rate;
-
-	u32 cache_barrier[16];
-
-	u32 be_ethrx_post_fail;/* number of ethrx buffer alloc failures */
-	u32 be_rx_polls;	/* number of times NAPI called ...
From: David Miller
Date: Sunday, October 3, 2010 - 10:12 pm

From: Sathya Perla <sathya.perla@emulex.com>

Looks good, applied, thanks.
--

Previous thread: [PATCH] correct IGMP behavior on v3 query during v2-compatibility mode by David L Stevens on Thursday, September 30, 2010 - 5:29 pm. (2 messages)

Next thread: [patch 0/1] s390: qeth patch for net-next by frank.blaschka on Friday, October 1, 2010 - 5:51 am. (3 messages)