Thank you all for your review comments ! From: Ilias Apalodimas <ilias.apalodi...@linaro.org>
> That's why i was concerned on what will happen on > 1000b frames and what the > memory pressure is going to be. > The trade off here is copying vs mapping/unmapping. Well, the performance numbers I mentioned are for TSO with default MTU (1500) and using iperf3 with zero-copy. Here follows netperf: --- # netperf -c -C -H 1.2.3.2 -T 7,7 -t TCP_SENDFILE TCP SENDFILE TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 1.2.3.2 (1.2.3.2) port 0 AF_INET : demo : cpu bind Recv Send Send Utilization Service Demand Socket Socket Message Elapsed Send Recv Send Recv Size Size Size Time Throughput local remote local remote bytes bytes bytes secs. 10^6bits/s % S % S us/KB us/KB 131072 16384 16384 10.00 9132.37 6.13 11.79 0.440 0.846 --- # netperf -c -C -H 1.2.3.2 -T 7,7 -t TCP_STREAM MIGRATED TCP STREAM TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 1.2.3.2 (1.2.3.2) port 0 AF_INET : demo : cpu bind Recv Send Send Utilization Service Demand Socket Socket Message Elapsed Send Recv Send Recv Size Size Size Time Throughput local remote local remote bytes bytes bytes secs. 10^6bits/s % S % S us/KB us/KB 131072 16384 16384 10.01 9041.21 3.20 11.75 0.232 0.852 --- # netperf -c -C -H 1.2.3.2 -T 7,7 -t UDP_STREAM MIGRATED UDP STREAM TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 1.2.3.2 (1.2.3.2) port 0 AF_INET : demo : cpu bind Socket Message Elapsed Messages CPU Service Size Size Time Okay Errors Throughput Util Demand bytes bytes secs # # 10^6bits/sec % SS us/KB 212992 65507 10.00 114455 0 5997.0 12.55 1.371 212992 10.00 114455 5997.0 8.12 0.887 --- # netperf -c -C -H 1.2.3.2 -T 7,7 -t UDP_STREAM -- -m 64 MIGRATED UDP STREAM TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 1.2.3.2 (1.2.3.2) port 0 AF_INET : demo : cpu bind Socket Message Elapsed Messages CPU Service Size Size Time Okay Errors Throughput Util Demand bytes bytes secs # # 10^6bits/sec % SS us/KB 212992 64 10.00 4013480 0 205.4 12.51 39.918 212992 10.00 4013480 205.4 7.99 25.482 --- # netperf -c -C -H 1.2.3.2 -T 7,7 -t UDP_STREAM -- -m 128 MIGRATED UDP STREAM TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 1.2.3.2 (1.2.3.2) port 0 AF_INET : demo : cpu bind Socket Message Elapsed Messages CPU Service Size Size Time Okay Errors Throughput Util Demand bytes bytes secs # # 10^6bits/sec % SS us/KB 212992 128 10.00 3950480 0 404.4 12.50 20.255 212992 10.00 3950442 404.4 7.70 12.485 --- # netperf -c -C -H 1.2.3.2 -T 7,7 -t UDP_STREAM -- -m 1024 MIGRATED UDP STREAM TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to 1.2.3.2 (1.2.3.2) port 0 AF_INET : demo : cpu bind Socket Message Elapsed Messages CPU Service Size Size Time Okay Errors Throughput Util Demand bytes bytes secs # # 10^6bits/sec % SS us/KB 212992 1024 10.00 3466506 0 2838.8 12.50 2.886 212992 10.00 3466506 2838.8 7.39 1.707