* [PATCH 0/8] partial resend: e1000 fixes and updates
@ 2007-01-13 0:36 Kok, Auke
2007-01-13 0:37 ` [PATCH 1/8] e1000: simplify case handling gigabit at half duplex Kok, Auke
` (8 more replies)
0 siblings, 9 replies; 12+ messages in thread
From: Kok, Auke @ 2007-01-13 0:36 UTC (permalink / raw)
To: Garzik, Jeff
Cc: netdev, Brandeburg, Jesse, Kok, Auke, Kok, Auke, Ronciak, John
Hi,
This patch series contains exclusively fixes for e1000. Some of these patches were
already sent in december, but didn't make it into any usptream tree yet. Most
importantly, it addresses two issues in the recently merged msi interrupt
handler and dynamic itr code. A performance fix and some minor cleanups are also
added. This brings the driver up to version 7.3.20-k2.
The summary below lists all patches. Once that were previously acked are annotated
with (*)
These patches apply against netdev-2.6 #upstream-linus commit
77aab8bf22042d1658d4adbca8b71779e7f2d0ff. Please pull:
git pull git://lost.foo-projects.org/~ahkok/git/netdev-2.6 upstream-linus
to receive them.
Cheers,
Auke
---
Bruce Allan <bruce.w.allan@intel.com>:
e1000: clear ip csum info from context descriptor (*)
Jesse Brandeburg <jesse.brandeburg@intel.com>:
e1000: simplify case handling gigabit at half duplex (*)
e1000: Fix MSI only interrupt handler routine
e1000: fix NAPI performance on 4-port adapters (*)
e1000: tune our dynamic itr transmit packet accounting
Auke Kok <auke-jan.h.kok@intel.com>:
e1000: clean up debug output defines
e1000: display flow control of link status at link up (*)
e1000: update version to 7.3.20-k2
---
drivers/net/e1000/e1000.h | 1
drivers/net/e1000/e1000_main.c | 102 ++++++++++++++++++----------------------
drivers/net/e1000/e1000_osdep.h | 4 -
drivers/net/e1000/e1000_param.c | 15 +----
4 files changed, 51 insertions(+), 71 deletions(-)
---
Auke Kok <auke-jan.h.kok@intel.com>
^ permalink raw reply [flat|nested] 12+ messages in thread
* [PATCH 1/8] e1000: simplify case handling gigabit at half duplex
2007-01-13 0:36 [PATCH 0/8] partial resend: e1000 fixes and updates Kok, Auke
@ 2007-01-13 0:37 ` Kok, Auke
2007-01-13 0:37 ` [PATCH 2/8] e1000: clean up debug output defines Kok, Auke
` (7 subsequent siblings)
8 siblings, 0 replies; 12+ messages in thread
From: Kok, Auke @ 2007-01-13 0:37 UTC (permalink / raw)
To: Garzik, Jeff
Cc: netdev, Brandeburg, Jesse, Kok, Auke, Kok, Auke, Ronciak, John
Remvoe duplicate code handling erraneous user supplied wrong case
of gigabit speed with half duplex.
Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com>
---
drivers/net/e1000/e1000_param.c | 15 +++------------
1 files changed, 3 insertions(+), 12 deletions(-)
diff --git a/drivers/net/e1000/e1000_param.c b/drivers/net/e1000/e1000_param.c
index cf2a279..f8862e2 100644
--- a/drivers/net/e1000/e1000_param.c
+++ b/drivers/net/e1000/e1000_param.c
@@ -760,22 +760,13 @@ e1000_check_copper_options(struct e1000_adapter *adapter)
case SPEED_1000:
DPRINTK(PROBE, INFO, "1000 Mbps Speed specified without "
"Duplex\n");
- DPRINTK(PROBE, INFO,
- "Using Autonegotiation at 1000 Mbps "
- "Full Duplex only\n");
- adapter->hw.autoneg = adapter->fc_autoneg = 1;
- adapter->hw.autoneg_advertised = ADVERTISE_1000_FULL;
- break;
+ goto full_duplex_only;
case SPEED_1000 + HALF_DUPLEX:
DPRINTK(PROBE, INFO,
"Half Duplex is not supported at 1000 Mbps\n");
- DPRINTK(PROBE, INFO,
- "Using Autonegotiation at 1000 Mbps "
- "Full Duplex only\n");
- adapter->hw.autoneg = adapter->fc_autoneg = 1;
- adapter->hw.autoneg_advertised = ADVERTISE_1000_FULL;
- break;
+ /* fall through */
case SPEED_1000 + FULL_DUPLEX:
+full_duplex_only:
DPRINTK(PROBE, INFO,
"Using Autonegotiation at 1000 Mbps Full Duplex only\n");
adapter->hw.autoneg = adapter->fc_autoneg = 1;
---
Auke Kok <auke-jan.h.kok@intel.com>
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [PATCH 2/8] e1000: clean up debug output defines
2007-01-13 0:36 [PATCH 0/8] partial resend: e1000 fixes and updates Kok, Auke
2007-01-13 0:37 ` [PATCH 1/8] e1000: simplify case handling gigabit at half duplex Kok, Auke
@ 2007-01-13 0:37 ` Kok, Auke
2007-01-13 0:37 ` [PATCH 3/8] e1000: Fix MSI only interrupt handler routine Kok, Auke
` (6 subsequent siblings)
8 siblings, 0 replies; 12+ messages in thread
From: Kok, Auke @ 2007-01-13 0:37 UTC (permalink / raw)
To: Garzik, Jeff
Cc: netdev, Brandeburg, Jesse, Kok, Auke, Kok, Auke, Ronciak, John
Remove unused MSGOUT macro and add "\n" to function debug output.
Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com>
---
drivers/net/e1000/e1000_osdep.h | 4 +---
1 files changed, 1 insertions(+), 3 deletions(-)
diff --git a/drivers/net/e1000/e1000_osdep.h b/drivers/net/e1000/e1000_osdep.h
index 18afc0c..10af742 100644
--- a/drivers/net/e1000/e1000_osdep.h
+++ b/drivers/net/e1000/e1000_osdep.h
@@ -48,8 +48,6 @@ typedef enum {
TRUE = 1
} boolean_t;
-#define MSGOUT(S, A, B) printk(KERN_DEBUG S "\n", A, B)
-
#ifdef DBG
#define DEBUGOUT(S) printk(KERN_DEBUG S "\n")
#define DEBUGOUT1(S, A...) printk(KERN_DEBUG S "\n", A)
@@ -58,7 +56,7 @@ typedef enum {
#define DEBUGOUT1(S, A...)
#endif
-#define DEBUGFUNC(F) DEBUGOUT(F)
+#define DEBUGFUNC(F) DEBUGOUT(F "\n")
#define DEBUGOUT2 DEBUGOUT1
#define DEBUGOUT3 DEBUGOUT2
#define DEBUGOUT7 DEBUGOUT3
---
Auke Kok <auke-jan.h.kok@intel.com>
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [PATCH 3/8] e1000: Fix MSI only interrupt handler routine
2007-01-13 0:36 [PATCH 0/8] partial resend: e1000 fixes and updates Kok, Auke
2007-01-13 0:37 ` [PATCH 1/8] e1000: simplify case handling gigabit at half duplex Kok, Auke
2007-01-13 0:37 ` [PATCH 2/8] e1000: clean up debug output defines Kok, Auke
@ 2007-01-13 0:37 ` Kok, Auke
2007-01-13 0:37 ` [PATCH 4/8] e1000: fix NAPI performance on 4-port adapters Kok, Auke
` (5 subsequent siblings)
8 siblings, 0 replies; 12+ messages in thread
From: Kok, Auke @ 2007-01-13 0:37 UTC (permalink / raw)
To: Garzik, Jeff
Cc: netdev, Brandeburg, Jesse, Kok, Auke, Kok, Auke, Ronciak, John
Unfortunately the read-free MSI interrupt handler needs to flush write
the icr register and thus we can't be read-free. Our MSI irq routine
thus becomes a lot more simpler since we don't need to track link state
anymore.
Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com>
---
drivers/net/e1000/e1000.h | 1 -
drivers/net/e1000/e1000_main.c | 60 +++++++++++++---------------------------
2 files changed, 19 insertions(+), 42 deletions(-)
diff --git a/drivers/net/e1000/e1000.h b/drivers/net/e1000/e1000.h
index f091042..8e7acb0 100644
--- a/drivers/net/e1000/e1000.h
+++ b/drivers/net/e1000/e1000.h
@@ -257,7 +257,6 @@ struct e1000_adapter {
spinlock_t tx_queue_lock;
#endif
atomic_t irq_sem;
- unsigned int detect_link;
unsigned int total_tx_bytes;
unsigned int total_tx_packets;
unsigned int total_rx_bytes;
diff --git a/drivers/net/e1000/e1000_main.c b/drivers/net/e1000/e1000_main.c
index c6259c7..d408949 100644
--- a/drivers/net/e1000/e1000_main.c
+++ b/drivers/net/e1000/e1000_main.c
@@ -3765,8 +3765,8 @@ e1000_update_stats(struct e1000_adapter *adapter)
* @data: pointer to a network interface device structure
**/
-static
-irqreturn_t e1000_intr_msi(int irq, void *data)
+static irqreturn_t
+e1000_intr_msi(int irq, void *data)
{
struct net_device *netdev = data;
struct e1000_adapter *adapter = netdev_priv(netdev);
@@ -3774,49 +3774,27 @@ irqreturn_t e1000_intr_msi(int irq, void *data)
#ifndef CONFIG_E1000_NAPI
int i;
#endif
+ uint32_t icr = E1000_READ_REG(hw, ICR);
- /* this code avoids the read of ICR but has to get 1000 interrupts
- * at every link change event before it will notice the change */
- if (++adapter->detect_link >= 1000) {
- uint32_t icr = E1000_READ_REG(hw, ICR);
#ifdef CONFIG_E1000_NAPI
- /* read ICR disables interrupts using IAM, so keep up with our
- * enable/disable accounting */
- atomic_inc(&adapter->irq_sem);
+ /* read ICR disables interrupts using IAM, so keep up with our
+ * enable/disable accounting */
+ atomic_inc(&adapter->irq_sem);
#endif
- adapter->detect_link = 0;
- if ((icr & (E1000_ICR_RXSEQ | E1000_ICR_LSC)) &&
- (icr & E1000_ICR_INT_ASSERTED)) {
- hw->get_link_status = 1;
- /* 80003ES2LAN workaround--
- * For packet buffer work-around on link down event;
- * disable receives here in the ISR and
- * reset adapter in watchdog
- */
- if (netif_carrier_ok(netdev) &&
- (adapter->hw.mac_type == e1000_80003es2lan)) {
- /* disable receives */
- uint32_t rctl = E1000_READ_REG(hw, RCTL);
- E1000_WRITE_REG(hw, RCTL, rctl & ~E1000_RCTL_EN);
- }
- /* guard against interrupt when we're going down */
- if (!test_bit(__E1000_DOWN, &adapter->flags))
- mod_timer(&adapter->watchdog_timer,
- jiffies + 1);
+ if (icr & (E1000_ICR_RXSEQ | E1000_ICR_LSC)) {
+ hw->get_link_status = 1;
+ /* 80003ES2LAN workaround-- For packet buffer work-around on
+ * link down event; disable receives here in the ISR and reset
+ * adapter in watchdog */
+ if (netif_carrier_ok(netdev) &&
+ (adapter->hw.mac_type == e1000_80003es2lan)) {
+ /* disable receives */
+ uint32_t rctl = E1000_READ_REG(hw, RCTL);
+ E1000_WRITE_REG(hw, RCTL, rctl & ~E1000_RCTL_EN);
}
- } else {
- E1000_WRITE_REG(hw, ICR, (0xffffffff & ~(E1000_ICR_RXSEQ |
- E1000_ICR_LSC)));
- /* bummer we have to flush here, but things break otherwise as
- * some event appears to be lost or delayed and throughput
- * drops. In almost all tests this flush is un-necessary */
- E1000_WRITE_FLUSH(hw);
-#ifdef CONFIG_E1000_NAPI
- /* Interrupt Auto-Mask (IAM)...upon writing ICR, interrupts are
- * masked. No need for the IMC write, but it does mean we
- * should account for it ASAP. */
- atomic_inc(&adapter->irq_sem);
-#endif
+ /* guard against interrupt when we're going down */
+ if (!test_bit(__E1000_DOWN, &adapter->flags))
+ mod_timer(&adapter->watchdog_timer, jiffies + 1);
}
#ifdef CONFIG_E1000_NAPI
---
Auke Kok <auke-jan.h.kok@intel.com>
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [PATCH 4/8] e1000: fix NAPI performance on 4-port adapters
2007-01-13 0:36 [PATCH 0/8] partial resend: e1000 fixes and updates Kok, Auke
` (2 preceding siblings ...)
2007-01-13 0:37 ` [PATCH 3/8] e1000: Fix MSI only interrupt handler routine Kok, Auke
@ 2007-01-13 0:37 ` Kok, Auke
2007-01-13 0:37 ` [PATCH 5/8] e1000: display flow control of link status at link up Kok, Auke
` (4 subsequent siblings)
8 siblings, 0 replies; 12+ messages in thread
From: Kok, Auke @ 2007-01-13 0:37 UTC (permalink / raw)
To: Garzik, Jeff
Cc: netdev, Brandeburg, Jesse, Kok, Auke, Kok, Auke, Ronciak, John
This fix attempts to solve a customer (IBM) reported issue with NAPI
enabled e1000 having bad performance when transmitting simultaneously
on four ports. The issue comes down to an interaction between NAPI,
hardware interrupt balancing, and the driver rescheduling poll on
the same processor. Try to fix by allowing the driver to re-enable
interrupts sooner instead of polling one more time, when there was
recently all the work completed in cleanup.
Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com>
---
drivers/net/e1000/e1000_main.c | 13 ++++++++-----
1 files changed, 8 insertions(+), 5 deletions(-)
diff --git a/drivers/net/e1000/e1000_main.c b/drivers/net/e1000/e1000_main.c
index d408949..ab1b40f 100644
--- a/drivers/net/e1000/e1000_main.c
+++ b/drivers/net/e1000/e1000_main.c
@@ -3814,7 +3814,7 @@ e1000_intr_msi(int irq, void *data)
for (i = 0; i < E1000_MAX_INTR; i++)
if (unlikely(!adapter->clean_rx(adapter, adapter->rx_ring) &
- !e1000_clean_tx_irq(adapter, adapter->tx_ring)))
+ e1000_clean_tx_irq(adapter, adapter->tx_ring)))
break;
if (likely(adapter->itr_setting & 3))
@@ -3917,7 +3917,7 @@ e1000_intr(int irq, void *data)
for (i = 0; i < E1000_MAX_INTR; i++)
if (unlikely(!adapter->clean_rx(adapter, adapter->rx_ring) &
- !e1000_clean_tx_irq(adapter, adapter->tx_ring)))
+ e1000_clean_tx_irq(adapter, adapter->tx_ring)))
break;
if (likely(adapter->itr_setting & 3))
@@ -3967,7 +3967,7 @@ e1000_clean(struct net_device *poll_dev, int *budget)
poll_dev->quota -= work_done;
/* If no Tx and not enough Rx work done, exit the polling mode */
- if ((!tx_cleaned && (work_done == 0)) ||
+ if ((tx_cleaned && (work_done < work_to_do)) ||
!netif_running(poll_dev)) {
quit_polling:
if (likely(adapter->itr_setting & 3))
@@ -3997,7 +3997,7 @@ e1000_clean_tx_irq(struct e1000_adapter *adapter,
#ifdef CONFIG_E1000_NAPI
unsigned int count = 0;
#endif
- boolean_t cleaned = FALSE;
+ boolean_t cleaned = TRUE;
unsigned int total_tx_bytes=0, total_tx_packets=0;
i = tx_ring->next_to_clean;
@@ -4028,7 +4028,10 @@ e1000_clean_tx_irq(struct e1000_adapter *adapter,
#ifdef CONFIG_E1000_NAPI
#define E1000_TX_WEIGHT 64
/* weight of a sort for tx, to avoid endless transmit cleanup */
- if (count++ == E1000_TX_WEIGHT) break;
+ if (count++ == E1000_TX_WEIGHT) {
+ cleaned = FALSE;
+ break;
+ }
#endif
}
---
Auke Kok <auke-jan.h.kok@intel.com>
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [PATCH 5/8] e1000: display flow control of link status at link up
2007-01-13 0:36 [PATCH 0/8] partial resend: e1000 fixes and updates Kok, Auke
` (3 preceding siblings ...)
2007-01-13 0:37 ` [PATCH 4/8] e1000: fix NAPI performance on 4-port adapters Kok, Auke
@ 2007-01-13 0:37 ` Kok, Auke
2007-01-13 0:37 ` [PATCH 6/8] e1000: clear ip csum info from context descriptor Kok, Auke
` (3 subsequent siblings)
8 siblings, 0 replies; 12+ messages in thread
From: Kok, Auke @ 2007-01-13 0:37 UTC (permalink / raw)
To: Garzik, Jeff
Cc: netdev, Brandeburg, Jesse, Kok, Auke, Kok, Auke, Ronciak, John
Print RX/TX flow control setting at link up time to display the
actual link FC properties instead of the advertised values.
Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com>
---
drivers/net/e1000/e1000_main.c | 15 +++++++++++----
1 files changed, 11 insertions(+), 4 deletions(-)
diff --git a/drivers/net/e1000/e1000_main.c b/drivers/net/e1000/e1000_main.c
index ab1b40f..43dde27 100644
--- a/drivers/net/e1000/e1000_main.c
+++ b/drivers/net/e1000/e1000_main.c
@@ -2583,15 +2583,22 @@ e1000_watchdog(unsigned long data)
if (link) {
if (!netif_carrier_ok(netdev)) {
+ uint32_t ctrl;
boolean_t txb2b = 1;
e1000_get_speed_and_duplex(&adapter->hw,
&adapter->link_speed,
&adapter->link_duplex);
- DPRINTK(LINK, INFO, "NIC Link is Up %d Mbps %s\n",
- adapter->link_speed,
- adapter->link_duplex == FULL_DUPLEX ?
- "Full Duplex" : "Half Duplex");
+ ctrl = E1000_READ_REG(&adapter->hw, CTRL);
+ DPRINTK(LINK, INFO, "NIC Link is Up %d Mbps %s, "
+ "Flow Control: %s\n",
+ adapter->link_speed,
+ adapter->link_duplex == FULL_DUPLEX ?
+ "Full Duplex" : "Half Duplex",
+ ((ctrl & E1000_CTRL_TFCE) && (ctrl &
+ E1000_CTRL_RFCE)) ? "RX/TX" : ((ctrl &
+ E1000_CTRL_RFCE) ? "RX" : ((ctrl &
+ E1000_CTRL_TFCE) ? "TX" : "None" )));
/* tweak tx_queue_len according to speed/duplex
* and adjust the timeout factor */
---
Auke Kok <auke-jan.h.kok@intel.com>
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [PATCH 6/8] e1000: clear ip csum info from context descriptor
2007-01-13 0:36 [PATCH 0/8] partial resend: e1000 fixes and updates Kok, Auke
` (4 preceding siblings ...)
2007-01-13 0:37 ` [PATCH 5/8] e1000: display flow control of link status at link up Kok, Auke
@ 2007-01-13 0:37 ` Kok, Auke
2007-01-13 0:37 ` [PATCH 7/8] e1000: tune our dynamic itr transmit packet accounting Kok, Auke
` (2 subsequent siblings)
8 siblings, 0 replies; 12+ messages in thread
From: Kok, Auke @ 2007-01-13 0:37 UTC (permalink / raw)
To: Garzik, Jeff
Cc: netdev, Brandeburg, Jesse, Kok, Auke, Kok, Auke, Ronciak, John
Since the driver sets the IP checksum insertion bit (IXSM in Status
field) in transmit context descriptors, it should clear the IP checksum
bits of any garbage so as not to confuse the hardware.
Signed-off-by: Bruce Allan <bruce.w.allan@intel.com>
Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com>
---
drivers/net/e1000/e1000_main.c | 3 ++-
1 files changed, 2 insertions(+), 1 deletions(-)
diff --git a/drivers/net/e1000/e1000_main.c b/drivers/net/e1000/e1000_main.c
index 43dde27..8c6c74d 100644
--- a/drivers/net/e1000/e1000_main.c
+++ b/drivers/net/e1000/e1000_main.c
@@ -2975,8 +2975,9 @@ e1000_tx_csum(struct e1000_adapter *adapter, struct e1000_tx_ring *tx_ring,
buffer_info = &tx_ring->buffer_info[i];
context_desc = E1000_CONTEXT_DESC(*tx_ring, i);
+ context_desc->lower_setup.ip_config = 0;
context_desc->upper_setup.tcp_fields.tucss = css;
- context_desc->upper_setup.tcp_fields.tucso = css + skb->csum_offset;
+ context_desc->upper_setup.tcp_fields.tucso = css + skb->csum;
context_desc->upper_setup.tcp_fields.tucse = 0;
context_desc->tcp_seg_setup.data = 0;
context_desc->cmd_and_length = cpu_to_le32(E1000_TXD_CMD_DEXT);
---
Auke Kok <auke-jan.h.kok@intel.com>
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [PATCH 7/8] e1000: tune our dynamic itr transmit packet accounting
2007-01-13 0:36 [PATCH 0/8] partial resend: e1000 fixes and updates Kok, Auke
` (5 preceding siblings ...)
2007-01-13 0:37 ` [PATCH 6/8] e1000: clear ip csum info from context descriptor Kok, Auke
@ 2007-01-13 0:37 ` Kok, Auke
2007-01-13 0:37 ` [PATCH 8/8] e1000: update version to 7.3.20-k2 Kok, Auke
2007-01-18 16:56 ` [PATCH 0/8] partial resend: e1000 fixes and updates Jeff Garzik
8 siblings, 0 replies; 12+ messages in thread
From: Kok, Auke @ 2007-01-13 0:37 UTC (permalink / raw)
To: Garzik, Jeff
Cc: netdev, Brandeburg, Jesse, Kok, Auke, Kok, Auke, Ronciak, John
The driver was still mis-calculating the number of bytes sent during
transmit, now the driver computes what appears to be exactly 100%
correct byte counts (not including CRC) when figuring out how many
bytes and frames were sent during the current transmit packet.
---
drivers/net/e1000/e1000_main.c | 9 ++++++---
1 files changed, 6 insertions(+), 3 deletions(-)
diff --git a/drivers/net/e1000/e1000_main.c b/drivers/net/e1000/e1000_main.c
index 8c6c74d..ae76479 100644
--- a/drivers/net/e1000/e1000_main.c
+++ b/drivers/net/e1000/e1000_main.c
@@ -4020,10 +4020,13 @@ e1000_clean_tx_irq(struct e1000_adapter *adapter,
if (cleaned) {
struct sk_buff *skb = buffer_info->skb;
- unsigned int segs = skb_shinfo(skb)->gso_segs;
+ unsigned int segs, bytecount;
+ segs = skb_shinfo(skb)->gso_segs ?: 1;
+ /* multiply data chunks by size of headers */
+ bytecount = ((segs - 1) * skb_headlen(skb)) +
+ skb->len;
total_tx_packets += segs;
- total_tx_packets++;
- total_tx_bytes += skb->len;
+ total_tx_bytes += bytecount;
}
e1000_unmap_and_free_tx_resource(adapter, buffer_info);
tx_desc->upper.data = 0;
---
Auke Kok <auke-jan.h.kok@intel.com>
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [PATCH 8/8] e1000: update version to 7.3.20-k2
2007-01-13 0:36 [PATCH 0/8] partial resend: e1000 fixes and updates Kok, Auke
` (6 preceding siblings ...)
2007-01-13 0:37 ` [PATCH 7/8] e1000: tune our dynamic itr transmit packet accounting Kok, Auke
@ 2007-01-13 0:37 ` Kok, Auke
2007-01-18 16:56 ` [PATCH 0/8] partial resend: e1000 fixes and updates Jeff Garzik
8 siblings, 0 replies; 12+ messages in thread
From: Kok, Auke @ 2007-01-13 0:37 UTC (permalink / raw)
To: Garzik, Jeff
Cc: netdev, Brandeburg, Jesse, Kok, Auke, Kok, Auke, Ronciak, John
Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com>
---
drivers/net/e1000/e1000_main.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/drivers/net/e1000/e1000_main.c b/drivers/net/e1000/e1000_main.c
index ae76479..2035ca4 100644
--- a/drivers/net/e1000/e1000_main.c
+++ b/drivers/net/e1000/e1000_main.c
@@ -36,7 +36,7 @@ static char e1000_driver_string[] = "Intel(R) PRO/1000 Network Driver";
#else
#define DRIVERNAPI "-NAPI"
#endif
-#define DRV_VERSION "7.3.15-k2"DRIVERNAPI
+#define DRV_VERSION "7.3.20-k2"DRIVERNAPI
char e1000_driver_version[] = DRV_VERSION;
static char e1000_copyright[] = "Copyright (c) 1999-2006 Intel Corporation.";
---
Auke Kok <auke-jan.h.kok@intel.com>
^ permalink raw reply related [flat|nested] 12+ messages in thread
* Re: [PATCH 0/8] partial resend: e1000 fixes and updates
2007-01-13 0:36 [PATCH 0/8] partial resend: e1000 fixes and updates Kok, Auke
` (7 preceding siblings ...)
2007-01-13 0:37 ` [PATCH 8/8] e1000: update version to 7.3.20-k2 Kok, Auke
@ 2007-01-18 16:56 ` Jeff Garzik
2007-01-18 17:16 ` Auke Kok
8 siblings, 1 reply; 12+ messages in thread
From: Jeff Garzik @ 2007-01-18 16:56 UTC (permalink / raw)
To: Kok, Auke; +Cc: netdev, Brandeburg, Jesse, Kok, Auke, Ronciak, John
Kok, Auke wrote:
> Hi,
>
> This patch series contains exclusively fixes for e1000. Some of these patches were
> already sent in december, but didn't make it into any usptream tree yet. Most
> importantly, it addresses two issues in the recently merged msi interrupt
> handler and dynamic itr code. A performance fix and some minor cleanups are also
> added. This brings the driver up to version 7.3.20-k2.
>
> The summary below lists all patches. Once that were previously acked are annotated
> with (*)
>
> These patches apply against netdev-2.6 #upstream-linus commit
> 77aab8bf22042d1658d4adbca8b71779e7f2d0ff. Please pull:
>
> git pull git://lost.foo-projects.org/~ahkok/git/netdev-2.6 upstream-linus
Sigh. I /know/ I've told you this before, but let's review the branches
again. NEVER EVER use branch 'upstream-linus'. That is for Linus only.
There are three branches you should care about:
master Vanilla upstream Linus tree, as of my last pull
upstream-fixes netdev fixes being sent to Linus for -rc
upstream Everything else pending, but not yet merged
The decision tree is as follows:
* If there are no dependent e1000 changes, send patches against master
(or torvalds/linux-2.6.git, if you prefer)
* If there are dependent e1000 changes in #upstream-fixes, send patches
against #upstream-fixes
* If there are dependent e1000 changes in #upstream, send patches
against #upstream
In the current tree there are no e1000 changes, so please regenerate
your tree against vanilla linux-2.6.git and resubmit.
I ACK patches 1-8.
Jeff
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH 0/8] partial resend: e1000 fixes and updates
2007-01-18 16:56 ` [PATCH 0/8] partial resend: e1000 fixes and updates Jeff Garzik
@ 2007-01-18 17:16 ` Auke Kok
2007-01-23 21:31 ` Jeff Garzik
0 siblings, 1 reply; 12+ messages in thread
From: Auke Kok @ 2007-01-18 17:16 UTC (permalink / raw)
To: Jeff Garzik; +Cc: netdev, Brandeburg, Jesse, Kok, Auke, Ronciak, John
Jeff Garzik wrote:
> Kok, Auke wrote:
>> Hi,
>>
>> This patch series contains exclusively fixes for e1000. Some of these
>> patches were
>> already sent in december, but didn't make it into any usptream tree
>> yet. Most
>> importantly, it addresses two issues in the recently merged msi interrupt
>> handler and dynamic itr code. A performance fix and some minor
>> cleanups are also
>> added. This brings the driver up to version 7.3.20-k2.
>>
>> The summary below lists all patches. Once that were previously acked
>> are annotated
>> with (*)
>>
>> These patches apply against netdev-2.6 #upstream-linus commit
>> 77aab8bf22042d1658d4adbca8b71779e7f2d0ff. Please pull:
>>
>> git pull git://lost.foo-projects.org/~ahkok/git/netdev-2.6 upstream-linus
>
> Sigh. I /know/ I've told you this before, but let's review the branches
> again. NEVER EVER use branch 'upstream-linus'. That is for Linus only.
gah, sorry about that.
I've moved it all over to #master-e1000 which applies against
bf81b46482c0fa8ea638e409d39768ea92a6b0f0 ("Linux 2.6.20-rc4 --Linus Torvalds").
Please pull:
git pull git://lost.foo-projects.org/~ahkok/git/netdev-2.6 master-e1000
Thanks,
Auke
> * If there are no dependent e1000 changes, send patches against master
> (or torvalds/linux-2.6.git, if you prefer)
> * If there are dependent e1000 changes in #upstream-fixes, send patches
> against #upstream-fixes
> * If there are dependent e1000 changes in #upstream, send patches
> against #upstream
*writes cheatsheet*
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH 0/8] partial resend: e1000 fixes and updates
2007-01-18 17:16 ` Auke Kok
@ 2007-01-23 21:31 ` Jeff Garzik
0 siblings, 0 replies; 12+ messages in thread
From: Jeff Garzik @ 2007-01-23 21:31 UTC (permalink / raw)
To: Auke Kok; +Cc: netdev, Brandeburg, Jesse, Kok, Auke, Ronciak, John
Auke Kok wrote:
> Jeff Garzik wrote:
>> Kok, Auke wrote:
>>> Hi,
>>>
>>> This patch series contains exclusively fixes for e1000. Some of these
>>> patches were
>>> already sent in december, but didn't make it into any usptream tree
>>> yet. Most
>>> importantly, it addresses two issues in the recently merged msi
>>> interrupt
>>> handler and dynamic itr code. A performance fix and some minor
>>> cleanups are also
>>> added. This brings the driver up to version 7.3.20-k2.
>>>
>>> The summary below lists all patches. Once that were previously acked
>>> are annotated
>>> with (*)
>>>
>>> These patches apply against netdev-2.6 #upstream-linus commit
>>> 77aab8bf22042d1658d4adbca8b71779e7f2d0ff. Please pull:
>>>
>>> git pull git://lost.foo-projects.org/~ahkok/git/netdev-2.6
>>> upstream-linus
>>
>> Sigh. I /know/ I've told you this before, but let's review the
>> branches again. NEVER EVER use branch 'upstream-linus'. That is for
>> Linus only.
>
> gah, sorry about that.
>
> I've moved it all over to #master-e1000 which applies against
> bf81b46482c0fa8ea638e409d39768ea92a6b0f0 ("Linux 2.6.20-rc4 --Linus
> Torvalds").
>
> Please pull:
>
> git pull git://lost.foo-projects.org/~ahkok/git/netdev-2.6 master-e1000
Strike my last email.
Pulled into #upstream.
Jeff
^ permalink raw reply [flat|nested] 12+ messages in thread
end of thread, other threads:[~2007-01-23 21:31 UTC | newest]
Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-01-13 0:36 [PATCH 0/8] partial resend: e1000 fixes and updates Kok, Auke
2007-01-13 0:37 ` [PATCH 1/8] e1000: simplify case handling gigabit at half duplex Kok, Auke
2007-01-13 0:37 ` [PATCH 2/8] e1000: clean up debug output defines Kok, Auke
2007-01-13 0:37 ` [PATCH 3/8] e1000: Fix MSI only interrupt handler routine Kok, Auke
2007-01-13 0:37 ` [PATCH 4/8] e1000: fix NAPI performance on 4-port adapters Kok, Auke
2007-01-13 0:37 ` [PATCH 5/8] e1000: display flow control of link status at link up Kok, Auke
2007-01-13 0:37 ` [PATCH 6/8] e1000: clear ip csum info from context descriptor Kok, Auke
2007-01-13 0:37 ` [PATCH 7/8] e1000: tune our dynamic itr transmit packet accounting Kok, Auke
2007-01-13 0:37 ` [PATCH 8/8] e1000: update version to 7.3.20-k2 Kok, Auke
2007-01-18 16:56 ` [PATCH 0/8] partial resend: e1000 fixes and updates Jeff Garzik
2007-01-18 17:16 ` Auke Kok
2007-01-23 21:31 ` Jeff Garzik
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).