I've been seeing some rather disappointing numbers for network performance using a 400 MHz gumstix with the NetDUO attachment (both with and without the MMC socket).  The ethernet chip appears to be an SMSC LAN91C111, and the kernel is using the smc91x, mii, and gumstix_smc91x modules.

I compiled both netperf (http://www.netperf.org/netperf/NetperfPage.html) and iperf (http://dast.nlanr.net/projects/iperf/) and ran some tests connecting eth0 on the gumstix directly to my laptop, so no switches or hubs are involved.  The laptop also has a 100Mbit interface.

IPerf:
Read from laptop:  6.2 Mbits/sec
Write to laptop:     5.6 Mbits/sec

Netperf:
Read from laptop: 6.4 MBits/sec
Write to laptop:    5.9 MBits/sec
Read/write over loopback interface:  35 Mbits/ec

I read on this list that older kernels had better performance, so (with some difficulty) I got 2.6.11 installed and ran the netperf tests again:

Netperf:
Read from laptop: 42.9 MBits/sec
Write to laptop:    41.1 MBits/sec
Read/write over loopback interface:  100.1 MBits/sec

To make sure the laptop wasn't part of the problem, I ran the same tests against another x86-based machine and got results of 95-98 Mbits/sec for both reads and writes.  So I'm pretty sure it's the gumstix having problems.

One last thing: netperf also reports CPU usage, and in every test the gumstix CPU is at 99.9%.  I assumed it was changes to the ethernet driver , but throughput over the loopback interface is also one-third what it used to be.

Has anyone else seen this behavior?  Are there any patches for the kernel to address the problem?


Do you Yahoo!?
Get on board. You're invited to try the new Yahoo! Mail.