Skip to contentSkip to conversation

Sky2 driver in 2.6.22-rc5-git1-cfs-v17

BUG Ian Kumlien 2 participants 6 messages Jun 21, 2007 – Jun 24, 2007

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

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?
Comments? ideas?

Offload parameters for eth0:
rx-checksumming: on
tx-checksumming: on
scatter-gather: on
tcp segmentation offload: on
udp fragmentation offload: off

Signature · 1 line
Ian Kumlien <pomac (a) vapor ! com> -- http://pomac.netswarm.net
#1 lore raw

Redirected of LKML, netdev is the proper list.

Quoted 27 lines · On Thu, 21 Jun 2007 22:51:32 +0200 Ian Kumlien <[email protected]> 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

Quoted 8 lines

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

Quoted 2 lines

Comments? ideas?

which chip version. probably Yukon EC that seems to be the only one that does gigabit with Ram buffer.

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.

#2 lore raw
Quoted 1 line · Stephen Hemminger

Redirected of LKML, netdev is the proper list.

Thanks =)

Quoted 35 lines
Quoted 32 lines · On Thu, 21 Jun 2007 22:51:32 +0200 Ian Kumlien <[email protected]> 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

Quoted 4 lines
Quoted 3 lines

Else, they are all off by 41.

Is this a known bug?

no

Damn =P

Quoted 4 lines
Quoted 2 lines

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

Quoted 3 lines

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?

Signature · 1 line
Ian Kumlien <pomac () vapor ! com> -- http://pomac.netswarm.net
#3 lore raw
Quoted 52 lines · On Fri, 22 Jun 2007 04:45:25 +0200 Ian Kumlien <[email protected]> wrote:
Quoted 1 line · Stephen Hemminger

Redirected of LKML, netdev is the proper list.

Thanks =)

Quoted 35 lines
Quoted 32 lines · On Thu, 21 Jun 2007 22:51:32 +0200 Ian Kumlien <[email protected]> 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

Quoted 4 lines
Quoted 3 lines

Else, they are all off by 41.

Is this a known bug?

no

Damn =P

Quoted 4 lines
Quoted 2 lines

Comments? ideas?

which chip version. probably Yukon EC that seems to be the only one that does gigabit with Ram buffer.

Quoted 11 lines

sky2 0000:02:00.0: v1.14 addr 0xdbffc000 irq 18 Yukon-EC (0xb6) rev 2

Quoted 3 lines

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?

Signature · 1 line
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.

#4 lore raw
Quoted 61 lines · Stephen Hemminger
Quoted 58 lines · On Fri, 22 Jun 2007 04:45:25 +0200 Ian Kumlien <[email protected]> wrote:
Quoted 1 line · Stephen Hemminger

Redirected of LKML, netdev is the proper list.

Thanks =)

Quoted 35 lines
Quoted 32 lines · On Thu, 21 Jun 2007 22:51:32 +0200 Ian Kumlien <[email protected]> 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

Quoted 4 lines
Quoted 3 lines

Else, they are all off by 41.

Is this a known bug?

no

Damn =P

Quoted 4 lines
Quoted 2 lines

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

Quoted 3 lines

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.

Quoted 8 lines
Quoted 5 lines

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?

Signature · 1 line
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.

Signature · 1 line
Ian Kumlien <pomac () vapor ! com> -- http://pomac.netswarm.net
#5 lore raw
In reply to Stephen Hemminger
Quoted 61 lines · Stephen Hemminger
Quoted 58 lines · On Fri, 22 Jun 2007 04:45:25 +0200 Ian Kumlien <[email protected]> wrote:
Quoted 1 line · Stephen Hemminger

Redirected of LKML, netdev is the proper list.

Thanks =)

Quoted 35 lines
Quoted 32 lines · On Thu, 21 Jun 2007 22:51:32 +0200 Ian Kumlien <[email protected]> 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

Quoted 4 lines
Quoted 3 lines

Else, they are all off by 41.

Is this a known bug?

no

Damn =P

Quoted 4 lines
Quoted 2 lines

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

Quoted 3 lines

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.

Quoted 8 lines
Quoted 5 lines

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?

Signature · 1 line
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.

NETDEV WATCHDOG: eth0: transmit timed out
sky2 eth0: tx timeout
sky2 eth0: transmit ring 393 .. 352 report=393 done=393 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

So, back to 41 again.

10 ms does seem to help but not enough. Are there many known bugs with the -EC chipsets?

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