netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: David Miller <davem@davemloft.net>
To: zimmermann@nets.rwth-aachen.de
Cc: ilpo.jarvinen@helsinki.fi, netdev@vger.kernel.org
Subject: Re: TCP Appropriate Byte Counting per default off
Date: Wed, 03 Mar 2010 00:52:03 -0800 (PST)	[thread overview]
Message-ID: <20100303.005203.43404344.davem@davemloft.net> (raw)
In-Reply-To: <A7D42088-84DC-4991-A8AD-E4000B2974DA@nets.rwth-aachen.de>

From: Alexander Zimmermann <zimmermann@nets.rwth-aachen.de>
Date: Wed, 03 Mar 2010 09:21:44 +0100

> I wonder why ABC is off per default? What are the reasons?
> Should we turn it on per default?

Is it so much work to do some research and look at what
was said when the default was changed to off?

Really?

There are also relevant discussions on this mailing list
during the time period surrounding when this change went
in, Sept 13th, 2006

commit b3a8a40da5751525936c88f60bbc6a007f9eee37
Author: Stephen Hemminger <shemminger@osdl.org>
Date:   Wed Sep 13 19:51:02 2006 -0700

    [TCP]: Turn ABC off.
    
    Turn Appropriate Byte Count off by default because it unfairly
    penalizes applications that do small writes.  Add better documentation
    to describe what it is so users will understand why they might want to
    turn it on.
    
    Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
    Signed-off-by: David S. Miller <davem@davemloft.net>

diff --git a/Documentation/networking/ip-sysctl.txt b/Documentation/networking/ip-sysctl.txt
index 3e0c017..90ed781 100644
--- a/Documentation/networking/ip-sysctl.txt
+++ b/Documentation/networking/ip-sysctl.txt
@@ -102,9 +102,15 @@ inet_peer_gc_maxtime - INTEGER
 TCP variables: 
 
 tcp_abc - INTEGER
-	Controls Appropriate Byte Count defined in RFC3465. If set to
-	0 then does congestion avoid once per ack. 1 is conservative
-	value, and 2 is more agressive.
+	Controls Appropriate Byte Count (ABC) defined in RFC3465.
+	ABC is a way of increasing congestion window (cwnd) more slowly
+	in response to partial acknowledgments.
+	Possible values are:
+		0 increase cwnd once per acknowledgment (no ABC)
+		1 increase cwnd once per acknowledgment of full sized segment
+		2 allow increase cwnd by two if acknowledgment is
+		  of two segments to compensate for delayed acknowledgments.
+	Default: 0 (off)
 
 tcp_syn_retries - INTEGER
 	Number of times initial SYNs for an active TCP connection attempt
diff --git a/net/ipv4/tcp_input.c b/net/ipv4/tcp_input.c
index 111ff39..159fa3f 100644
--- a/net/ipv4/tcp_input.c
+++ b/net/ipv4/tcp_input.c
@@ -89,7 +89,7 @@ int sysctl_tcp_frto;
 int sysctl_tcp_nometrics_save;
 
 int sysctl_tcp_moderate_rcvbuf = 1;
-int sysctl_tcp_abc = 1;
+int sysctl_tcp_abc;
 
 #define FLAG_DATA		0x01 /* Incoming frame contained data.		*/
 #define FLAG_WIN_UPDATE		0x02 /* Incoming ACK was a window update.	*/

      parent reply	other threads:[~2010-03-03  8:51 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-03-03  8:21 TCP Appropriate Byte Counting per default off Alexander Zimmermann
2010-03-03  8:48 ` Ilpo Järvinen
2010-03-03  9:33   ` Alexander Zimmermann
2010-03-03  8:52 ` David Miller [this message]

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=20100303.005203.43404344.davem@davemloft.net \
    --to=davem@davemloft.net \
    --cc=ilpo.jarvinen@helsinki.fi \
    --cc=netdev@vger.kernel.org \
    --cc=zimmermann@nets.rwth-aachen.de \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).