1. 02 9月, 2014 1 次提交
  2. 04 5月, 2014 1 次提交
  3. 05 11月, 2013 1 次提交
    • Y
      tcp: properly handle stretch acks in slow start · 9f9843a7
      Yuchung Cheng 提交于
      Slow start now increases cwnd by 1 if an ACK acknowledges some packets,
      regardless the number of packets. Consequently slow start performance
      is highly dependent on the degree of the stretch ACKs caused by
      receiver or network ACK compression mechanisms (e.g., delayed-ACK,
      GRO, etc).  But slow start algorithm is to send twice the amount of
      packets of packets left so it should process a stretch ACK of degree
      N as if N ACKs of degree 1, then exits when cwnd exceeds ssthresh. A
      follow up patch will use the remainder of the N (if greater than 1)
      to adjust cwnd in the congestion avoidance phase.
      
      In addition this patch retires the experimental limited slow start
      (LSS) feature. LSS has multiple drawbacks but questionable benefit. The
      fractional cwnd increase in LSS requires a loop in slow start even
      though it's rarely used. Configuring such an increase step via a global
      sysctl on different BDPS seems hard. Finally and most importantly the
      slow start overshoot concern is now better covered by the Hybrid slow
      start (hystart) enabled by default.
      Signed-off-by: NYuchung Cheng <ycheng@google.com>
      Signed-off-by: NNeal Cardwell <ncardwell@google.com>
      Signed-off-by: NEric Dumazet <edumazet@google.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      9f9843a7
  4. 10 3月, 2011 1 次提交
  5. 24 11月, 2009 1 次提交
  6. 02 3月, 2009 1 次提交
  7. 12 11月, 2008 1 次提交
    • D
      tcp_htcp: last_cong bug fix · 8f65b535
      Doug Leith 提交于
      This patch fixes a minor bug in tcp_htcp.c which has been
      highlighted by Lachlan Andrew and Lawrence Stewart.  Currently, the
      time since the last congestion event, which is stored in variable
      last_cong, is reset whenever there is a state change into
      TCP_CA_Open.  This includes transitions of the type
      TCP_CA_Open->TCP_CA_Disorder->TCP_CA_Open which are not associated
      with backoff of cwnd.  The patch changes last_cong to be updated
      only on transitions into TCP_CA_Open that occur after experiencing
      the congestion-related states TCP_CA_Loss, TCP_CA_Recovery,
      TCP_CA_CWR.
      Signed-off-by: NDoug Leith <doug.leith@nuim.ie>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      8f65b535
  8. 29 1月, 2008 1 次提交
  9. 08 8月, 2007 1 次提交
    • S
      [TCP]: H-TCP maxRTT estimation at startup · f34d1955
      Stephen Hemminger 提交于
      Small patch to H-TCP from Douglas Leith. 
      
      Fix estimation of maxRTT.  The original code ignores rtt measurements
      during slow start (via the check tp->snd_ssthresh < 0xFFFF) yet this
      is probably a good time to try to estimate max rtt as delayed acking
      is disabled and slow start will only exit on a loss which presumably
      corresponds to a maxrtt measurement.  Second, the original code (via
      the check htcp_ccount(ca) > 3) ignores rtt data during what it
      estimates to be the first 3 round-trip times.  This seems like an
      unnecessary check now that the RCV timestamp are no longer used
      for rtt estimation.
      Signed-off-by: NStephen Hemminger <shemminger@linux-foundation.org>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      f34d1955
  10. 31 7月, 2007 2 次提交
  11. 20 7月, 2007 1 次提交
  12. 18 7月, 2007 1 次提交
  13. 26 4月, 2007 1 次提交
  14. 13 2月, 2007 1 次提交
  15. 11 2月, 2007 1 次提交
  16. 03 12月, 2006 1 次提交
  17. 26 10月, 2006 1 次提交
  18. 23 9月, 2006 1 次提交
  19. 01 7月, 2006 1 次提交
  20. 18 6月, 2006 1 次提交
  21. 21 3月, 2006 3 次提交
  22. 31 1月, 2006 1 次提交
  23. 11 11月, 2005 2 次提交
  24. 30 8月, 2005 1 次提交
    • A
      [ICSK]: Move TCP congestion avoidance members to icsk · 6687e988
      Arnaldo Carvalho de Melo 提交于
      This changeset basically moves tcp_sk()->{ca_ops,ca_state,etc} to inet_csk(),
      minimal renaming/moving done in this changeset to ease review.
      
      Most of it is just changes of struct tcp_sock * to struct sock * parameters.
      
      With this we move to a state closer to two interesting goals:
      
      1. Generalisation of net/ipv4/tcp_diag.c, becoming inet_diag.c, being used
         for any INET transport protocol that has struct inet_hashinfo and are
         derived from struct inet_connection_sock. Keeps the userspace API, that will
         just not display DCCP sockets, while newer versions of tools can support
         DCCP.
      
      2. INET generic transport pluggable Congestion Avoidance infrastructure, using
         the current TCP CA infrastructure with DCCP.
      Signed-off-by: NArnaldo Carvalho de Melo <acme@mandriva.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      6687e988
  25. 24 6月, 2005 1 次提交
    • B
      [TCP]: Add H-TCP congestion control module. · a7868ea6
      Baruch Even 提交于
      H-TCP is a congestion control algorithm developed at the Hamilton Institute, by
      Douglas Leith and Robert Shorten. It is extending the standard Reno algorithm
      with mode switching is thus a relatively simple modification.
      
      H-TCP is defined in a layered manner as it is still a research platform. The
      basic form includes the modification of beta according to the ratio of maxRTT
      to min RTT and the alpha=2*factor*(1-beta) relation, where factor is dependant
      on the time since last congestion.
      
      The other layers improve convergence by adding appropriate factors to alpha.
      
      The following patch implements the H-TCP algorithm in it's basic form.
      Signed-Off-By: NBaruch Even <baruch@ev-en.org>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      a7868ea6