Latest working kernel version: 2.6.15.6 (AFAIK) Earliest failing kernel version: 2.6.26.2 (AFAIK) Distribution: Debian Etch, custom kernels Hardware Environment: AMD Athlon Thunderbird, VIA 82C686 chipset, Realtek 8169 gigabit ethernet (NetGear GA311) Problem Description: I just upgraded to 2.6.26.2 from 2.6.15.6 and my Realtek 8169 gigabit card will not automatically enter 1000BaseT mode. If it makes any difference, I made a couple changes to the config between these two but the only major changes I remember making were changing from the old to new MegaRAID driver and enabling a tickless system. lspci -v: 00:11.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8169 Gigabit Ethernet (rev 10) Subsystem: Netgear Unknown device 311a Flags: bus master, 66MHz, medium devsel, latency 64, IRQ 11 I/O ports at e800 [size=256] Memory at f7017000 (32-bit, non-prefetchable) [size=256] [virtual] Expansion ROM at 30000000 [disabled] [size=128K] Capabilities: [dc] Power Management version 2 dmesg: r8169 Gigabit Ethernet driver 2.2LK-NAPI loaded ACPI: PCI Interrupt 0000:00:11.0[A] -> Link [LNKA] -> GSI 11 (level, low) -> IRQ 11 eth0: RTL8110s at 0xe080a000, 00:1e:2a:49:66:a1, XID 04000000 IRQ 11 [...] r8169: eth0: link up eth0: no IPv6 routers present mii-tool -vv eth0: Using SIOCGMIIPHY=0x8947 eth0: negotiated 100baseTx-FD flow-control, link ok registers for MII PHY 32: 1000 796d 001c c910 0de1 cde1 000d 2001 4035 0300 7800 1000 1007 f880 0000 3000 0060 ac80 0000 6c40 0060 0000 f284 0108 2740 2222 0000 01fd 0990 0000 0000 9860 product info: vendor 00:07:32, model 17 rev 0 basic mode: autonegotiation enabled basic status: autonegotiation complete, link ok capabilities: 100baseTx-FD 100baseTx-HD 10baseT-FD 10baseT-HD advertising: 100baseTx-FD 100baseTx-HD 10baseT-FD 10baseT-HD flow-control link partner: 100baseTx-FD 100baseTx-HD 10baseT-FD 10baseT-HD flow-control If I run "ethtool -s eth0 speed 1000" the link stays at 100BaseTx-FD. Now, here's the output under 2.6.15.6: dmesg: r8169 Gigabit Ethernet driver 2.2LK-NAPI loaded ACPI: PCI Interrupt Link [LNKA] enabled at IRQ 11 PCI: setting IRQ 11 as level-triggered ACPI: PCI Interrupt 0000:00:11.0[A] -> Link [LNKA] -> GSI 11 (level, low) -> IRQ 11 eth0: Identified chip type is 'RTL8169s/8110s'. eth0: RTL8169 at 0xe0808000, 00:1e:2a:49:66:a1, IRQ 11 [snip] r8169: eth0: link up eth0: no IPv6 routers present [For some reason mii-tool won't work under my 2.6.15.6 kernel...] ethtool eth0: Supported ports: [ TP ] Supported link modes: 10baseT/Half 10baseT/Full 100baseT/Half 100baseT/Full 1000baseT/Full Supports auto-negotiation: Yes Advertised link modes: 10baseT/Half 10baseT/Full 100baseT/Half 100baseT/Full 1000baseT/Full Advertised auto-negotiation: Yes Speed: 1000Mb/s Duplex: Full Port: Twisted Pair PHYAD: 0 Transceiver: internal Auto-negotiation: on Current message level: 0x00000033 (51) Link detected: yes I confirmed via file transfers that under 2.6.26 I'm definitely not getting anywhere near the network performance I had on 2.6.15. Let me know if there's anything else you would like me to provide.
One more thing I remembered: CONFIG_R8169_NAPI is set to Yes on both kernel builds.
What does ethtool say with 2.6.26.2 ? -- Ueimor
Settings for eth0: Supported ports: [ TP ] Supported link modes: 10baseT/Half 10baseT/Full 100baseT/Half 100baseT/Full 1000baseT/Full Supports auto-negotiation: Yes Advertised link modes: 10baseT/Half 10baseT/Full 100baseT/Half 100baseT/Full 1000baseT/Full Advertised auto-negotiation: Yes Speed: 1000Mb/s Duplex: Full Port: Twisted Pair PHYAD: 0 Transceiver: internal Auto-negotiation: on Supports Wake-on: pumbg Wake-on: g Current message level: 0x00000033 (51) Link detected: yes Despite saying it's at 1000BaseT, transferring the same file via rcp takes 50-60 secs (~33Mbps), while under 2.6.15.6 it takes 5-6 (250-300 Mbps). It's possible it's not the NIC, but the only other thing I can think of that could affect performance like that is the MegaRAID driver.
Aha! The problem is with disk throughput after all. Sorry about the false alarm! 2.6.26.2 (megaraid_mbox, writing to XFS filesystem on LVM on a MegaRAID logical volume): dd if=/dev/zero of=testfile bs=1024 count=100000 100000+0 records in 100000+0 records out 102400000 bytes (102 MB) copied, 12.8823 seconds, 7.9 MB/s [Here's one that was run on a MegaRAID logical volume without LVM on it, EXT3 filesystem): 100000+0 records in 100000+0 records out 102400000 bytes (102 MB) copied, 23.7969 seconds, 4.3 MB/s 2.6.15.6 (legacy megaraid module, same XFS filesystem as first test): dd if=/dev/zero of=testfile bs=1024 count=100000 100000+0 records in 100000+0 records out 102400000 bytes (102 MB) copied, 0.724297 seconds, 141 MB/s I have a Dell CERC ATA/100 4-Ch RAID card, firmware 6.62. Three 40 GB disks in a RAID-5 array split into three logical volumes, with LVM running on top of the third volume. 00:09.0 RAID bus controller: American Megatrends Inc. MegaRAID (rev 02) Subsystem: Dell PowerEdge Cost Effective RAID Controller ATA100/4Ch Flags: bus master, medium devsel, latency 32, IRQ 15 Memory at f7000000 (32-bit, prefetchable) [size=64K] [virtual] Expansion ROM at 30020000 [disabled] [size=32K] Capabilities: [80] Power Management version 2 dmesg from 2.6.26.2: megaraid cmm: 2.20.2.7 (Release Date: Sun Jul 16 00:01:03 EST 2006) megaraid: 2.20.5.1 (Release Date: Thu Nov 16 15:32:35 EST 2006) megaraid: probe new device 0x101e:0x1960:0x1028:0x0511: bus 0:slot 9:func 0 ACPI: PCI Interrupt Link [LNKC] enabled at IRQ 15 PCI: setting IRQ 15 as level-triggered ACPI: PCI Interrupt 0000:00:09.0[A] -> Link [LNKC] -> GSI 15 (level, low) -> IRQ 15 megaraid: fw version:[6.62] bios version:[1.03] scsi0 : LSI Logic MegaRAID driver scsi[0]: scanning scsi channel 0 [Phy 0] for non-raid devices Driver 'sd' needs updating - please use bus_type methods scsi[0]: scanning scsi channel 1 [Phy 1] for non-raid devices scsi[0]: scanning scsi channel 2 [Phy 2] for non-raid devices scsi[0]: scanning scsi channel 3 [Phy 3] for non-raid devices scsi[0]: scanning scsi channel 4 [virtual] for logical drives scsi 0:4:0:0: Direct-Access MegaRAID LD 0 RAID5 384M 6.62 PQ: 0 ANSI: 2 scsi 0:4:1:0: Direct-Access MegaRAID LD 1 RAID5 256M 6.62 PQ: 0 ANSI: 2 scsi 0:4:2:0: Direct-Access MegaRAID LD 2 RAID5 75G 6.62 PQ: 0 ANSI: 2 sd 0:4:0:0: [sda] Unit Not Ready sd 0:4:0:0: [sda] Sense Key : 0xb [current] sd 0:4:0:0: [sda] ASC=0x0 ASCQ=0x0 sd 0:4:0:0: [sda] 786432 512-byte hardware sectors (403 MB) sd 0:4:0:0: [sda] Write Protect is off sd 0:4:0:0: [sda] Mode Sense: 00 00 00 00 sd 0:4:0:0: [sda] Asking for cache data failed sd 0:4:0:0: [sda] Assuming drive cache: write through sd 0:4:0:0: [sda] Unit Not Ready sd 0:4:0:0: [sda] Sense Key : 0xb [current] sd 0:4:0:0: [sda] ASC=0x0 ASCQ=0x0 sd 0:4:0:0: [sda] 786432 512-byte hardware sectors (403 MB) sd 0:4:0:0: [sda] Write Protect is off sd 0:4:0:0: [sda] Mode Sense: 00 00 00 00 sd 0:4:0:0: [sda] Asking for cache data failed sd 0:4:0:0: [sda] Assuming drive cache: write through sda: sda1 sd 0:4:0:0: [sda] Attached SCSI disk sd 0:4:1:0: [sdb] Unit Not Ready sd 0:4:1:0: [sdb] Sense Key : 0xb [current] sd 0:4:1:0: [sdb] ASC=0x0 ASCQ=0x0 sd 0:4:1:0: [sdb] 524288 512-byte hardware sectors (268 MB) sd 0:4:1:0: [sdb] Write Protect is off sd 0:4:1:0: [sdb] Mode Sense: 00 00 00 00 sd 0:4:1:0: [sdb] Asking for cache data failed sd 0:4:1:0: [sdb] Assuming drive cache: write through sd 0:4:1:0: [sdb] Unit Not Ready sd 0:4:1:0: [sdb] Sense Key : 0xb [current] sd 0:4:1:0: [sdb] ASC=0x0 ASCQ=0x0 sd 0:4:1:0: [sdb] 524288 512-byte hardware sectors (268 MB) sd 0:4:1:0: [sdb] Write Protect is off sd 0:4:1:0: [sdb] Mode Sense: 00 00 00 00 sd 0:4:1:0: [sdb] Asking for cache data failed sd 0:4:1:0: [sdb] Assuming drive cache: write through sdb: sdb1 sd 0:4:1:0: [sdb] Attached SCSI disk sd 0:4:2:0: [sdc] Unit Not Ready sd 0:4:2:0: [sdc] Sense Key : 0xb [current] sd 0:4:2:0: [sdc] ASC=0x0 ASCQ=0x0 sd 0:4:2:0: [sdc] 154902528 512-byte hardware sectors (79310 MB) sd 0:4:2:0: [sdc] Write Protect is off sd 0:4:2:0: [sdc] Mode Sense: 00 00 00 00 sd 0:4:2:0: [sdc] Asking for cache data failed sd 0:4:2:0: [sdc] Assuming drive cache: write through sd 0:4:2:0: [sdc] Unit Not Ready sd 0:4:2:0: [sdc] Sense Key : 0xb [current] sd 0:4:2:0: [sdc] ASC=0x0 ASCQ=0x0 sd 0:4:2:0: [sdc] 154902528 512-byte hardware sectors (79310 MB) sd 0:4:2:0: [sdc] Write Protect is off sd 0:4:2:0: [sdc] Mode Sense: 00 00 00 00 sd 0:4:2:0: [sdc] Asking for cache data failed sd 0:4:2:0: [sdc] Assuming drive cache: write through sdc: sdc1 sd 0:4:2:0: [sdc] Attached SCSI disk
I just tested kernel 2.6.18.8 with the megaraid_mbox module (including a patch to get my RAID card recognized) and I get very poor performance on it as well. As far as I can test it, the problem is the newer megaraid driver. Can I get this reassigned to the megaraid maintainer?
If this is still seen on modern kernels then please re-open/update