Hi,

I think, I already asked this question, but can't find it anymore...
There is an errata of the AM572x CPU saying that RGMII2 can only be clocked 
as fast that allows Fast-Ethernet (100BASE-T), no Gigabit Ethernet... Today 
I made some tests: Both Ethernet Ports of the BB-X15 are connected to a switch 
that supports Gigabit Ethernet. Auto negotiation selects 1000baseT-FD for 
both links. A test with iperf3 gives me ~940Mbps on both ports 
(sequentially). If I do tests on both links, things look very differently. 
I started the second test after ~5s and terminated it after ~10s. 
Performance on two links is far LESS than the performance on a single link. 
(The iperf3 server is connected to the network via 2*10Gbps and IS able to 
fill the link)

[me@test-vm ~]$ iperf3 -c 10.20.0.121 -t 600
Connecting to host 10.20.0.121, port 5201
[  4] local 10.20.0.121 port 54362 connected to 46.234.46.30 port 5201
[ ID] Interval           Transfer     Bandwidth       Retr  Cwnd
[  4]   0.00-1.00   sec   115 MBytes   966 Mbits/sec  1054    311 
KBytes       
[  4]   1.00-2.00   sec   111 MBytes   933 Mbits/sec  270    317 
KBytes       
[  4]   2.00-3.00   sec   111 MBytes   933 Mbits/sec  286    314 
KBytes       
[  4]   3.00-4.00   sec   111 MBytes   933 Mbits/sec  156    266 
KBytes       
[  4]   4.00-5.00   sec   112 MBytes   944 Mbits/sec    0    495 
KBytes       
[  4]   5.00-6.00   sec  62.5 MBytes   524 Mbits/sec  182   21.2 
KBytes       
[  4]   6.00-7.00   sec  35.0 MBytes   293 Mbits/sec  190   21.2 
KBytes       
[  4]   7.00-8.00   sec  37.5 MBytes   315 Mbits/sec  143   12.7 
KBytes       
[  4]   8.00-9.00   sec  40.0 MBytes   336 Mbits/sec  210   26.9 
KBytes       
[  4]   9.00-10.00  sec  38.8 MBytes   325 Mbits/sec  199   12.7 
KBytes       
[  4]  10.00-11.00  sec  72.5 MBytes   608 Mbits/sec  120    236 
KBytes       
[  4]  11.00-12.00  sec   111 MBytes   933 Mbits/sec  228    243 
KBytes       
[  4]  12.00-13.00  sec   111 MBytes   933 Mbits/sec  312    276 
KBytes       
[  4]  13.00-14.00  sec   112 MBytes   944 Mbits/sec  231    328 
KBytes       
[  4]  14.00-15.00  sec   111 MBytes   933 Mbits/sec  309    341 
KBytes       
[  4]  15.00-16.00  sec   111 MBytes   933 Mbits/sec  232    272 
KBytes       
[  4]  16.00-17.00  sec   109 MBytes   912 Mbits/sec  334    165 
KBytes       
^C[  4]  17.00-17.25  sec  22.5 MBytes   756 Mbits/sec    0    250 
KBytes       
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bandwidth       Retr
[  4]   0.00-17.25  sec  1.50 GBytes   747 Mbits/sec  4456             
sender
[  4]   0.00-17.25  sec  0.00 Bytes  0.00 bits/sec                  receiver
iperf3: interrupt - the client has terminated

The same results if I run two iperfs in different directions on the links. 
(iperf and iperf -R). Probably the connection of the internal switch to the 
A15-cores is the bottleneck.

Things look worse if I test UDP:

800Mbps from BB-X15 -> BigHost

