e1000 TX unit hang (redux)

2006-07-11 Thread shaw
Hello All,

I have an e1000 card periodically misbehaving with the message 'Detected Tx 
unit hang'.   I've noticed this problem come up on netdev a couple of times 
and found the link to the bug tracking page--
http://sourceforge.net/tracker/index.php?func=detailaid=1463045group_id=42302atid=447449

I've also seen the patch that I believe was placed in 2.6.16 and subsequently 
brought down to 2.4.2? that seems to address this problem by creating a 
tx_timeout_factor relative to the speed of the NIC.  However, there is no 
mention of this workaround/fix on the bug at the link above and I haven't 
found any discussion of it here on netdev.   Auke recommends turning off tso 
to see if that resolves the problem and this also seems to work, though I 
have as yet not been able to confirm this and would prefer a more performance 
friendly fix..if available ;)

Would one of you pplease give an update on the status of the bug? If a cause 
was ever found and if the tx_timeout_factor was intended as a fix or 
temporary workaround?   I feel like I must have missed something, because I 
never saw the tx_timeout_factor patch go through netdev at all..

Thanks again for your help,
Shaw
-
To unsubscribe from this list: send the line unsubscribe netdev in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: e1000 TX unit hang (redux)

2006-07-11 Thread Auke Kok

[EMAIL PROTECTED] wrote:
I have an e1000 card periodically misbehaving with the message 'Detected Tx 
unit hang'.   I've noticed this problem come up on netdev a couple of times 
and found the link to the bug tracking page--

http://sourceforge.net/tracker/index.php?func=detailaid=1463045group_id=42302atid=447449

I've also seen the patch that I believe was placed in 2.6.16 and subsequently 
brought down to 2.4.2?


that's not only impossible but also unlikely - we don't push changes to 2.4 
kernels anymore a lot, I think the last change is likely older than 2.4.28 or so.


 that seems to address this problem by creating a
tx_timeout_factor relative to the speed of the NIC.  However, there is no 
mention of this workaround/fix on the bug at the link above and I haven't 
found any discussion of it here on netdev. 


I wouldn't even know what patch you are talking about (?!)

Auke recommends turning off tso 
to see if that resolves the problem and this also seems to work, though I 
have as yet not been able to confirm this and would prefer a more performance 
friendly fix..if available ;)


Would one of you pplease give an update on the status of the bug? If a cause 
was ever found and if the tx_timeout_factor was intended as a fix or 
temporary workaround?   I feel like I must have missed something, because I 
never saw the tx_timeout_factor patch go through netdev at all..


One possible problem is a bad EEPROM bit, where the hardware might have been 
misconfigured. This only affects _some_ older e1000's. Any bugreport therefore 
should include the output of `ethtool -e ethX` (as well as the `lspci -vv` 
output of course. If you haven't already done so, please submit this to the 
bugtracker or to us by e-mail


Cheers,

Auke
-
To unsubscribe from this list: send the line unsubscribe netdev in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: e1000 TX unit hang (redux)

2006-07-11 Thread shawvrana
Hi Auke,

On Tuesday 11 July 2006 14:09, Auke Kok wrote:

   that seems to address this problem by creating a
 
  tx_timeout_factor relative to the speed of the NIC.  However, there is no
  mention of this workaround/fix on the bug at the link above and I haven't
  found any discussion of it here on netdev.

 I wouldn't even know what patch you are talking about (?!)

Ok, well, the patch is in 2.6.17.4 and looks to have been announced in the 
2.6.16-c2 changelog -- http://lwn.net/Articles/170529/ -- and written by Jeff 
Kirsher.  I haven't been able to find a link to the original patch submission 
anywhere.  The code looks something like this now: 

/* Detect a transmit hang in hardware, this serializes the
 * check with the clearing of time_stamp and movement of i */
adapter-detect_tx_hung = FALSE;
if (tx_ring-buffer_info[eop].dma 
time_after(jiffies, tx_ring-buffer_info[eop].time_stamp +
   (adapter-tx_timeout_factor * HZ))
 !(E1000_READ_REG(adapter-hw, STATUS) 
 E1000_STATUS_TXOFF)) {

..where the tx_timeout_factor has been added and is set in the watchdog code 
based on the link speed. 

 that's not only impossible but also unlikely - we don't push changes to 2.4 
 kernels anymore a lot, I think the last change is likely older than 2.4.28.

I'm sure you're right.  Jumped to conclusions on a patch I saw posted at 
redhat.. I'll be more careful next time :)

I'll also try to get some better debugging info from my side.

Thanks.
Shaw
-
To unsubscribe from this list: send the line unsubscribe netdev in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html