[netperf-talk] ENOBUFS on linux?
Andrew Gallatin
gallatin at cs.duke.edu
Thu May 20 07:00:32 PDT 2010
Please see attached patch, which only sets the option for the send
side of UDP_STREAM, and even there, only on linux. You mentioned
that HPUX does this as well. It might be interesting to see if
this "fixes" HPUX also (you'll need to adjust the #ifdefs).
Rick Jones wrote:
> If you can show the effect on achieved performance is epsilon for the
> cases when the drops don't occur I'm OK with that (preferably with
> something other than a 100 Mbit/s link, or at least with high confidence
I'm not used to the conf. interval stuff. Is this what you want to see?
In the tests below "netperf.orig" is a build of the 2.2 svn before
applying my patch, and "netperf" is after the patch.
% build/src/netperf.orig -H10.1.171.14 -tUDP_STREAM -T4,4 -I 99 -C -c
-- -m 1472 -S 32K -s 32K
UDP UNIDIRECTIONAL SEND TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to
10.1.171.14 (10.1.171.14) port 0 AF_INET : +/-49.500% @ 99% conf. : 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
65536 1472 10.00 4418311 0 5202.6 0.72 0.091
65536 10.00 4411851 5195.0 8.01 1.010
% build/src/netperf -H10.1.171.14 -tUDP_STREAM -T4,4 -I 99 -C -c -- -m
1472 -S 32K -s 32K
UDP UNIDIRECTIONAL SEND TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to
10.1.171.14 (10.1.171.14) port 0 AF_INET : +/-49.500% @ 99% conf. : 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
65536 1472 10.00 4418839 0 5203.2 0.72 0.091
65536 10.00 4412634 5195.9 8.11 1.023
And for the case with drops:
% build/src/netperf.orig -H10.1.171.14 -tUDP_STREAM -T4,4 -I 99 -C -c
-- -m 1472 -S 2M -s 2M
UDP UNIDIRECTIONAL SEND TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to
10.1.171.14 (10.1.171.14) port 0 AF_INET : +/-49.500% @ 99% conf. : 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
4194304 1472 10.00 9085361 0 10698.2 15.82 1.085
4194304 10.00 8117546 9558.6 11.21 0.768
% build/src/netperf -H10.1.171.14 -tUDP_STREAM -T4,4 -I 99 -C -c -- -m
1472 -S 2M -s 2M
UDP UNIDIRECTIONAL SEND TEST from 0.0.0.0 (0.0.0.0) port 0 AF_INET to
10.1.171.14 (10.1.171.14) port 0 AF_INET : +/-49.500% @ 99% conf. : 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
4194304 1472 10.00 8115896 1131544 9556.5 15.85 1.087
4194304 10.00 8115896 9556.5 11.19 0.767
> level service demands). Bonus points for making sure it works with the
> omni tests (although IIRC those are already using the nettest_bsd.c
> create_data_socket() stuff anyway)
The way I did it probably won't work with them. I couldn't figure out
how to run them, so I didn't attempt to fix them as well.
> I would also like to know that it doesn't get in the way of a TCP_CC or
> TCP_CRR test, as that will be creating lots of data sockets and so
> "extra" setsockopt() calls are generally to be avoided.
It can't, since it is called only for the send side of UDP_STREAM.
Drew
-------------- next part --------------
A non-text attachment was scrubbed...
Name: enobufs.diff
Type: text/x-diff
Size: 1434 bytes
Desc: not available
URL: <http://www.netperf.org/pipermail/netperf-talk/attachments/20100520/b007dae4/attachment.diff>
More information about the netperf-talk
mailing list