O2Micro: performance degradation on recent kernels

Joerg Platte jplatte at naasa.net
Sat Apr 21 12:25:54 EDT 2007


Hi,

Somewhere between 2.6.11 and 2.6.21-rc7 read prefetch and write bursts have 
been disabled for O2Micro CardBus bridges (see drivers/pcmcia/o2micro.h). 
This results in a much lower network card performance (500-700 kB now and 
approximately 4 MB with 2.6.11). According to the comments in o2micro.h there 
might be problems with older chips, but my old notebook does not seem to be 
affected. After patching 2.6.21-rc7 to re-enable prefetching and bursts I'm 
able to get the expected network performance like for 2.6.11. Is there any 
chance that bursts and prefetches can be turned on using a module option? 

lspci:
00:00.0 Host bridge: ALi Corporation M1621 (rev 05)
        Flags: bus master, slow devsel, latency 0
        Memory at e0000000 (32-bit, prefetchable) [size=64M]
        Capabilities: [b0] AGP version 1.0

00:01.0 PCI bridge: ALi Corporation PCI to AGP Controller (rev 01) (prog-if 00 
[Normal decode])
        Flags: bus master, fast devsel, latency 0
        Bus: primary=00, secondary=01, subordinate=01, sec-latency=0
        Memory behind bridge: 80500000-80cfffff
        Prefetchable memory behind bridge: 80d00000-820fffff

00:06.0 Communication controller: Agere Systems WinModem 56k (rev 01)
        Subsystem: AMBIT Microsystem Corp. Lucent Win Modem
        Flags: bus master, medium devsel, latency 0, IRQ 9
        Memory at 80100000 (32-bit, non-prefetchable) [size=256]
        I/O ports at 7090 [size=8]
        I/O ports at 7400 [size=256]
        Capabilities: [f8] Power Management version 2

00:07.0 ISA bridge: ALi Corporation M1533/M1535 PCI to ISA Bridge [Aladdin 
IV/V/V+] (rev 0a)
        Subsystem: Acer Incorporated [ALI] Unknown device 1002
        Flags: bus master, medium devsel, latency 0

00:08.0 Multimedia audio controller: ESS Technology ES1969 Solo-1 Audiodrive 
(rev 02)
        Subsystem: Acer Incorporated [ALI] Unknown device 1002
        Flags: bus master, medium devsel, latency 32, IRQ 5
        I/O ports at 7800 [size=64]
        I/O ports at 7850 [size=16]
        I/O ports at 7870 [size=16]
        I/O ports at 7890 [size=4]
        I/O ports at 78a4 [size=4]
        Capabilities: [c0] Power Management version 1

00:0f.0 IDE interface: ALi Corporation M5229 IDE (rev 20) (prog-if 8a [Master 
SecP PriP])
        Flags: bus master, medium devsel, latency 32, IRQ 15
        [virtual] Memory at 000001f0 (32-bit, non-prefetchable) [disabled] 
[size=8]
        [virtual] Memory at 000003f0 (type 3, non-prefetchable) [disabled] 
[size=1]
        [virtual] Memory at 00000170 (32-bit, non-prefetchable) [disabled] 
[size=8]
        [virtual] Memory at 00000370 (type 3, non-prefetchable) [disabled] 
[size=1]
        I/O ports at 78c0 [size=16]

00:11.0 Bridge: ALi Corporation M7101 Power Management Controller [PMU] (rev 
09)
        Subsystem: Acer Incorporated [ALI] Unknown device 1002
        Flags: medium devsel

00:13.0 CardBus bridge: O2 Micro, Inc. OZ6832/6833 CardBus Controller (rev 34)
        Subsystem: Acer Incorporated [ALI] Unknown device 1002
        Flags: bus master, stepping, slow devsel, latency 168, IRQ 9
        Memory at 30000000 (32-bit, non-prefetchable) [size=4K]
        Bus: primary=00, secondary=02, subordinate=05, sec-latency=176
        Memory window 0: 20000000-23fff000 (prefetchable)
        Memory window 1: 24000000-27fff000
        I/O window 0: 00001400-000014ff
        I/O window 1: 00001800-000018ff
        16-bit legacy interface ports at 0001

00:13.1 CardBus bridge: O2 Micro, Inc. OZ6832/6833 CardBus Controller (rev 34)
        Subsystem: Acer Incorporated [ALI] Unknown device 1002
        Flags: bus master, stepping, slow devsel, latency 168, IRQ 9
        Memory at 30001000 (32-bit, non-prefetchable) [size=4K]
        Bus: primary=00, secondary=06, subordinate=09, sec-latency=176
        Memory window 0: 28000000-2bfff000 (prefetchable)
        Memory window 1: 2c000000-2ffff000
        I/O window 0: 00001c00-00001cff
        I/O window 1: 00002000-000020ff
        16-bit legacy interface ports at 0001

00:14.0 USB Controller: ALi Corporation USB 1.1 Controller (rev 03) (prog-if 
10 [OHCI])
        Flags: bus master, medium devsel, latency 32, IRQ 10
        Memory at 82100000 (32-bit, non-prefetchable) [size=4K]

01:00.0 VGA compatible controller: Neomagic Corporation NM2200 [MagicGraph 
256AV] (rev 20) (prog-if 00 [VGA])
        Subsystem: Acer Incorporated [ALI] Unknown device 1002
        Flags: bus master, medium devsel, latency 32, IRQ 9
        Memory at 81000000 (32-bit, prefetchable) [size=16M]
        Memory at 80800000 (32-bit, non-prefetchable) [size=4M]
        Memory at 80500000 (32-bit, non-prefetchable) [size=1M]
        Capabilities: [dc] Power Management version 1

06:00.0 Ethernet controller: 3Com Corporation 3cCFE575CT CardBus [Cyclone] 
(rev 10)
        Subsystem: 3Com Corporation FE575C-3Com 10/100 LAN CardBus-Fast 
Ethernet
        Flags: bus master, medium devsel, latency 64, IRQ 9
        I/O ports at 1c00 [size=256]
        Memory at 2c000000 (32-bit, non-prefetchable) [size=128]
        Memory at 2c000080 (32-bit, non-prefetchable) [size=128]
        [virtual] Expansion ROM at 28000000 [disabled] [size=128K]
        Capabilities: [50] Power Management version 2

regards,
Jörg

PS: Please CC, I'm not subscribed



More information about the linux-pcmcia mailing list