fdcavalcanti commented on PR #18011:
URL: https://github.com/apache/nuttx/pull/18011#issuecomment-3804941630
Hi @zhhyu7 this is excellent input, thanks!
I can confirm IPERF is working blazing fast with your recommendations, but
there are some issues:
I tried `CONFIG_NET_SEND_BUFSIZE` of 12000 (your recommendation) and also
20000 which is the value I got from the equation you showed.
Here's my base IOB config:
```
CONFIG_IOB_BUFSIZE=400
CONFIG_IOB_NBUFFERS=100
CONFIG_IOB_NCHAINS=32
CONFIG_IOB_THROTTLE=40
```
- `CONFIG_NET_SEND_BUFSIZE=20000`
It did not transmit properly and seems we have lost some buffers after IPERF
finished.
```
nsh> iperf -c 192.168.0.125 -i 3 -t 20 &
iperf [12:100]
nsh> IP: 192.168.0.85
mode=tcp-client sip=192.168.0.85:5001,dip=192.168.0.125:5001, interval=3,
time=20
Interval Transfer Bandwidth
0.00- 3.01 sec 131072 Bytes 0.35 Mbits/sec
3.01- 6.02 sec 0 Bytes 0.00 Mbits/sec
6.02- 9.03 sec 0 Bytes 0.00 Mbits/sec
9.03- 12.04 sec 0 Bytes 0.00 Mbits/sec
12.04- 15.05 sec 0 Bytes 0.00 Mbits/sec
15.05- 18.06 sec 0 Bytes 0.00 Mbits/sec
18.06- 21.07 sec 0 Bytes 0.00 Mbits/sec
0.00- 21.07 sec 131072 Bytes 0.05 Mbits/sec
nsh> cat /proc/iobinfo
ntotal nfree nwait nthrottle
100 41 0 1
```
- `CONFIG_NET_SEND_BUFSIZE=12000`
It starts very slow then picks up speed. If I call IPERF again (without
rebooting the board) it runs fine. You can see below that after the first run,
some IOBs are "lost" but after the second run, there are no changes. I imagine
those lost buffers are related to the slow start of the first IPERF run.
I then rebooted the board and tried again. It had the same results regarding
throughput but did not lose any IOB. Here's the log of the first run:
```
nsh> iperf -c 192.168.0.125 -i 3 -t 20 &
iperf [12:100]
nsh> IP: 192.168.0.85
mode=tcp-client sip=192.168.0.85:5001,dip=192.168.0.125:5001, interval=3,
time=20
Interval Transfer Bandwidth
0.00- 3.01 sec 114688 Bytes 0.30 Mbits/sec
3.01- 6.02 sec 0 Bytes 0.00 Mbits/sec
6.02- 9.03 sec 4063232 Bytes 10.80 Mbits/sec
9.03- 12.04 sec 4276224 Bytes 11.37 Mbits/sec
12.04- 15.05 sec 4259840 Bytes 11.32 Mbits/sec
15.05- 18.06 sec 4210688 Bytes 11.19 Mbits/sec
18.06- 21.07 sec 4259840 Bytes 11.32 Mbits/sec
0.00- 21.07 sec 21184512 Bytes 8.04 Mbits/sec
iperf exit
nsh> cat /proc/iobinfo
ntotal nfree nwait nthrottle
100 98 0 58
nsh>
nsh>
nsh> iperf -c 192.168.0.125 -i 3 -t 20 &
iperf [15:100]
nsh> IP: 192.168.0.85
mode=tcp-client sip=192.168.0.85:5001,dip=192.168.0.125:5001, interval=3,
time=20
Interval Transfer Bandwidth
0.00- 3.01 sec 4128768 Bytes 10.97 Mbits/sec
3.01- 6.02 sec 4210688 Bytes 11.19 Mbits/sec
6.02- 9.03 sec 4292608 Bytes 11.41 Mbits/sec
9.03- 12.04 sec 4407296 Bytes 11.71 Mbits/sec
12.04- 15.05 sec 4194304 Bytes 11.15 Mbits/sec
15.05- 18.06 sec 4243456 Bytes 11.28 Mbits/sec
18.06- 21.07 sec 4341760 Bytes 11.54 Mbits/sec
0.00- 21.07 sec 29818880 Bytes 11.32 Mbits/sec
iperf exit
cat /proc/iobinfo
ntotal nfree nwait nthrottle
100 98 0 58
nsh>
```
After this, I kept it running for 5 minutes and it had very stable
throughput (better then we ever had). Seems we are very near closure here.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]