[me@test-vm ~]$ iperf3 -c 10.20.0.121 -t 10 -u -b 800M -R 
Connecting to host 10.20.0.121, port 5201
Reverse mode, remote host 10.20.0.121 is sending
[  4] local 10.20.0.121 port 40556 connected to 46.234.46.31 port 5201
[ ID] Interval           Transfer     Bandwidth       Jitter    Lost/Total 
Datagrams
[  4]   0.00-1.00   sec  97.1 MBytes   814 Mbits/sec  0.059 ms  0/12425 
(0%)  
[  4]   1.00-2.00   sec  96.8 MBytes   812 Mbits/sec  0.058 ms  0/12388 
(0%)  
[  4]   2.00-3.00   sec  95.6 MBytes   802 Mbits/sec  0.062 ms  0/12234 
(0%)  
[  4]   3.00-4.00   sec  92.6 MBytes   777 Mbits/sec  0.053 ms  0/11849 
(0%)  
[  4]   4.00-5.00   sec  92.7 MBytes   778 Mbits/sec  0.059 ms  0/11869 
(0%)  
[  4]   5.00-6.00   sec  97.9 MBytes   821 Mbits/sec  0.059 ms  0/12529 
(0%)  
[  4]   6.00-7.00   sec  92.5 MBytes   776 Mbits/sec  0.053 ms  0/11839 
(0%)  
[  4]   7.00-8.00   sec  96.7 MBytes   811 Mbits/sec  0.076 ms  0/12376 
(0%)  
[  4]   8.00-9.00   sec  95.1 MBytes   798 Mbits/sec  0.056 ms  0/12173 
(0%)  
[  4]   9.00-10.00  sec  98.3 MBytes   825 Mbits/sec  0.061 ms  0/12584 
(0%)  
[  4]  10.00-11.00  sec  89.4 MBytes   750 Mbits/sec  0.088 ms  0/11447 
(0%)  
[  4]  11.00-12.00  sec  56.8 MBytes   476 Mbits/sec  0.053 ms  0/7264 
(0%)  
[  4]  12.00-13.00  sec  56.8 MBytes   476 Mbits/sec  0.049 ms  0/7269 
(0%)  
[  4]  13.00-14.00  sec  56.1 MBytes   471 Mbits/sec  0.042 ms  0/7187 
(0%)  
[  4]  14.00-15.00  sec  56.6 MBytes   474 Mbits/sec  0.060 ms  0/7239 
(0%)  
[  4]  15.00-16.00  sec  54.4 MBytes   457 Mbits/sec  0.037 ms  0/6968 
(0%)  
[  4]  16.00-17.00  sec  56.1 MBytes   471 Mbits/sec  0.061 ms  0/7183 
(0%)  
[  4]  17.00-18.00  sec  56.7 MBytes   476 Mbits/sec  0.061 ms  0/7257 
(0%)  
[  4]  18.00-19.00  sec  56.6 MBytes   475 Mbits/sec  0.050 ms  0/7242 
(0%)  
[  4]  19.00-20.00  sec  55.8 MBytes   468 Mbits/sec  0.078 ms  0/7140 
(0%)  

(Results are similar on both links)
After ~10s I started the same test on the other link. Packet throughput was 
reduced by less than 50%. If I send 800Mbps on one link and receive 800Mbps 
on the other link, things work as expected (1.6Gbps total (rx+tx).
One very strange result is testing UDP reception on the BB-X15. I always 
get very high packet loss:
-----------------------------------------------------------
Server listening on 5201
-----------------------------------------------------------
Accepted connection from bighost, port 44906
[  5] local 10.20.0.121 port 5201 connected to bighost port 33716
[ ID] Interval           Transfer     Bandwidth       Jitter    Lost/Total 
Datagrams
[  5]   0.00-1.00   sec  13.0 MBytes   109 Mbits/sec  0.496 ms  9376/11035 
(85%)  
[  5]   1.00-2.00   sec  13.7 MBytes   115 Mbits/sec  0.712 ms  10473/12224 
(86%)  
[  5]   2.00-3.00   sec  14.5 MBytes   122 Mbits/sec  0.821 ms  10437/12293 
(85%)  
[  5]   3.00-4.00   sec  13.1 MBytes   110 Mbits/sec  0.571 ms  10509/12183 
(86%)  

This seems be related to the too small receive buffers (163kB). If I 
increase the default buffer space to 2MB (sysctl -w 
net.core.rmem_default=2097152), I get 0% loss at 100Mbps, 26% at 200Mbps). 
Checking the default rmem on the bighost, it's 16MB. Setting this to 16MB, 
results in 5% packetloss at 800Mbps on the BB-X15 as a UDP receiver.

Lession learnt: There are no two true Gigabit ports available as we know it 
from PC servers ;) Still impressive for an embedded system.

Claudius

-- 
For more options, visit http://beagleboard.org/discuss
--- 
You received this message because you are subscribed to the Google Groups 
"BeagleBoard" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to beagleboard+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/beagleboard/a3283c1c-301b-4910-9d29-bceb5baea1fc%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to