All of lore.kernel.org
 help / color / mirror / Atom feed
From: Eric Dumazet <edumazet@google.com>
To: "David S . Miller" <davem@davemloft.net>
Cc: netdev <netdev@vger.kernel.org>,
	"Toke Høiland-Jørgensen" <toke@toke.dk>,
	"Neal Cardwell" <ncardwell@google.com>,
	"Yuchung Cheng" <ycheng@google.com>,
	"Soheil Hassas Yeganeh" <soheil@google.com>,
	"Eric Dumazet" <edumazet@google.com>,
	"Eric Dumazet" <eric.dumazet@gmail.com>
Subject: [PATCH net-next 0/4] tcp: implement SACK compression
Date: Thu, 17 May 2018 05:12:09 -0700	[thread overview]
Message-ID: <20180517121213.43559-1-edumazet@google.com> (raw)

When TCP receives an out-of-order packet, it immediately sends
a SACK packet, generating network load but also forcing the
receiver to send 1-MSS pathological packets, increasing its
RTX queue length/depth, and thus processing time.

Wifi networks suffer from this aggressive behavior, but generally
speaking, all these SACK packets add fuel to the fire when networks
are under congestion.

This patch series adds SACK compression, but the infrastructure
could be leveraged to also compress ACK in the future.

Eric Dumazet (4):
  tcp: use __sock_put() instead of sock_put() in tcp_clear_xmit_timers()
  tcp: do not force quickack when receiving out-of-order packets
  tcp: add SACK compression
  tcp: add TCPAckCompressed SNMP counter

 include/linux/tcp.h       |  2 ++
 include/net/tcp.h         |  5 ++++-
 include/uapi/linux/snmp.h |  1 +
 net/ipv4/proc.c           |  1 +
 net/ipv4/tcp.c            |  1 +
 net/ipv4/tcp_input.c      | 33 +++++++++++++++++++++++++--------
 net/ipv4/tcp_output.c     |  9 +++++++++
 net/ipv4/tcp_timer.c      | 25 +++++++++++++++++++++++++
 8 files changed, 68 insertions(+), 9 deletions(-)

-- 
2.17.0.441.gb46fe60e1d-goog

             reply	other threads:[~2018-05-17 12:12 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-05-17 12:12 Eric Dumazet [this message]
2018-05-17 12:12 ` [PATCH net-next 1/4] tcp: use __sock_put() instead of sock_put() in tcp_clear_xmit_timers() Eric Dumazet
2018-05-17 14:53   ` Neal Cardwell
2018-05-17 12:12 ` [PATCH net-next 2/4] tcp: do not force quickack when receiving out-of-order packets Eric Dumazet
2018-05-17 14:55   ` Neal Cardwell
2018-05-17 17:14   ` Soheil Hassas Yeganeh
2018-05-17 12:12 ` [PATCH net-next 3/4] tcp: add SACK compression Eric Dumazet
2018-05-17 15:14   ` Neal Cardwell
2018-05-17 15:40     ` Eric Dumazet
2018-05-17 15:46       ` Eric Dumazet
2018-05-17 16:41       ` Neal Cardwell
2018-05-17 16:59         ` Yuchung Cheng
2018-05-17 17:15           ` Yuchung Cheng
2018-05-17 17:15           ` Eric Dumazet
2018-05-17 12:12 ` [PATCH net-next 4/4] tcp: add TCPAckCompressed SNMP counter Eric Dumazet
2018-05-17 14:55   ` 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=20180517121213.43559-1-edumazet@google.com \
    --to=edumazet@google.com \
    --cc=davem@davemloft.net \
    --cc=eric.dumazet@gmail.com \
    --cc=ncardwell@google.com \
    --cc=netdev@vger.kernel.org \
    --cc=soheil@google.com \
    --cc=toke@toke.dk \
    --cc=ycheng@google.com \
    /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.