Skip to contentSkip to conversation

ixgbe: incorporate napi_struct changes from net-2.6.24.git

PATCH In review Auke Kok 2 participants 5 messages Sep 12, 2007

Subsystems (2)
lore
Share & tools
lore

Auke Kok

author
#0 lore raw

PATCH 1/1 ixgbe: incorporate napi_struct changes from net-2.6.24.git

This incorporates the new napi_struct changes into ixgbe.

---

 drivers/net/ixgbe/ixgbe.h      |    1 +
 drivers/net/ixgbe/ixgbe_main.c |   62 +++++++++++++++++-----------------------
 2 files changed, 27 insertions(+), 36 deletions(-)
drivers/net/ixgbe/ixgbe.h +1 -0
index b24803f..c160a7d 100644
@@ -179,6 +179,7 @@ struct ixgbe_adapter {
 
 	/* TX */
 	struct ixgbe_ring *tx_ring;	/* One per active queue */
+	struct napi_struct napi;
 	u64 restart_queue;
 	u64 lsc_int;
 	u64 hw_tso_ctxt;
drivers/net/ixgbe/ixgbe_main.c +26 -36

145 lines not on this page · raw message

#1 lore raw
Quoted 1 line · On Wed, 12 Sep 2007 11:13:07 -0700 Auke Kok <[email protected]> wrote:

This incorporates the new napi_struct changes into ixgbe.

I get a reject storm.

drivers/net/ixgbe/ixgbe_main.c static irqreturn_t ixgbe_msix_clean_rx(int irq, void *data) · line 563

Quoted 11 lines
drivers/net/ixgbe/ixgbe_main.c +1 -1
@@ -557,14 +557,15 @@ static irqreturn_t ixgbe_msix_clean_rx(int irq, void *data)
 	struct ixgbe_adapter *adapter = rxr->adapter;
 
 	IXGBE_WRITE_REG(&adapter->hw, IXGBE_EIMC, rxr->eims_value);
-	netif_rx_schedule(adapter->netdev);
+	netif_rx_schedule(adapter->netdev, &adapter->napi);
 	return IRQ_HANDLED;
 }
 

For example, my copy of ixgbe_msix_clean_rx(), from
git://lost.foo-projects.org/~aveerani/git/linux-2.6#ixgbe is:

static irqreturn_t ixgbe_msix_clean_rx(int irq, void *data)

{
	struct ixgbe_ring *rxr = data;
	struct ixgbe_adapter *adapter = rxr->adapter;
#ifndef CONFIG_IXGBE_NAPI
	int i;

	for (i = 0; i < IXGBE_MAX_INTR; i++)
		if (unlikely(!ixgbe_clean_rx_irq(adapter, rxr)))
			break;
#else
	IXGBE_WRITE_REG(&adapter->hw, IXGBE_EIMC, rxr->eims_value);
	netif_rx_schedule(adapter->netdev);
#endif
	return IRQ_HANDLED;
}

which is quite different from the function whcih you're altering here?

author
#2 lore raw
Quoted 12 lines · Andrew Morton
Quoted 1 line · On Wed, 12 Sep 2007 11:13:07 -0700 Auke Kok <[email protected]> wrote:

This incorporates the new napi_struct changes into ixgbe.

I get a reject storm.

Quoted 5 lines
drivers/net/ixgbe/ixgbe_main.c +0 -0
@@ -557,14 +557,15 @@ static irqreturn_t ixgbe_msix_clean_rx(int irq, void *data)
 	struct ixgbe_adapter *adapter = rxr->adapter;
 
Quoted 9 lines

drivers/net/ixgbe/ixgbe_main.c static irqreturn_t ixgbe_msix_clean_rx(int irq, void *data) · line 563

Quoted 6 lines
drivers/net/ixgbe/ixgbe_main.c +1 -1
 	IXGBE_WRITE_REG(&adapter->hw, IXGBE_EIMC, rxr->eims_value);
-	netif_rx_schedule(adapter->netdev);
+	netif_rx_schedule(adapter->netdev, &adapter->napi);
 	return IRQ_HANDLED;
 }
 

