02 Mar, 2017

1 commit


21 Sep, 2016

1 commit

  • The upcoming change "lib/win_minmax: windowed min or max estimator"
    introduces a struct called minmax, which is then included in
    include/linux/tcp.h in the upcoming change "tcp: use windowed min
    filter library for TCP min_rtt estimation". This would create a
    compilation error for tcp_cdg.c, which defines its own minmax
    struct. To avoid this naming conflict (and potentially others in the
    future), this commit renames the version used in tcp_cdg.c to
    cdg_minmax.

    Signed-off-by: Soheil Hassas Yeganeh
    Signed-off-by: Neal Cardwell
    Signed-off-by: Yuchung Cheng
    Signed-off-by: Eric Dumazet
    Cc: Kenneth Klette Jonassen
    Acked-by: Kenneth Klette Jonassen
    Signed-off-by: David S. Miller

    Soheil Hassas Yeganeh
     

12 May, 2016

1 commit

  • Replace 2 arguments (cnt and rtt) in the congestion control modules'
    pkts_acked() function with a struct. This will allow adding more
    information without having to modify existing congestion control
    modules (tcp_nv in particular needs bytes in flight when packet
    was sent).

    As proposed by Neal Cardwell in his comments to the tcp_nv patch.

    Signed-off-by: Lawrence Brakmo
    Acked-by: Yuchung Cheng
    Signed-off-by: David S. Miller

    Lawrence Brakmo
     

03 May, 2016

1 commit

  • We want to to make TCP stack preemptible, as draining prequeue
    and backlog queues can take lot of time.

    Many SNMP updates were assuming that BH (and preemption) was disabled.

    Need to convert some __NET_INC_STATS() calls to NET_INC_STATS()
    and some __TCP_INC_STATS() to TCP_INC_STATS()

    Before using this_cpu_ptr(net->ipv4.tcp_sk) in tcp_v4_send_reset()
    and tcp_v4_send_ack(), we add an explicit preempt disabled section.

    Signed-off-by: Eric Dumazet
    Acked-by: Soheil Hassas Yeganeh
    Signed-off-by: David S. Miller

    Eric Dumazet
     

28 Apr, 2016

1 commit


10 Jul, 2015

1 commit

  • In the original design slow start is only used to raise cwnd
    when cwnd is stricly below ssthresh. It makes little sense
    to slow start when cwnd == ssthresh: especially
    when hystart has set ssthresh in the initial ramp, or after
    recovery when cwnd resets to ssthresh. Not doing so will
    also help reduce the buffer bloat slightly.

    Signed-off-by: Yuchung Cheng
    Signed-off-by: Neal Cardwell
    Signed-off-by: Eric Dumazet
    Signed-off-by: Nandita Dukkipati
    Signed-off-by: David S. Miller

    Yuchung Cheng
     

15 Jun, 2015

1 commit


11 Jun, 2015

1 commit

  • CAIA Delay-Gradient (CDG) is a TCP congestion control that modifies
    the TCP sender in order to [1]:

    o Use the delay gradient as a congestion signal.
    o Back off with an average probability that is independent of the RTT.
    o Coexist with flows that use loss-based congestion control, i.e.,
    flows that are unresponsive to the delay signal.
    o Tolerate packet loss unrelated to congestion. (Disabled by default.)

    Its FreeBSD implementation was presented for the ICCRG in July 2012;
    slides are available at http://www.ietf.org/proceedings/84/iccrg.html

    Running the experiment scenarios in [1] suggests that our implementation
    achieves more goodput compared with FreeBSD 10.0 senders, although it also
    causes more queueing delay for a given backoff factor.

    The loss tolerance heuristic is disabled by default due to safety concerns
    for its use in the Internet [2, p. 45-46].

    We use a variant of the Hybrid Slow start algorithm in tcp_cubic to reduce
    the probability of slow start overshoot.

    [1] D.A. Hayes and G. Armitage. "Revisiting TCP congestion control using
    delay gradients." In Networking 2011, pages 328-341. Springer, 2011.
    [2] K.K. Jonassen. "Implementing CAIA Delay-Gradient in Linux."
    MSc thesis. Department of Informatics, University of Oslo, 2015.

    Cc: Eric Dumazet
    Cc: Yuchung Cheng
    Cc: Stephen Hemminger
    Cc: Neal Cardwell
    Cc: David Hayes
    Cc: Andreas Petlund
    Cc: Dave Taht
    Cc: Nicolas Kuhn
    Signed-off-by: Kenneth Klette Jonassen
    Acked-by: Yuchung Cheng
    Signed-off-by: David S. Miller

    Kenneth Klette Jonassen