git: Kernel - Enable the TCP inflight limiter by default, but with generous values.
Matthew Dillon
dillon at crater.dragonflybsd.org
Wed Sep 9 09:49:23 PDT 2009
commit d66b98ebb623f903e93cd6590d34fc87135a4561
Author: Matthew Dillon <dillon at apollo.backplane.com>
Date: Wed Sep 9 09:34:13 2009 -0700
Kernel - Enable the TCP inflight limiter by default, but with generous values.
The inflight limiter is now turned on by default, but with generous values
which should allow maximal bandwidth. In particular, the slop defaults to
50 (5 packets), meaning that the TCP connection will allow up to N+5 packets
in-flight instead of just N, where N is the number of packets calculated
for the bandwidth-delay product of the connection.
The reason for doing this is that the limiter is the only mechanism we
have which seems to do a really good job preventing receiver RX rings
on network interfaces from getting blown out. Even though GigE/10GigE
is supposed to flow control it looks like either it doesn't actually
do it or Open Source drivers do not properly enable it. Large packet
bursts appear to be able to blow out the receiver's rx ring.
People using the limiter to reduce bottlenecks on slower WAN connections
should set the slop to 20 (2 packets).
Summary of changes:
sys/netinet/tcp_subr.c | 21 +++++++++++++++------
1 files changed, 15 insertions(+), 6 deletions(-)
http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/d66b98ebb623f903e93cd6590d34fc87135a4561
--
DragonFly BSD source repository
More information about the Commits
mailing list