tcp moderate …receive buffer auto-tuning

$cat /proc/sys/net/ipv4/tcp_moderate_rcvbuf
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

source :
Linux kernel Documentation   kernel ( 2.6.32 )

trunk/coverage/common/ - 1 identical
   278:  247                                                      tcp_max_syn_backlog               1024
   279: 248                                                      tcp_moderate_rcvbuf               1
   280: 249                                                         tcp_reordering                    3 - 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" }, - GPL - C

    24: #set TCP parameters
    25: sysctl -w net.ipv4.tcp_moderate_rcvbuf="0"
    26: sysctl -w net.ipv4.tcp_bic="0" - 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:
yi ? xi
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