* [PATCH 1/4] e1000: disable TSO workaround on 82544
@ 2008-06-19 21:18 Andy Gospodarek
2008-06-25 8:50 ` Jeff Kirsher
2008-06-27 5:13 ` Jeff Garzik
0 siblings, 2 replies; 4+ messages in thread
From: Andy Gospodarek @ 2008-06-19 21:18 UTC (permalink / raw)
To: netdev; +Cc: jeffrey.t.kirsher, jesse.brandeburg
It appears that the 82544 does not need the TSO workaround needed on
other chips. This seems to resolve excessive messages that appear to be
Tx Unit Hangs when a system is under heavy stress.
Signed-off-by: Andy Gospodarek <andy@greyhouse.net>
---
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 59579b1..af6846d 100644
--- a/drivers/net/e1000/e1000_main.c
+++ b/drivers/net/e1000/e1000_main.c
@@ -3479,7 +3479,8 @@ e1000_xmit_frame(struct sk_buff *skb, struct net_device *netdev)
}
if (likely(tso)) {
- tx_ring->last_tx_tso = 1;
+ if (likely(adapter->hw.mac_type != e1000_82544))
+ tx_ring->last_tx_tso = 1;
tx_flags |= E1000_TX_FLAGS_TSO;
} else if (likely(e1000_tx_csum(adapter, tx_ring, skb)))
tx_flags |= E1000_TX_FLAGS_CSUM;
--
1.5.2.1
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH 1/4] e1000: disable TSO workaround on 82544
2008-06-19 21:18 [PATCH 1/4] e1000: disable TSO workaround on 82544 Andy Gospodarek
@ 2008-06-25 8:50 ` Jeff Kirsher
2008-06-27 5:13 ` Jeff Garzik
1 sibling, 0 replies; 4+ messages in thread
From: Jeff Kirsher @ 2008-06-25 8:50 UTC (permalink / raw)
To: Andy Gospodarek, Jeff Garzik; +Cc: netdev, jesse.brandeburg
On Thu, Jun 19, 2008 at 2:18 PM, Andy Gospodarek <andy@greyhouse.net> wrote:
>
> It appears that the 82544 does not need the TSO workaround needed on
> other chips. This seems to resolve excessive messages that appear to be
> Tx Unit Hangs when a system is under heavy stress.
>
> Signed-off-by: Andy Gospodarek <andy@greyhouse.net>
> ---
> 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 59579b1..af6846d 100644
> --- a/drivers/net/e1000/e1000_main.c
> +++ b/drivers/net/e1000/e1000_main.c
> @@ -3479,7 +3479,8 @@ e1000_xmit_frame(struct sk_buff *skb, struct net_device *netdev)
> }
>
> if (likely(tso)) {
> - tx_ring->last_tx_tso = 1;
> + if (likely(adapter->hw.mac_type != e1000_82544))
> + tx_ring->last_tx_tso = 1;
> tx_flags |= E1000_TX_FLAGS_TSO;
> } else if (likely(e1000_tx_csum(adapter, tx_ring, skb)))
> tx_flags |= E1000_TX_FLAGS_CSUM;
> --
> 1.5.2.1
>
ACK - patches 1-4
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
--
Cheers,
Jeff
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH 1/4] e1000: disable TSO workaround on 82544
2008-06-19 21:18 [PATCH 1/4] e1000: disable TSO workaround on 82544 Andy Gospodarek
2008-06-25 8:50 ` Jeff Kirsher
@ 2008-06-27 5:13 ` Jeff Garzik
2008-06-27 14:25 ` Andy Gospodarek
1 sibling, 1 reply; 4+ messages in thread
From: Jeff Garzik @ 2008-06-27 5:13 UTC (permalink / raw)
To: Andy Gospodarek; +Cc: netdev, jeffrey.t.kirsher, jesse.brandeburg
Andy Gospodarek wrote:
> It appears that the 82544 does not need the TSO workaround needed on
> other chips. This seems to resolve excessive messages that appear to be
> Tx Unit Hangs when a system is under heavy stress.
Do these excessive messages occur for all systems with the TSO
workaround? i.e. does this patch merely remove one chip from the list
of chips that receive excessive messages?
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH 1/4] e1000: disable TSO workaround on 82544
2008-06-27 5:13 ` Jeff Garzik
@ 2008-06-27 14:25 ` Andy Gospodarek
0 siblings, 0 replies; 4+ messages in thread
From: Andy Gospodarek @ 2008-06-27 14:25 UTC (permalink / raw)
To: Jeff Garzik; +Cc: Andy Gospodarek, netdev, jeffrey.t.kirsher, jesse.brandeburg
On Fri, Jun 27, 2008 at 01:13:27AM -0400, Jeff Garzik wrote:
> Andy Gospodarek wrote:
> >It appears that the 82544 does not need the TSO workaround needed on
> >other chips. This seems to resolve excessive messages that appear to be
> >Tx Unit Hangs when a system is under heavy stress.
>
> Do these excessive messages occur for all systems with the TSO
> workaround? i.e. does this patch merely remove one chip from the list
> of chips that receive excessive messages?
>
Jeff,
Sorry I was a bit terse with my original description. I re-read it and
realize it isn't that descriptive.
This patch was added a looong time ago to address an erratum with any
of this chips that support TSO:
commit fd803241744ad6e4262b6588c6af89e8fb794098
Author: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Date: Tue Dec 13 00:06:22 2005 -0500
e1000: Fixes for 8357x
- TSO workaround
- Fixes eeprom version reporting
- Fix loopback test
- Fix for WOL
The basic idea was that the TSO workaround (really a workaround for the
first non-TSO frame after a TSO frame) was needed on all hardware that
supported TSO (82544 was this first that did, I think).
I've gotten quite a few complaints with 82544 that messages like these
followed by watchdog timeout were frequent under certain loads:
e1000: eth0: e1000_clean_tx_irq: Detected Tx Unit Hang
Tx Queue <0>
TDH <67>
TDT <51>
next_to_use <51>
next_to_clean <65>
buffer_info[next_to_clean]
time_stamp <5809242>
next_to_watch <6b>
jiffies <5809b12>
next_to_watch.status <0>
Users seemed to quit having problems when TSO was disabled though. More
debugging and dumping of registers took place and Jesse B suggested we
try disabling the workaround added above for 84544 as it may not have
been needed for that controller.
That fix was tested by someone who was having watchdog timeouts like the
one above on a frequent basis ceased to have them with this patch. I've
seen plenty of reports of these timeouts on 82544 with most users
reporting that they just disabled TSO and would continue to run that way
rather than bother debugging the issue. Thankfully someone who wanted
to use this hardware and TSO was able to help resolve this.
If you want to read all the gory details you can check out:
https://bugzilla.redhat.com/show_bug.cgi?id=334411
-andy
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2008-06-27 14:26 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-06-19 21:18 [PATCH 1/4] e1000: disable TSO workaround on 82544 Andy Gospodarek
2008-06-25 8:50 ` Jeff Kirsher
2008-06-27 5:13 ` Jeff Garzik
2008-06-27 14:25 ` Andy Gospodarek
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).