1. 11 11月, 2005 1 次提交
    • S
      [TCP]: fix congestion window update when using TSO deferal · f4805ede
      Stephen Hemminger 提交于
      TCP peformance with TSO over networks with delay is awful.
      On a 100Mbit link with 150ms delay, we get 4Mbits/sec with TSO and
      50Mbits/sec without TSO.
      
      The problem is with TSO, we intentionally do not keep the maximum
      number of packets in flight to fill the window, we hold out to until 
      we can send a MSS chunk. But, we also don't update the congestion window 
      unless we have filled, as per RFC2861.
      
      This patch replaces the check for the congestion window being full
      with something smarter that accounts for TSO.
      Signed-off-by: NStephen Hemminger <shemminger@osdl.org>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      f4805ede
  2. 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
  3. 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