diff options
author | Eilon Greenstein <eilong@broadcom.com> | 2009-03-02 02:59:31 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2009-03-03 01:32:39 -0500 |
commit | 7961f79123604a395dc467c605a94bbaed74df83 (patch) | |
tree | 542c3a9062596ebe69f68edeb3817655cfeda0f0 /drivers/net/bnx2x_main.c | |
parent | 161197853de91eb1eebdde05f13223c377cf3be0 (diff) |
bnx2x: Unlimited Tx interrupt work
The Tx interrupt is very short and there is no need to limit it to a budget
Signed-off-by: Eilon Greenstein <eilong@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/bnx2x_main.c')
-rw-r--r-- | drivers/net/bnx2x_main.c | 11 |
1 files changed, 4 insertions, 7 deletions
diff --git a/drivers/net/bnx2x_main.c b/drivers/net/bnx2x_main.c index e4d54e14fd53..a66536ec10a4 100644 --- a/drivers/net/bnx2x_main.c +++ b/drivers/net/bnx2x_main.c | |||
@@ -874,7 +874,7 @@ static inline u16 bnx2x_tx_avail(struct bnx2x_fastpath *fp) | |||
874 | return (s16)(fp->bp->tx_ring_size) - used; | 874 | return (s16)(fp->bp->tx_ring_size) - used; |
875 | } | 875 | } |
876 | 876 | ||
877 | static void bnx2x_tx_int(struct bnx2x_fastpath *fp, int work) | 877 | static void bnx2x_tx_int(struct bnx2x_fastpath *fp) |
878 | { | 878 | { |
879 | struct bnx2x *bp = fp->bp; | 879 | struct bnx2x *bp = fp->bp; |
880 | struct netdev_queue *txq; | 880 | struct netdev_queue *txq; |
@@ -908,9 +908,6 @@ static void bnx2x_tx_int(struct bnx2x_fastpath *fp, int work) | |||
908 | bd_cons = bnx2x_free_tx_pkt(bp, fp, pkt_cons); | 908 | bd_cons = bnx2x_free_tx_pkt(bp, fp, pkt_cons); |
909 | sw_cons++; | 909 | sw_cons++; |
910 | done++; | 910 | done++; |
911 | |||
912 | if (done == work) | ||
913 | break; | ||
914 | } | 911 | } |
915 | 912 | ||
916 | fp->tx_pkt_cons = sw_cons; | 913 | fp->tx_pkt_cons = sw_cons; |
@@ -4177,7 +4174,7 @@ static void bnx2x_timer(unsigned long data) | |||
4177 | struct bnx2x_fastpath *fp = &bp->fp[0]; | 4174 | struct bnx2x_fastpath *fp = &bp->fp[0]; |
4178 | int rc; | 4175 | int rc; |
4179 | 4176 | ||
4180 | bnx2x_tx_int(fp, 1000); | 4177 | bnx2x_tx_int(fp); |
4181 | rc = bnx2x_rx_int(fp, 1000); | 4178 | rc = bnx2x_rx_int(fp, 1000); |
4182 | } | 4179 | } |
4183 | 4180 | ||
@@ -7217,7 +7214,7 @@ static int bnx2x_nic_unload(struct bnx2x *bp, int unload_mode) | |||
7217 | cnt = 1000; | 7214 | cnt = 1000; |
7218 | while (bnx2x_has_tx_work_unload(fp)) { | 7215 | while (bnx2x_has_tx_work_unload(fp)) { |
7219 | 7216 | ||
7220 | bnx2x_tx_int(fp, 1000); | 7217 | bnx2x_tx_int(fp); |
7221 | if (!cnt) { | 7218 | if (!cnt) { |
7222 | BNX2X_ERR("timeout waiting for queue[%d]\n", | 7219 | BNX2X_ERR("timeout waiting for queue[%d]\n", |
7223 | i); | 7220 | i); |
@@ -10069,7 +10066,7 @@ static int bnx2x_poll(struct napi_struct *napi, int budget) | |||
10069 | bnx2x_update_fpsb_idx(fp); | 10066 | bnx2x_update_fpsb_idx(fp); |
10070 | 10067 | ||
10071 | if (bnx2x_has_tx_work(fp)) | 10068 | if (bnx2x_has_tx_work(fp)) |
10072 | bnx2x_tx_int(fp, budget); | 10069 | bnx2x_tx_int(fp); |
10073 | 10070 | ||
10074 | if (bnx2x_has_rx_work(fp)) | 10071 | if (bnx2x_has_rx_work(fp)) |
10075 | work_done = bnx2x_rx_int(fp, budget); | 10072 | work_done = bnx2x_rx_int(fp, budget); |