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