Saturday, June 26, 2010

tcp moderate ...receive buffer auto-tuning


$cat /proc/sys/net/ipv4/tcp_moderate_rcvbuf
1
$


tcp_moderate_rcvbuf - BOOLEAN

If set, TCP performs receive buffer auto-tuning, attempting to
automatically size the buffer (no greater than tcp_rmem[2]) to
match the size required by the path for full throughput. Enabled by
default.

source :
Linux kernel Documentation kernel ( 2.6.32 )




trunk/coverage/common/ServerSpecs.pm - 1 identical
278: 247 tcp_max_syn_backlog 1024
279: 248 tcp_moderate_rcvbuf 1
280: 249 tcp_reordering 3
maatkit.googlecode.com/svn - Unknown - Perl - More from svn »

kernel/sysctl_check.c - 57 identical
371: /* NET_TCP_DEFAULT_WIN_SCALE unused */
372: { NET_TCP_MODERATE_RCVBUF, "tcp_moderate_rcvbuf" },
373: { NET_TCP_TSO_WIN_DIVISOR, "tcp_tso_win_divisor" },
android.git.kernel.org/kernel/common.git - GPL - C


xscribe/logs/expxscribe.sh
24: #set TCP parameters
25: sysctl -w net.ipv4.tcp_moderate_rcvbuf="0"
26: sysctl -w net.ipv4.tcp_bic="0"
bruno1.iit.cnr.it/xscribe_exp/xscribe_exp.tgz - Unknown - Shell



A. Receive Buffer Dynamics
Receive buffer dynamics include statistics pertaining to the
receive buffer while its owning process is active. It encom-
passes two primary statistics: buffer ?uctuation and actual
buffer size. Actual buffer size is the amount of data present on
the queue while the process is active. We call this the actual
buffer size because it can vary quite largely from what is set
in /proc.
Buffer ?uctuation, Figure 3(a), reveals the amount of pro-
cessing that goes into the receive buffer while a task is active.
It is a measurement of the receive queue before and after the
receiving processes time slice. When a process becomes active,
we note the size of its receive queue. We subtract this value
from the size of the buffer at process deactivation, thereby
measuring the ?uctuation of the buffer while the process was
active. Formally:
n
1
yi ? xi
(1)
n i=1
where n is the number of timeslices, and xi and yi are
snapshots of the buffer size before and after, respectively, a
given timeslice i. A positive value means data was added to the
queue during a timeslice, while a negative value corresponds
to data being removed.

source :
Effect of Receive Buffer Size: An OS-based Perspective
Jerome White and David X. Wei
California Institute of Technology