[PATCH] tcp: turn ABC off

Subsystems: documentation, networking [general], networking [tcp], the rest

STALE7305d

3 messages, 3 authors, 2006-09-02 · open the first message on its own page

[PATCH] tcp: turn ABC off

From: Stephen Hemminger <hidden>
Date: 2006-09-01 20:55:53

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 <redacted>

---

 Documentation/networking/ip-sysctl.txt |   12 +++++++++---
 net/ipv4/tcp_input.c                   |    2 +-
 2 files changed, 10 insertions(+), 4 deletions(-)

3988eb0b87288c0d30c165742af7fc7a733100ab
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.	*/
-- 
1.2.4


-- 
VGER BF report: U 0.5

Re: [PATCH] tcp: turn ABC off

From: Evgeniy Polyakov <hidden>
Date: 2006-09-02 07:23:38

On Fri, Sep 01, 2006 at 01:55:15PM -0700, Stephen Hemminger (shemminger@osdl.org) wrote:
quoted hunk
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;
Since it is not static are you sure it will be zero?

-- 
	Evgeniy Polyakov

-- 
VGER BF report: H 8.21099e-10

Re: [PATCH] tcp: turn ABC off

From: Herbert Xu <herbert@gondor.apana.org.au>
Date: 2006-09-02 08:11:14

Evgeniy Polyakov [off-list ref] wrote:
On Fri, Sep 01, 2006 at 01:55:15PM -0700, Stephen Hemminger (shemminger@osdl.org) wrote:
quoted
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;
Since it is not static are you sure it will be zero?
Outside a function the static modifier merely modifies whether the
symbol is visible externally.  It does not control whether it gets
zeroed.  And yes this will get zeroed.

Cheers,
-- 
Visit Openswan at http://www.openswan.org/
Email: Herbert Xu ~{PmV>HI~} [off-list ref]
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt

-- 
VGER BF report: U 0.49998
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help