[netperf-talk] Netserver ring buffer size

Rick Jones rick.jones2 at hp.com
Mon Oct 26 11:31:26 PDT 2009


George Valzcig wrote:
> Hello,
> I am wondering about the calculation of the ring buffer size, 
> specifically in recv_tcp_stream and recv_udp_stream
> 
> 1) In recv_tcp_stream, it is calculated and set to the default value of 
> 1+(lsr_size/recv_size). But in recv_udp_stream this is always set to 1- 
> is there a reason for this?

I'm sure there was a reason, but likely it has been lost in the mists of time :) 
  It may have had something to do with the behaviour of copy avoidance back when 
HP-UX had page remapping and a variation on the theme of Copy-On-Write - ah, the 
days, when an FDDI MTU was always greater than a page size :)

> 2) Is there a way to specify the number of elements I want in the 
> netserver ring buffer (directly, without setting it indirectly using 
> socket and message sizes) - I think -W sets the send and recv ring 
> buffer sizes for the netperf - but not netserver.

It would require modifying the control messages to add the field.  While netperf 
does not "support" mixed versions I also try to avoid doing things that would 
break it.  However...  the "omni" test control message does pass a ring width 
parameter to the netserver.  The "recv_omni" code might even honor it :)

So, my initial answer, even at the risk of exposing bugs in the "omni" code, and 
making even greater pressure for me to actually write-up documentation for it, 
would be to say "Start using the omni tests" :)

./configure --enable-omni
make ...


and we will want to discuss controlling the quantity of output from them... 
presently, apart from a smattering of files in doc/ the only thing documenting 
the omni tests (two routines to measure most) woudl be src/nettest_omni.c

happy benchmarking,

rick jones


More information about the netperf-talk mailing list