[TCP]: Bound TSO defer time
authorJohn Heffner <jheffner@psc.edu>
Thu, 19 Oct 2006 03:36:48 +0000 (20:36 -0700)
committerDavid S. Miller <davem@davemloft.net>
Thu, 19 Oct 2006 03:36:48 +0000 (20:36 -0700)
commitae8064ac32d07f609114d73928cdef803be87134
treea783594abc5ca2f795992664684ab46581625fac
parentb52f070c9c3c09ed3b7f699280193aae7e25d816
[TCP]: Bound TSO defer time

This patch limits the amount of time you will defer sending a TSO segment
to less than two clock ticks, or the time between two acks, whichever is
longer.

On slow links, deferring causes significant bursts.  See attached plots,
which show RTT through a 1 Mbps link with a 100 ms RTT and ~100 ms queue
for (a) non-TSO, (b) currnet TSO, and (c) patched TSO.  This burstiness
causes significant jitter, tends to overflow queues early (bad for short
queues), and makes delay-based congestion control more difficult.

Deferring by a couple clock ticks I believe will have a relatively small
impact on performance.

Signed-off-by: John Heffner <jheffner@psc.edu>
Signed-off-by: David S. Miller <davem@davemloft.net>
include/linux/tcp.h
net/ipv4/tcp_output.c