Power & Source of Big Ideas

Is USB3 ethernet connected to DMA controller on NanoPi R2S?

Moderators: chensy, FATechsupport

If it is not connected to DMA controller, it may fail to receive or send packets while CPU cores are busy.
I tested it and was surprised to see that there was barely any impact when running an iperf3 test on the LAN ethernet adapter and running a bonnie++ test on a usb stick in the usb 2.0 type A socket, at the same time.

macbook pro -> r2s LAN + USB2.0 mem stick


iperf3 test

Code: Select all

[  5] 592.00-593.01 sec   111 MBytes   931 Mbits/sec    0   1.26 MBytes
[  5] 593.01-594.00 sec   111 MBytes   938 Mbits/sec    0   1.26 MBytes
[  5] 594.00-595.00 sec   112 MBytes   944 Mbits/sec    0   1.26 MBytes
[  5] 595.00-596.00 sec   112 MBytes   943 Mbits/sec    0   1.26 MBytes
[  5] 596.00-597.00 sec   111 MBytes   934 Mbits/sec    0   1.26 MBytes
[  5] 597.00-598.00 sec   112 MBytes   944 Mbits/sec    0   1.26 MBytes
[  5] 598.00-599.00 sec   112 MBytes   942 Mbits/sec    0   1.26 MBytes
[  5] 599.00-600.00 sec   111 MBytes   935 Mbits/sec    0   1.26 MBytes
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-600.00 sec  65.5 GBytes   937 Mbits/sec    0             sender
[  5]   0.00-600.00 sec  65.5 GBytes   937 Mbits/sec                  receiver



Code: Select all

root@FriendlyWrt:~# bonnie\+\+ -d /mnt/scratch -u root
Using uid:0, gid:0.
Writing a byte at a time...done
Writing intelligently...done
Rewriting...done
Reading a byte at a time...done
Reading intelligently...done
start 'em...done...done...done...done...done...
Create files in sequential order...done.
Stat files in sequential order...done.
Delete files in sequential order...done.
Create files in random order...done.
Stat files in random order...done.
Delete files in random order...done.
Version  1.98       ------Sequential Output------ --Sequential Input- --Random-
                    -Per Chr- --Block-- -Rewrite- -Per Chr- --Block-- --Seeks--
Name:Size etc        /sec %CP  /sec %CP  /sec %CP  /sec %CP  /sec %CP  /sec %CP
              2047M  185k  98 6038k  11 4941k  10  218k  50 23.2m  21  23.0   2
Latency             81245us    1455ms    3052ms     589ms   19787us     426ms
Version  1.98       ------Sequential Create------ --------Random Create--------
                    -Create-- --Read--- -Delete-- -Create-- --Read--- -Delete--
              files  /sec %CP  /sec %CP  /sec %CP  /sec %CP  /sec %CP  /sec %CP
                 16 16384  99 +++++ +++ 16384  99 16384  99 +++++ +++ 16384  98
Latency             98473us    1575us    9785us     201ms     195us     134ms
1.98,1.98,,1,1596761107,2047M,,8192,5,185,98,6038,11,4941,10,218,50,23797,21,23.0,2,16,,,,,34,99,+++++,+++,230,99,31,99,+++++,+++,77,98,81245us,1455ms,3052ms,589ms,19787us,426ms,98473us,1575us,9785us,201ms,195us,134ms


I also ran a speedtest through the r2s to the internet during the above tests and there was no impact on bandwidth but latency increased from 11ms to 14ms.

Code: Select all

Date   Download   DownloadBytes   Upload   UploadBytes   Latency
2020-08-07 17:42   43821   81669464   18841   33945824   11
2020-08-07 16:33   46365   86525600   18438   33097280   14
2020-08-07 16:14   46502   86837344   18990   33961757   11
2020-08-07 15:33   46448   86818744   18894   34040472   10
2020-08-07 15:32   46439   86657728   19016   33951445   11



I'm happy to say I see no practical impact to the USB3 ethernet.
As for the thermals and noise of this little router, I'm still watching.. it definitely got hot, I think hotter than when I just ran stress on the cpu
poddmo wrote:
I tested it and was surprised to see that there was barely any impact when running an iperf3 test on the LAN ethernet adapter and running a bonnie++ test on a usb stick in the usb 2.0 type A socket, at the same time.

I'm happy to say I see no practical impact to the USB3 ethernet.
As for the thermals and noise of this little router, I'm still watching.. it definitely got hot, I think hotter than when I just ran stress on the cpu


Have you executed `ls` over ssh in a large folder during the stress tests?

Without DMA, the USB ethernet chipset's buffer would become full under stress and refuse more packets.
What happens to `ls` on an SSH session when both CPU and USB ethernet are busy?

Do you use R2S in a metal case?
Have you executed `ls` over ssh in a large folder during the stress tests?

Without DMA, the USB ethernet chipset's buffer would become full under stress and refuse more packets.
What happens to `ls` on an SSH session when both CPU and USB ethernet are busy?

The iperf3 and bonnie test was with the usb stick formatted as fat32. I didn't try any further tests on the usb stick as my curiosity was for the impact on the LAN performance.

Do you use R2S in a metal case?

I ordered from FE with the plastic case. Since then I've wished I ordered the metal case as I think it's bound to have better cooling than the plastic one that I did order.
poddmo wrote:
The iperf3 and bonnie test was with the usb stick formatted as fat32. I didn't try any further tests on the usb stick as my curiosity was for the impact on the LAN performance.


I wonder whether `ls` becomes slow in a large folder over SSH due to higher latencies during stress tests.

Who is online

In total there are 4 users online :: 0 registered, 0 hidden and 4 guests (based on users active over the past 5 minutes)
Most users ever online was 5185 on Wed Jan 22, 2020 1:44 pm

Users browsing this forum: No registered users and 4 guests