How Fast is TCP/IP on SmartFusion2 under uClinux? Print

 

As a very rough estimate for the TCP performance of SmartFusion2 running uClinux, here is the output of the ftpget and the ftpput commands transferring a file between SmartFusion2 and a host in a local network:

~ # busybox time ftpget 172.17.0.251 test.dat pub/test.dat
real 0m  2.02s
user 0m  0.01s
sys  0m  1.99s
~ #
~ # busybox time ftpput 172.17.0.251 pub/test1.dat test.dat
real 0m  3.29s
user 0m  0.01s
sys  0m  3.25s
~ # ls -l test.dat
-rw-r--r-- 1 root root 9605408 Jan 1 00:00 test.dat
~ #

Processing the above results, we get the following TCP performance figures: 9605408/1.87 = 5137 KB/sec for ftpget and 9605408/2.84 = 3303 KB/sec for ftpput.

As an estimate of the UDP performance, here is the output of the cp command transferring the same file from an NFS-host to the SmartFusion2:

~ # mount -o nolock 172.17.0.251:/opt/tmp /mnt
~ # busybox time cp /mnt/test.dat /
real 0m  2.28s
user 0m  0.01s
sys  0m  2.14s
~ #

Processing the above results, we get the following UDP performance figure: 9605408/2.40 = 4002 KB/sec.

Finally, here are the performance results using the popular netperf benchmark:

  • Outgoing UDP throughput:

~ # netperf -H 192.168.0.1 -t UDP_STREAM
UDP UNIDIRECTIONAL SEND TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 192.168.0.1 (192.168.0.1) port 0 AF_INET
Socket Message Elapsed Messages
Size Size Time Okay Errors Throughput
bytes bytes secs # # 10^6bits/sec

106496 65507 10.01 1219 0 63.84
114688 10.01 1219  63.84

  • Outgoing TCP throughput:

~ # netperf -H 192.168.0.1
TCP STREAM TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 192.168.0.1 (192.168.0.1) port 0 AF_INET
Recv Send Send
Socket Socket Message Elapsed
Size Size Size Time Throughput
bytes bytes bytes secs. 10^6bits/sec

87380 16384 16384 10.01 28.87
~ #

The test was run on Emcraft Systems' SmartFusion2 system-on-module (SOM) connected to a 100Mb Ethernet hub. The SOM provides an Ethernet 10/100Mb interface using an on-module Ethernet PHY.