Ok found it.  It looks like the SLOB allocator was reducing network throughput by about a factor of 3x relative to the SLAB allocator.  I just committed r1143 which reverts to the SLAB allocator instead.  netperf testing shows we're back up to expected speed now.  Actually, performance on HEAD of trunk seems to be somewhat better than it used to be in 2.6.11 days for TCP stream tests.

C

On Oct 26, 2006, at 6:03 PM, Craig Hughes wrote:

Ok, I've been digging into this some.  It looks like trunk revision 1003 (last 2.6.15 kernel) had good performance.  trunk revision 1004 (first 2.6.15 kernel) is slow.  Unfortunately, 1004 adds a bunch of updates -- linux, uclibc, compiler...  and not just the code changed, but a lot of build options did too.  So I'll dig into that next to see if I can figure it out...

C

On Oct 12, 2006, at 9:12 AM, C H wrote:

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.
-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
gumstix-users mailing list

-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
gumstix-users mailing list