Bug 11375 - MegaRAID performance issues on Dell CERC card (was: R8169 will not negotiate 1000BaseT)
Summary: MegaRAID performance issues on Dell CERC card (was: R8169 will not negotiate ...
Status: RESOLVED OBSOLETE
Alias: None
Product: SCSI Drivers
Classification: Unclassified
Component: Other (show other bugs)
Hardware: All Linux
: P1 normal
Assignee: scsi_drivers-other
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2008-08-19 19:18 UTC by Ben Roberts
Modified: 2012-10-30 15:03 UTC (History)
1 user (show)

See Also:
Kernel Version: 2.6.26.2
Subsystem:
Regression: Yes
Bisected commit-id:


Attachments

Description Ben Roberts 2008-08-19 19:18:26 UTC
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.
Comment 1 Ben Roberts 2008-08-19 19:23:13 UTC
One more thing I remembered: CONFIG_R8169_NAPI is set to Yes on both kernel builds.
Comment 2 Francois Romieu 2008-08-20 15:18:40 UTC
What does ethtool say with 2.6.26.2 ?

-- 
Ueimor
Comment 3 Ben Roberts 2008-08-21 05:23:08 UTC
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.
Comment 4 Ben Roberts 2008-08-21 05:44:00 UTC
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
Comment 5 Ben Roberts 2008-08-24 20:11:12 UTC
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?
Comment 6 Alan 2012-10-30 15:03:04 UTC
If this is still seen on modern kernels then please re-open/update

Note You need to log in before you can comment on or make changes to this bug.