On Tue, 22 Aug 2006 00:04:07 +0200
Jon Wikne <[EMAIL PROTECTED]> wrote:

> Stephen Hemminger wrote:
> 
> > On Mon, 21 Aug 2006 16:21:07 +0200
> > Jon Wikne <[EMAIL PROTECTED]> wrote:
> > 
> >>Daniel Drake wrote:
> >>
> >>>Jon Wikne wrote:
> >>>
> >>>>What happens is typically this: After transeferring some
> >>>>data, ranging from less than 100kB to 10MB, the upload freezes,
> >>>>i.e. gets no further. Use of ping shows the connection is
> >>>>effectively dead. If I do a sequence /sbin/ifdown eth0
> >>>>/sbin/ifup eth0 the upload might resume, but stops again
> >>>>shortly. The phenomenon seems to occur sooner if the path
> >>>>to the remote system is _fast_ (low ping times).
> >>>
> >>>You can try applying this patch:
> >>>http://developer.osdl.org/shemminger/prototypes/sky2-proc-debug.patch
> >>>
> >>>It will add a /proc/net/sky2/ethX file, which lists the status of the TX 
> >>>and status rings. You should compare the contents of this file during 
> >>>normal operation to when the interface has hung.
> >>
> >>Thanks, Daniel. I applied the patch.
> >>
> >>The output of 'cat /proc/net/sky2/eth0' under normal circumstances
> >>is here:
> >>
> >>http://puma.uio.no/sky2/sky2-status-normal.txt
> >>
> >>After the interface hangs, 'cat /proc/net/sky2/eth0' causes the
> >>whole computer to hang completely. No kernel oops or other
> >>messages in the console window. Power down is the only
> >>solution.... :-[ No log entries after reboot.
> >>
> > It could be the code in the debug patch is walking off into space.
> > The smaller version of the same patch, doesn't walk but just reports
> > the index values.
> [ patch ]
> 
> OK, I applied that. Part of it (5 hunks) had to be done manually, since
> it appeared not to be relative to the version in 2.6.18-rc4 which I was
> using.
> 
> The result is:
> 
> Normal operation:
> Status ring (empty)
> Tx ring (empty)
> Rx pending hw get=60 put=256 last=511

The chip has prefetched some of the 254 frames we gave it.

> Error condition:
> Status ring (empty)
> Tx ring 338..378

40 packets waiting to send

> Rx pending hw get=316 put=0 last=511

So there are some frames waiting to be received as well.
Looks like a missed interrupt.  Is there anything surprising in the
ethtool stats?  (ethtool -S eth0)

In the past, when there were flow control hardware bugs
there would be suspicious statistics like "1 mac pause frame received".


> 
> 
> -- Jon
> -
> 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


-- 
Stephen Hemminger <[EMAIL PROTECTED]>

All non-trivial abstractions, to some degree, are leaky.
-
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

Reply via email to