All of lore.kernel.org
 help / color / mirror / Atom feed
From: Neal Cardwell <ncardwell@google.com>
To: David Miller <davem@davemloft.net>
Cc: netdev@vger.kernel.org, Neal Cardwell <ncardwell@google.com>
Subject: [PATCH net-next 00/14] tcp: BBR congestion control algorithm
Date: Fri, 16 Sep 2016 14:48:49 -0400	[thread overview]
Message-ID: <1474051743-13311-1-git-send-email-ncardwell@google.com> (raw)

tcp: BBR congestion control algorithm

This patch series implements a new TCP congestion control algorithm:
BBR (Bottleneck Bandwidth and RTT). A paper with a detailed
description of BBR will be published in ACM Queue, September-October
2016, as "BBR: Congestion-Based Congestion Control". BBR is widely
deployed in production at Google.

The patch series starts with a set of supporting infrastructure
changes, including a few that extend the congestion control
framework. The last patch adds BBR as a TCP congestion control
module. Please see individual patches for the details.

Eric Dumazet (1):
  net_sched: sch_fq: add low_rate_threshold parameter

Neal Cardwell (8):
  lib/win_minmax: windowed min or max estimator
  tcp: use windowed min filter library for TCP min_rtt estimation
  tcp: count packets marked lost for a TCP connection
  tcp: allow congestion control module to request TSO skb segment count
  tcp: export tcp_tso_autosize() and parameterize minimum number of TSO
    segments
  tcp: export tcp_mss_to_mtu() for congestion control modules
  tcp: increase ICSK_CA_PRIV_SIZE from 64 bytes to 88
  tcp_bbr: add BBR congestion control

Soheil Hassas Yeganeh (1):
  tcp: track application-limited rate samples

Yuchung Cheng (4):
  tcp: track data delivery rate for a TCP connection
  tcp: export data delivery rate
  tcp: allow congestion control to expand send buffer differently
  tcp: new CC hook to set sending rate with rate_sample in any CA state

 include/linux/tcp.h                |  14 +-
 include/linux/win_minmax.h         |  37 ++
 include/net/inet_connection_sock.h |   4 +-
 include/net/tcp.h                  |  53 ++-
 include/uapi/linux/inet_diag.h     |  13 +
 include/uapi/linux/pkt_sched.h     |   2 +
 include/uapi/linux/tcp.h           |   3 +
 lib/Makefile                       |   2 +-
 lib/win_minmax.c                   |  98 +++++
 net/ipv4/Kconfig                   |  18 +
 net/ipv4/Makefile                  |   3 +-
 net/ipv4/tcp.c                     |  26 +-
 net/ipv4/tcp_bbr.c                 | 875 +++++++++++++++++++++++++++++++++++++
 net/ipv4/tcp_cong.c                |   2 +-
 net/ipv4/tcp_input.c               | 154 +++----
 net/ipv4/tcp_minisocks.c           |   5 +-
 net/ipv4/tcp_output.c              |  27 +-
 net/ipv4/tcp_rate.c                | 186 ++++++++
 net/sched/sch_fq.c                 |  22 +-
 19 files changed, 1445 insertions(+), 99 deletions(-)
 create mode 100644 include/linux/win_minmax.h
 create mode 100644 lib/win_minmax.c
 create mode 100644 net/ipv4/tcp_bbr.c
 create mode 100644 net/ipv4/tcp_rate.c

-- 
2.8.0.rc3.226.g39d4020

             reply	other threads:[~2016-09-16 18:49 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-09-16 18:48 Neal Cardwell [this message]
2016-09-16 18:48 ` [PATCH net-next 01/14] lib/win_minmax: windowed min or max estimator Neal Cardwell
2016-09-16 18:48 ` [PATCH net-next 02/14] tcp: use windowed min filter library for TCP min_rtt estimation Neal Cardwell
2016-09-16 19:21   ` kbuild test robot
2016-09-16 19:25     ` Neal Cardwell
2016-09-16 18:48 ` [PATCH net-next 03/14] net_sched: sch_fq: add low_rate_threshold parameter Neal Cardwell
2016-09-16 18:48 ` [PATCH net-next 04/14] tcp: count packets marked lost for a TCP connection Neal Cardwell
2016-09-16 18:48 ` [PATCH net-next 05/14] tcp: track data delivery rate " Neal Cardwell
2016-09-16 21:38   ` kbuild test robot
2016-09-17 12:09     ` Neal Cardwell
2016-09-16 18:48 ` [PATCH net-next 06/14] tcp: track application-limited rate samples Neal Cardwell
2016-09-16 18:48 ` [PATCH net-next 07/14] tcp: export data delivery rate Neal Cardwell
2016-09-16 21:38   ` kbuild test robot
2016-09-17  3:56   ` kbuild test robot
2016-09-16 20:03     ` Neal Cardwell
2016-09-16 20:11       ` Eric Dumazet
2016-09-16 20:04     ` Eric Dumazet
2016-09-16 18:48 ` [PATCH net-next 08/14] tcp: allow congestion control module to request TSO skb segment count Neal Cardwell
2016-09-16 18:48 ` [PATCH net-next 09/14] tcp: export tcp_tso_autosize() and parameterize minimum number of TSO segments Neal Cardwell
2016-09-16 18:48 ` [PATCH net-next 10/14] tcp: export tcp_mss_to_mtu() for congestion control modules Neal Cardwell
2016-09-16 18:49 ` [PATCH net-next 11/14] tcp: allow congestion control to expand send buffer differently Neal Cardwell
2016-09-16 18:49 ` [PATCH net-next 12/14] tcp: new CC hook to set sending rate with rate_sample in any CA state Neal Cardwell
2016-09-16 18:49 ` [PATCH net-next 13/14] tcp: increase ICSK_CA_PRIV_SIZE from 64 bytes to 88 Neal Cardwell
2016-09-16 18:49 ` [PATCH net-next 14/14] tcp_bbr: add BBR congestion control Neal Cardwell

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1474051743-13311-1-git-send-email-ncardwell@google.com \
    --to=ncardwell@google.com \
    --cc=davem@davemloft.net \
    --cc=netdev@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.