Path to this page:
Subject: CVS commit: pkgsrc/benchmarks/netperf
From: Adam Ciarcinski
Date: 2014-04-01 13:13:28
Message id: 20140401111328.12D7596@cvs.netbsd.org
Log Message:
Changes 2.6.0:
*) Initial pass at support for --enable-intervals (WANT_INTERVALS) for
Windows, courtesy of Jonathan Cook.
*) When in demo mode (./configure --enable-demo and a global -D
<interval> option netperf will make sure it emits "one last
interval result" when the test is terminated. This should assist
when post-processing results through the likes of rrdtool when
there is a slow-down in the performance just at the end that would
have stretched the interval to beyond the test termination.
*) A fix to have the AF_UNIX tests realize that the value for "take
the system default" socket buffer size became -1 years ago. Bug
found by Eric Dumazet.
*) Include a patch from Dave Taht to enable symbolic manipulation of
IP_TOS values.
*) Include a patch from Sachar Raindel to enable the omni tests to get
ENOBUFS under Linux when the socket buffer is larger than the tx
queue of the egress interface. This will help preclude netperf's
reporting a larger than link-rate send-side figure.
*) Fix a problem with late checking of the return from select() in
src/netserver.c. Reported by Waqar Sheikh.
*) A new global -Z option has been added to netperf and netserver.
This takes as an argument a passphrase. In the case of netserver
it will expect a control message with the passphrase as the first
thing it receives on the control connection. If netserver does not
receive a control message with the passphrase it will close the
control connection and move-on. If the netserver receives a
control message with a passprhase when it is not lookign for one,
it will be ignored. There is at present a 20 second timeout on the
attempted receipt of the request message. In the case of netperf,
the passphrase will be the first thing sent on the control
connection. There is no response to a passphrase control message.
*) Demo mode output format will now track the omni output format. So,
if the omni ouput format is CSV then the interim results will be
emitted in csv. Likewise for keyval. If the mode is human (default
and test-specific -O) then the output remains unchanged. Keyval
output includes the count of interval, with a mind towards being
able to source it in shells and whatnot. Subject to change without
notice.
*) A patch to correctly handle IPv6 addresses in the control messages,
courtesy of Bjoern Zeeb.
*) The global -F option can now be used specify a local and/or remote
fill file.
*) It is now possible to set/get the TCP congestion control algorithm
being used by either end of the test connection when using the omni
code. The output selectors are LOCAL_CONG_CONTROL and
REMOTE_CONG_CONTROL and setting is via the test-specific -K option.
*) Stop leaking file descriptors when looking-up probable egress
interface names and I/O slot numbers.
*) The global -Y option can be used to set IP_TOS on those platforms
which support it. Since this is specific to IP (v4 or v6) it may
move to a test-specific otion in the future. It is presently
global for foolish consistency with the -y option to set
SO_PRIORITY.
*) The global -y option can be used to set SO_PRIORITY on those
platforms which support it. Based on patches from Amir Vidai.
*) The control message size has been increased from 256 bytes to 512
bytes. THIS WILL BREAK COMPATABILITY WITH PREVIOUS VERSIONS OF
NETPERF. However, we need more room on the pinhead on which the
angels dance.
*) Make the "sum" field of the histogram structure a 64 bit int to
avoid having it wrap-around on tests where the sum of all the
measured latencies was larger than 31 bits. This was causing
statistics like stddev to go negative in some cases.
*) If the time delta between two events is negative, do not bother
doing any math with it in the histogram/statistics code, just
increment the ridiculous count and move-on.
*) Fixed a bug which caused local transport retransmissions to be
reported as -1 even though the getsockopt() call was
successful. (Linux). Later included remote transport
retransmissions.
*) The src/nettest_omni.c and re-written src/netserver.c code are now
known to have compiled under Windows 7 x64 with the Microsoft
WDK. There remains a timing issue with confidence intervals which
is yet to be addressed, and may have been there for ages. Netserver
has been run as a non-spawning (-f) server, netperf has been run,
both have run "classic" and "omni" tests.
Files: