Skip to content
Snippets Groups Projects
  • John Heffner's avatar
    ae8064ac
    [TCP]: Bound TSO defer time · ae8064ac
    John Heffner authored
    
    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: default avatarJohn Heffner <jheffner@psc.edu>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    ae8064ac
    History
    [TCP]: Bound TSO defer time
    John Heffner authored
    
    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: default avatarJohn Heffner <jheffner@psc.edu>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>