So it looks like the number you feed it turns into the window size.

A few quick tests with netperf confirm that it is doing something close to
what I expect but I haven't fired up tcpdump to verify that the window size
is what I asked for.  netperf does print out values that are 2x what I asked
for.

It will do that until you start asking for (2x?) more than net.core.[rw]mem_max. At that point they will be clipped.

Yuck.  (That's Yuck at Linux, not netperf.)

No worries :)

That bit of behaviour frustrated me and my BSD-stack upbringing for years, along with the auto-tuning. Finally I ended-up adding support for reporting three different socket buffer values via the "omni" output selectors:

1) the size requested by the user via the command line
2) the size initially after the data socket was created (and any setsockopts triggered by the command line)
3) the size at the end of the test

The classic netperf tests have always reported 2. If you use the omni tests directly (-t omni) they will report 3. You can always use the test-specific -o, -O or -k option to emit each specifically. For both SO_[SND|RCV]BUF locally and remote:


raj@tardy:~/netperf2_trunk$ netperf -- -O \? | grep SIZE
LSS_SIZE_REQ
LSS_SIZE
LSS_SIZE_END
LSR_SIZE_REQ
LSR_SIZE
LSR_SIZE_END
RSS_SIZE_REQ
RSS_SIZE
RSS_SIZE_END
RSR_SIZE_REQ
RSR_SIZE
RSR_SIZE_END
...

happy benchmarking,

rick jones
_______________________________________________
Bloat mailing list
[email protected]
https://lists.bufferbloat.net/listinfo/bloat

Reply via email to