git: TCP - Reduce context switching when handling large send*() or write()'s

Matthew Dillon dillon at crater.dragonflybsd.org
Wed Sep 2 22:18:04 PDT 2009


commit dbcbe5d3b1e3eef64c21a3cf44027d4514b84f11
Author: Matthew Dillon <dillon at apollo.backplane.com>
Date:   Wed Sep 2 22:15:12 2009 -0700

    TCP - Reduce context switching when handling large send*() or write()'s
    
    * Large sends or writes would cause sosend() to sleep and wakeup for every
      tcp segment acknowledged, resulting in massive inefficiencies.  To deal
      with this, if no LOWAT is set we automatically set the LOWAT to 1/2 the
      send buffer size and adjust the wakeup code.

Summary of changes:
 sys/kern/uipc_socket.c  |    2 ++
 sys/kern/uipc_socket2.c |   32 ++++++++++++++++++++++++++++----
 sys/sys/socketvar.h     |    1 +
 3 files changed, 31 insertions(+), 4 deletions(-)

http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/dbcbe5d3b1e3eef64c21a3cf44027d4514b84f11


-- 
DragonFly BSD source repository





More information about the Commits mailing list