18 Jul, 2007

1 commit


18 May, 2007

1 commit


26 Apr, 2007

2 commits


24 Apr, 2007

1 commit

  • Change to defer congestion control initialization.

    If setsockopt() was used to change TCP_CONGESTION before
    connection is established, then protocols that use sequence numbers
    to keep track of one RTT interval (vegas, illinois, ...) get confused.

    Change the init hook to be called after handshake.

    Signed-off-by: Stephen Hemminger
    Signed-off-by: David S. Miller

    Stephen Hemminger
     

18 Feb, 2007

1 commit


11 Feb, 2007

1 commit


03 Dec, 2006

3 commits


02 Nov, 2006

1 commit


25 Sep, 2006

1 commit

  • Change how default TCP congestion control is chosen. Don't just use
    last installed module, instead allow selection during configuration,
    and make sure and use the default regardless of load order.

    Signed-off-by: Stephen Hemminger
    Signed-off-by: David S. Miller

    Stephen Hemminger
     

30 Aug, 2006

1 commit


01 Jul, 2006

1 commit


18 Jun, 2006

1 commit

  • Many of the TCP congestion methods all just use ssthresh
    as the minimum congestion window on decrease. Rather than
    duplicating the code, just have that be the default if that
    handle in the ops structure is not set.

    Minor behaviour change to TCP compound. It probably wants
    to use this (ssthresh) as lower bound, rather than ssthresh/2
    because the latter causes undershoot on loss.

    Signed-off-by: Stephen Hemminger
    Signed-off-by: David S. Miller

    Stephen Hemminger
     

29 Mar, 2006

1 commit


04 Jan, 2006

1 commit

  • TCP inline usage cleanup:
    * get rid of inline in several places
    * replace __inline__ with inline where possible
    * move functions used in one file out of tcp.h
    * let compiler decide on used once cases

    On x86_64:
    text data bss dec hex filename
    3594701 648348 567400 4810449 4966d1 vmlinux.orig
    3593133 648580 567400 4809113 496199 vmlinux

    On sparc64:
    text data bss dec hex filename
    2538278 406152 530392 3474822 350586 vmlinux.ORIG
    2536382 406384 530392 3473158 34ff06 vmlinux

    Signed-off-by: Stephen Hemminger
    Signed-off-by: David S. Miller

    Stephen Hemminger
     

11 Nov, 2005

3 commits

  • This is an updated version of the RFC3465 ABC patch originally
    for Linux 2.6.11-rc4 by Yee-Ting Li. ABC is a way of counting
    bytes ack'd rather than packets when updating congestion control.

    The orignal ABC described in the RFC applied to a Reno style
    algorithm. For advanced congestion control there is little
    change after leaving slow start.

    Signed-off-by: Stephen Hemminger
    Signed-off-by: David S. Miller

    Stephen Hemminger
     
  • Move all the code that does linear TCP slowstart to one
    inline function to ease later patch to add ABC support.

    Signed-off-by: Stephen Hemminger
    Signed-off-by: David S. Miller

    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: Stephen Hemminger
    Signed-off-by: David S. Miller

    Stephen Hemminger
     

30 Aug, 2005

1 commit

  • 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: Arnaldo Carvalho de Melo
    Signed-off-by: David S. Miller

    Arnaldo Carvalho de Melo
     

24 Jun, 2005

2 commits