Subject: Re: [BUG] Sky2 driver in 2.6.22-rc5-git1-cfs-v17

From: Ian Kumlien <[email-masked]>
Date: Fri, 22 Jun 2007 14:47:03 +0200

On tor, 2007-06-21 at 21:13 -0700, Stephen Hemminger wrote:
> On Fri, 22 Jun 2007 04:45:25 +0200
> Ian Kumlien <[email-masked]> wrote:
> 
> > On tor, 2007-06-21 at 18:57 -0700, Stephen Hemminger wrote:
> > > Redirected of LKML,  netdev is the proper list.
> > 
> > Thanks =)
> > 
> > > On Thu, 21 Jun 2007 22:51:32 +0200
> > > Ian Kumlien <[email-masked]> wrote:
> > > 
> > > > Hi, 
> > > > 
> > > > recently have started to see this in my dmesg:
> > > > 
> > > > NETDEV WATCHDOG: eth0: transmit timed out
> > > > sky2 eth0: tx timeout
> > > > sky2 eth0: transmit ring 449 .. 408 report=449 done=449
> > > > sky2 eth0: disabling interface
> > > > sky2 eth0: enabling interface
> > > > sky2 eth0: ram buffer 48K
> > > > sky2 eth0: Link is up at 1000 Mbps, full duplex, flow control rx
> > > > 
> > > > I'm not using MSI since it seems to have caused problems in the past.
> > > > 
> > > > I run with a 9k mtu
> > > > 
> > > > sky2 eth0: transmit ring 18 .. 489 report=18 done=18
> > > > ---- I assume ring max is 512 (ie 1-512) since:
> > > > 	Ring parameters for eth0:
> > > > 	Current hardware settings:
> > > > 	RX:             168
> > > > 	RX Mini:        0
> > > > 	RX Jumbo:       0
> > > > 	TX:             511
> > > > 	
> > > > 	And 489 + 41 - 18 = 512
> > > > 
> > > > sky2 eth0: transmit ring 197 .. 156 report=197 done=197
> > > > sky2 eth0: transmit ring 480 .. 439 report=480 done=480
> > > > sky2 eth0: transmit ring 413 .. 372 report=413 done=413
> > > > sky2 eth0: transmit ring 320 .. 279 report=320 done=320
> > > > 
> > > > Else, they are all off by 41.
> > > > 
> > > > Is this a known bug?
> > > no
> > 
> > Damn =P
> > 
> > > > Comments? ideas?
> > > >
> > > which chip version. probably Yukon EC that seems to be the only one
> > > that does gigabit with Ram buffer.
> > 
> > sky2 0000:02:00.0: v1.14 addr 0xdbffc000 irq 18 Yukon-EC (0xb6) rev 2
> > 
> > > Does it work alright if you set transmit ring size smaller with ethtool?
> > > There might be an off-by-one bug in the worst case calculations about
> > > list element usage.
> > 
> > I tried this... but not with a specific size, i think i did 480, and yes
> > it timed out... any ideas on a more educated value?
> > 
> > -- 
> > Ian Kumlien <pomac () vapor ! com> -- http://pomac.netswarm.net
> 
> Also try setting the idle_timeout module parameter to something link 10 (ms).
> It will fix problems with lost interrupts.

I have changed it now, and i'm leaving it running...

One interesting bit is that if i lowered from 511 to 510, The magic
number was 42 not 41.

-- 
Ian Kumlien <pomac () vapor ! com> -- http://pomac.netswarm.net