I've been doing a lot of benchmarking and tweaking to maximize incoming TCP
throughput.

 

On a 1GbS (GBE) connection with lwIP's TCP and my NO_SYS socket-like API
(uncomplicated wrapper on the raw API), my best numbers for receiving are
930-946MbS.

 

This was to test pure lwIP and the wire speed.  The sending system is a
WinXP PC.  Note that the theoretical maximum for GBE is around 980MbS.  I do
nothing with the incoming data (I do have an option to periodically check
the transfer since the data is known).  The biggest thing which
significantly increased the speed was to turn off incoming IP/UDP/TCP
checksum checking.  If I leave the checking on, I get around 650MbS with
jumbo frames.  This ~940MbS was standard frames.  Since the Ethernet
controller has CRC checks, I don't think the lwIP checking is required.  I
was going to pose to the group this week what is the downside of this
disabling of the checksumming, because the speed impact is substantial.

 

My system is a PowerPC (8239) at full speed (533Mhz).  For me, memory
bandwidth is the killer.  If I simply copy the incoming data to make it
contiguous, throughput drops to 550MbS.  What we wanted to know is what is
the maximum speed for WinXP to the PowerPC with lwIP.

 

Bill Auerbach

 

  _____  

From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf
Of Josh Rothstein
Sent: Friday, February 01, 2008 7:08 PM
To: 'Mailing list for lwIP users'
Cc: 'John Zigrang'
Subject: [lwip-users] Max throughput and LWIP

 

I know this is a common topic on the mailing list, but I wanted to hear
about people's results trying to maximize throughput with lwIP.

 

I am current running lwIP 1.2 on an Atmel AVR32 UC3 at 66MHz.  Using the
sequential API with the best lwiopt.h tweaks I can come up with, I am geting
about 350kbps (2.8Mbps). I am not sure how the processor would fair running
NO_SYS using the raw api, but at the moment that is not really an option.
Would that be considered good throughput or is there any simple tweaks to
reach anything closer to wire-speed (10Mbps or even better 100Mbps)?

 

I have read in the mailing list where people were getting approximately 8 -
12Mbps. I am unsure if that was with the standalone raw api, faster
processors, or my settings are just poor.

 

 

Any suggestions would be appreciated.

 

Best,

 

Josh Rothstein

Embedded Systems Engineer

DCX-CHOL Enterprises, Inc.

12831 South Figueroa Street

Los Angeles, CA 90061-1157

310.516.1692x134

 

_______________________________________________
lwip-users mailing list
[email protected]
http://lists.nongnu.org/mailman/listinfo/lwip-users

Reply via email to