For example, my copy of ixgbe_msix_clean_rx(), from
git://lost.foo-projects.org/~aveerani/git/linux-2.6#ixgbe is:

please drop that tree, and get the one I posted last week instead:

git://lost.foo-projects.org/~ahkok/linux-2.6 ixgbe-20070905-submission

or:

http://foo-projects.org/~sofar/ixgbe-20070905-submission.patch
http://foo-projects.org/~sofar/ixgbe-20070905-submission.patch.bz2

Cheers,

Auke

#3 lore raw
Quoted 23 lines · Auke
Quoted 12 lines · Andrew Morton
Quoted 1 line · On Wed, 12 Sep 2007 11:13:07 -0700 Auke Kok <[email protected]> wrote:

This incorporates the new napi_struct changes into ixgbe.

I get a reject storm.

Quoted 5 lines
drivers/net/ixgbe/ixgbe_main.c +0 -0
@@ -557,14 +557,15 @@ static irqreturn_t ixgbe_msix_clean_rx(int irq, void *data)
 	struct ixgbe_adapter *adapter = rxr->adapter;
 
Quoted 9 lines

drivers/net/ixgbe/ixgbe_main.c static irqreturn_t ixgbe_msix_clean_rx(int irq, void *data) · line 563

Quoted 6 lines
drivers/net/ixgbe/ixgbe_main.c +1 -1
 	IXGBE_WRITE_REG(&adapter->hw, IXGBE_EIMC, rxr->eims_value);
-	netif_rx_schedule(adapter->netdev);
+	netif_rx_schedule(adapter->netdev, &adapter->napi);
 	return IRQ_HANDLED;
 }
 

For example, my copy of ixgbe_msix_clean_rx(), from
git://lost.foo-projects.org/~aveerani/git/linux-2.6#ixgbe is:

Quoted 3 lines

please drop that tree, and get the one I posted last week instead:

git://lost.foo-projects.org/~ahkok/linux-2.6 ixgbe-20070905-submission

I think I just ignored that branch. It looks like some frozen-week-old snapshot, whereas I like to get the latest tip-of-tree.

Or is that branch just misnamed?

author
#4 lore raw
Quoted 23 lines · Andrew Morton
Quoted 20 lines · Auke
Quoted 19 lines · Andrew Morton
Quoted 1 line · On Wed, 12 Sep 2007 11:13:07 -0700 Auke Kok <[email protected]> wrote:

This incorporates the new napi_struct changes into ixgbe.

I get a reject storm.

drivers/net/ixgbe/ixgbe_main.c static irqreturn_t ixgbe_msix_clean_rx(int irq, void *data) · line 563

Quoted 11 lines
drivers/net/ixgbe/ixgbe_main.c +1 -1
@@ -557,14 +557,15 @@ static irqreturn_t ixgbe_msix_clean_rx(int irq, void *data)
 	struct ixgbe_adapter *adapter = rxr->adapter;
 
 	IXGBE_WRITE_REG(&adapter->hw, IXGBE_EIMC, rxr->eims_value);
-	netif_rx_schedule(adapter->netdev);
+	netif_rx_schedule(adapter->netdev, &adapter->napi);
 	return IRQ_HANDLED;
 }
 

For example, my copy of ixgbe_msix_clean_rx(), from
git://lost.foo-projects.org/~aveerani/git/linux-2.6#ixgbe is:

Quoted 6 lines
Quoted 3 lines

please drop that tree, and get the one I posted last week instead:

git://lost.foo-projects.org/~ahkok/linux-2.6 ixgbe-20070905-submission

I think I just ignored that branch. It looks like some frozen-week-old snapshot, whereas I like to get the latest tip-of-tree.

I usually don't update the branches on that machine all that often, the machine is horribly slow and a git-checkout of a new branch takes 5 minutes. However, it *is* the very latest version of ixgbe and the one I intend to get Jeff to merge ;).

If you want to automatically pull all the changes I make for all the drivers, I would probably prefer going to a git.kernel.org tree instead, which is something I have been contemplating already, and I might just do so

in any case, you do want to drop the ~aveerani/git/linux-2.6#ixgbe branch, which is quite a bit older than that.

Auke