zhhyu7 opened a new pull request, #18211:
URL: https://github.com/apache/nuttx/pull/18211
## Summary
The main content of this submission is to limit both the TX/RX buffers of
TCP/UDP to throttled IOBs, avoiding impacts on the sending and receiving of
control-type messages.
and optimized TX for TCP buffered mode.
## Impact
*Update this section, where applicable, on how change affects users,
build process, hardware, documentation, security, compatibility, etc.*
## Testing
sim:matter with very small amount of IOB configuration
```
CONFIG_MM_IOB=y
CONFIG_IOB_NBUFFERS=40
CONFIG_IOB_BUFSIZE=196
CONFIG_IOB_ALIGNMENT=4
CONFIG_IOB_SECTION=""
CONFIG_IOB_NCHAINS=40
CONFIG_IOB_THROTTLE=10
```
NuttX test log:
```
nsh> iperf -c 10.0.1.1 -B 10.0.1.2
IP: 10.0.1.2
mode=tcp-client sip=10.0.1.2:5001,dip=10.0.1.1:5001, interval=3, time=30
Interval Transfer Bandwidth
0.00- 3.01 sec 148127744 Bytes 393.70 Mbits/sec
3.01- 6.02 sec 147177472 Bytes 391.17 Mbits/sec
6.02- 9.03 sec 132677632 Bytes 352.63 Mbits/sec
9.03- 12.04 sec 143818752 Bytes 382.24 Mbits/sec
12.04- 15.05 sec 148914176 Bytes 395.79 Mbits/sec
15.05- 18.06 sec 158990336 Bytes 422.57 Mbits/sec
18.06- 21.07 sec 140148736 Bytes 372.49 Mbits/sec
21.07- 24.08 sec 127320064 Bytes 338.39 Mbits/sec
24.08- 27.09 sec 129712128 Bytes 344.75 Mbits/sec
27.09- 30.10 sec 133414912 Bytes 354.59 Mbits/sec
0.00- 30.10 sec 1410301952 Bytes 374.83 Mbits/sec
iperf exit
nsh>
```
esp32c3-devkit:wifi board
NuttX test log:
```
nsh> iperf -c 10.212.241.242 &
iperf [13:100]
nsh> IP: 10.212.241.66
mode=tcp-client sip=10.212.241.66:5001,dip=10.212.241.242:5001, interval=3,
time=30
Interval Transfer Bandwidth
0.00- 3.01 sec 1359872 Bytes 3.61 Mbits/sec
3.01- 6.02 sec 1343488 Bytes 3.57 Mbits/sec
6.02- 9.03 sec 1458176 Bytes 3.88 Mbits/sec
9.03- 12.04 sec 1179648 Bytes 3.14 Mbits/sec
12.04- 15.05 sec 1425408 Bytes 3.79 Mbits/sec
15.05- 18.06 sec 1474560 Bytes 3.92 Mbits/sec
18.06- 21.07 sec 1376256 Bytes 3.66 Mbits/sec
21.07- 24.08 sec 1277952 Bytes 3.40 Mbits/sec
24.08- 27.09 sec 1261568 Bytes 3.35 Mbits/sec
27.09- 30.10 sec 1409024 Bytes 3.74 Mbits/sec
0.00- 30.10 sec 13565952 Bytes 3.61 Mbits/sec
iperf exit
iperf -c 10.212.241.242 &
iperf [22:100]
nsh> IP: 10.212.241.66
mode=tcp-client sip=10.212.241.66:5001,dip=10.212.241.242:5001, interval=3,
time=30
Interval Transfer Bandwidth
0.00- 3.01 sec 180224 Bytes 0.48 Mbits/sec
nsh> cat /proc/iobinfo
ntotal nfree nwait nthrottle
100 40 0 0
nsh> 3.01- 6.02 sec 376832 Bytes 1.00 Mbits/sec
6.02- 9.03 sec 491520 Bytes 1.31 Mbits/sec
9.03- 12.04 sec 1228800 Bytes 3.27 Mbits/sec
12.04- 15.05 sec 1048576 Bytes 2.79 Mbits/sec
15.05- 18.06 sec 1392640 Bytes 3.70 Mbits/sec
18.06- 21.07 sec 1327104 Bytes 3.53 Mbits/sec
21.07- 24.08 sec 1277952 Bytes 3.40 Mbits/sec
24.08- 27.09 sec 278528 Bytes 0.74 Mbits/sec
27.09- 30.10 sec 1130496 Bytes 3.00 Mbits/sec
0.00- 30.10 sec 8732672 Bytes 2.32 Mbits/sec
iperf exit
nsh> cat /proc/iobinfo
ntotal nfree nwait nthrottle
100 100 0 60
nsh>
nsh>
```
My local environment has a relatively high packet loss rate, so the
throughput is relatively low.
--
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]