| To: | "jgarzik@xxxxxxxxx" <jgarzik@xxxxxxxxx> |
|---|---|
| Subject: | [Patch 5/16 2.5] ixgb: Condition that determines when to quit polling mode includes work done in Tx path |
| From: | Ganesh Venkatesan <ganesh.venkatesan@xxxxxxxxx> |
| Date: | Fri, 15 Oct 2004 06:54:43 -0700 (PDT) |
| Cc: | netdev <netdev@xxxxxxxxxxx> |
| Replyto: | "Ganesh Venkatesan" <ganesh.venkatesan@xxxxxxxxx> |
| Sender: | netdev-bounce@xxxxxxxxxxx |
diff -up net-drivers-2.6/drivers/net/ixgb/ixgb_main.c
net-drivers-2.6/drivers/net/ixgb.new/ixgb_main.c
--- net-drivers-2.6/drivers/net/ixgb/ixgb_main.c 2004-10-05
15:50:18.000000000 -0700
+++ net-drivers-2.6/drivers/net/ixgb.new/ixgb_main.c 2004-10-05
17:55:48.000000000 -0700
@@ -1640,15 +1640,18 @@ static irqreturn_t ixgb_intr(int irq, vo
{
struct ixgb_adapter *adapter = netdev->priv;
int work_to_do = min(*budget, netdev->quota);
+ int tx_cleaned;
int work_done = 0;
-
- ixgb_clean_tx_irq(adapter);
+
+ tx_cleaned = ixgb_clean_tx_irq(adapter);
ixgb_clean_rx_irq(adapter, &work_done, work_to_do);
*budget -= work_done;
netdev->quota -= work_done;
-
- if (work_done < work_to_do || !netif_running(netdev)) {
+
+ /* if no Rx and Tx cleanup work was done, exit the polling mode */
+ if(!tx_cleaned || (work_done < work_to_do) ||
+ !netif_running(netdev)) {
netif_rx_complete(netdev);
/* RAIDC will be automatically restarted by irq_enable */
ixgb_irq_enable(adapter);
|
| <Prev in Thread] | Current Thread | [Next in Thread> |
|---|---|---|
| ||
| Previous by Date: | [Patch 4/16 2.5] ixgb: Fix NAPI driver crash on ifdown during traffic, Ganesh Venkatesan |
|---|---|
| Next by Date: | [Patch 6/16 2.5] ixgb: fix error in setting Frame Size register while changing mtu, Ganesh Venkatesan |
| Previous by Thread: | [Patch 4/16 2.5] ixgb: Fix NAPI driver crash on ifdown during traffic, Ganesh Venkatesan |
| Next by Thread: | Re: [Patch 5/16 2.5] ixgb: Condition that determines when to quit polling mode includes work done in Tx path, Jeff Garzik |
| Indexes: | [Date] [Thread] [Top] [All Lists] |