TCP - Reduce context switching when handling large send*() or write()'s
authorMatthew Dillon <dillon@apollo.backplane.com>
Thu, 3 Sep 2009 05:15:12 +0000 (22:15 -0700)
committerMatthew Dillon <dillon@apollo.backplane.com>
Thu, 3 Sep 2009 05:15:12 +0000 (22:15 -0700)
commitdbcbe5d3b1e3eef64c21a3cf44027d4514b84f11
treeeda3e90eaf009e33f2c16c92d6038c976741ad4a
parent1bfb4b7bf39da5507524ef88af87274694c644ea
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.
sys/kern/uipc_socket.c
sys/kern/uipc_socket2.c
sys/sys/socketvar.h