cvs commit: src/sys/netinet tcp_input.c

Matthew Dillon dillon at crater.dragonflybsd.org
Fri Mar 18 10:30:06 PST 2005


dillon      2005/03/18 10:29:05 PST

DragonFly src repository

  Modified files:
    sys/netinet          tcp_input.c 
  Log:
  Add a sysctl "net.inet.tcp.aggregate_acks" which controls the tcp ack
  aggregation feature, default to on.  This feature was added a while
  back and most systems will want to leave it on.  The feature only effects
  situations where TCP packets are aggregated by e.g. a GigE interface or a
  router talking to a GigE interface and allows the tcp stack to send just
  one ack after receiving a large burst (~8-10) of tcp packets rather then
  sending four or five back-to-back acks.  The single ack actually gets the
  sequence space updated more quickly on the other end as well as greatly
  reduces the PPS rate and bandwidth used by the return channel.  Protocol
  stacks on both ends are also made more efficient due to the fewer acks that
  need to be sent and received.
  
  The feature has one side-effect which warrents having the sysctl.  The
  slow-start exponential ramp-up takes longer to ramp-up due to the lower
  ack rate, reducing tcp bandwidth at the beginning of the connection (but
  not once it gets going).  This ONLY effects links which huge bandwidth-delay
  products (like 100ms x 100MBits), and then only for a short time, and
  even in such cases the difference is not usually noticeable except when
  explicitly tested for.  LANs and most WAN links are NOT effected.   The
  positive aspects greatly outweight the negative ones in most cases and
  sysops will almost always want to leave the feature on.
  
  Delayed-Ack-Analysis-by: Noritoshi Demizu <demizu at xxxxxxxxxxxxxx>
  
  Revision  Changes    Path
  1.55      +23 -1     src/sys/netinet/tcp_input.c


http://www.dragonflybsd.org/cvsweb/src/sys/netinet/tcp_input.c.diff?r1=1.54&r2=1.55&f=u





More information about the Commits mailing list