Patchwork tcp: mark BIC as experimental

login
register
mail settings
Submitter stephen hemminger
Date Oct. 30, 2008, 3:36 p.m.
Message ID <20081030083641.55e936b0@extreme>
Download mbox | patch
Permalink /patch/6531/
State Rejected
Delegated to: David Miller
Headers show

Comments

stephen hemminger - Oct. 30, 2008, 3:36 p.m.
Change the configuration defaults to mark BIC as experimental.
BIC is too aggressive and was replaced by CUBIC. Debian was picking
BIC in their default config (should be fixed by now), but the configuration
documentation did not make it explicit that this was a bad idea.

Also update the URLs in the configuration documentation to current
locations.

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>

--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
David Miller - Oct. 31, 2008, 7:50 a.m.
From: Stephen Hemminger <shemminger@vyatta.com>
Date: Thu, 30 Oct 2008 08:36:41 -0700

> Change the configuration defaults to mark BIC as experimental.
> BIC is too aggressive and was replaced by CUBIC. Debian was picking
> BIC in their default config (should be fixed by now), but the configuration
> documentation did not make it explicit that this was a bad idea.
> 
> Also update the URLs in the configuration documentation to current
> locations.
> 
> Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>

I understand your intention, but I'm not so sure we should do this.

It's more than a double standard to make this change, yet still
allow things like HTCP to still be a default.

And you can't even make this selection without asking for
TCP_CONG_ADVANCED.   Well... duh!
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
stephen hemminger - Oct. 31, 2008, 4:41 p.m.
On Fri, 31 Oct 2008 00:50:33 -0700 (PDT)
David Miller <davem@davemloft.net> wrote:

> From: Stephen Hemminger <shemminger@vyatta.com>
> Date: Thu, 30 Oct 2008 08:36:41 -0700
> 
> > Change the configuration defaults to mark BIC as experimental.
> > BIC is too aggressive and was replaced by CUBIC. Debian was picking
> > BIC in their default config (should be fixed by now), but the configuration
> > documentation did not make it explicit that this was a bad idea.
> > 
> > Also update the URLs in the configuration documentation to current
> > locations.
> > 
> > Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
> 
> I understand your intention, but I'm not so sure we should do this.
> 
> It's more than a double standard to make this change, yet still
> allow things like HTCP to still be a default.
> 
> And you can't even make this selection without asking for
> TCP_CONG_ADVANCED.   Well... duh!

Some architectures were setting TCP_CONG_ADVANCED and choosing BIC


arch/arm/configs/at91rm9200dk_defconfig:CONFIG_TCP_CONG_BIC=y
arch/arm/configs/at91rm9200ek_defconfig:CONFIG_TCP_CONG_BIC=y
arch/arm/configs/ateb9200_defconfig:CONFIG_TCP_CONG_BIC=y
arch/arm/configs/collie_defconfig:CONFIG_TCP_CONG_BIC=y
arch/arm/configs/kafa_defconfig:CONFIG_TCP_CONG_BIC=y
arch/arm/configs/kb9202_defconfig:CONFIG_TCP_CONG_BIC=y
arch/arm/configs/ks8695_defconfig:CONFIG_TCP_CONG_BIC=y
arch/arm/configs/lpd7a404_defconfig:CONFIG_TCP_CONG_BIC=y
arch/arm/configs/netx_defconfig:CONFIG_TCP_CONG_BIC=y
arch/arm/configs/pnx4008_defconfig:CONFIG_TCP_CONG_BIC=y
arch/arm/configs/realview_defconfig:CONFIG_TCP_CONG_BIC=y
arch/arm/configs/versatile_defconfig:CONFIG_TCP_CONG_BIC=y
arch/ia64/configs/bigsur_defconfig:CONFIG_TCP_CONG_BIC=y
arch/ia64/configs/gensparse_defconfig:CONFIG_TCP_CONG_BIC=y
arch/ia64/configs/sim_defconfig:CONFIG_TCP_CONG_BIC=y
arch/mips/configs/bcm47xx_defconfig:CONFIG_TCP_CONG_BIC=y
arch/mips/configs/rb532_defconfig:CONFIG_TCP_CONG_BIC=m
arch/mips/configs/tb0287_defconfig:CONFIG_TCP_CONG_BIC=y
arch/powerpc/configs/ppc6xx_defconfig:CONFIG_TCP_CONG_BIC=m
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
David Miller - Oct. 31, 2008, 7:04 p.m.
From: Stephen Hemminger <shemminger@vyatta.com>
Date: Fri, 31 Oct 2008 09:41:13 -0700

> On Fri, 31 Oct 2008 00:50:33 -0700 (PDT)
> David Miller <davem@davemloft.net> wrote:
> 
> > From: Stephen Hemminger <shemminger@vyatta.com>
> > Date: Thu, 30 Oct 2008 08:36:41 -0700
> > 
> > > Change the configuration defaults to mark BIC as experimental.
> > > BIC is too aggressive and was replaced by CUBIC. Debian was picking
> > > BIC in their default config (should be fixed by now), but the configuration
> > > documentation did not make it explicit that this was a bad idea.
> > > 
> > > Also update the URLs in the configuration documentation to current
> > > locations.
> > > 
> > > Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
> > 
> > I understand your intention, but I'm not so sure we should do this.
> > 
> > It's more than a double standard to make this change, yet still
> > allow things like HTCP to still be a default.
> > 
> > And you can't even make this selection without asking for
> > TCP_CONG_ADVANCED.   Well... duh!
> 
> Some architectures were setting TCP_CONG_ADVANCED and choosing BIC

I'm sure you can find a pile of other nonsense settings in the arch
defconfigs if you keep looking.  And those should be similarly fixed,
but in the arch defconfigs.

But that has no bearing on what we're discussing here.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Patch

--- a/net/ipv4/Kconfig	2008-10-29 14:58:40.000000000 -0700
+++ b/net/ipv4/Kconfig	2008-10-30 08:18:08.000000000 -0700
@@ -437,7 +437,8 @@  if TCP_CONG_ADVANCED
 
 config TCP_CONG_BIC
 	tristate "Binary Increase Congestion (BIC) control"
-	default m
+	depends on EXPERIMENTAL
+	default n
 	---help---
 	BIC-TCP is a sender-side only change that ensures a linear RTT
 	fairness under large windows while offering both scalability and
@@ -447,15 +448,24 @@  config TCP_CONG_BIC
 	increment ensures linear RTT fairness as well as good
 	scalability. Under small congestion windows, binary search
 	increase provides TCP friendliness.
-	See http://www.csc.ncsu.edu/faculty/rhee/export/bitcp/
+
+	BIC growth function is too aggressive and should not be used
+	except for testing and comparision, use CUBIC instead.
+
+	For further details see:
+           http://netsrv.csc.ncsu.edu/twiki/bin/view/Main/BIC
 
 config TCP_CONG_CUBIC
 	tristate "CUBIC TCP"
 	default y
 	---help---
-	This is version 2.0 of BIC-TCP which uses a cubic growth function
-	among other techniques.
-	See http://www.csc.ncsu.edu/faculty/rhee/export/bitcp/cubic-paper.pdf
+	CUBIC TCP is an sender-side only modification to the congestion control
+	algothrim improved versions on the growth function of BIC and has an
+	improved slow start algoritm, called HyStart.
+
+	For further details see:
+           http://netsrv.csc.ncsu.edu/twiki/bin/view/Main/BIC
+
 
 config TCP_CONG_WESTWOOD
 	tristate "TCP Westwood+"
@@ -581,9 +591,6 @@  choice
 	  Select the TCP congestion control that will be used by default
 	  for all connections.
 
-	config DEFAULT_BIC
-		bool "Bic" if TCP_CONG_BIC=y
-
 	config DEFAULT_CUBIC
 		bool "Cubic" if TCP_CONG_CUBIC=y
 
@@ -610,7 +617,6 @@  config TCP_CONG_CUBIC
 
 config DEFAULT_TCP_CONG
 	string
-	default "bic" if DEFAULT_BIC
 	default "cubic" if DEFAULT_CUBIC
 	default "htcp" if DEFAULT_HTCP
 	default "vegas" if DEFAULT_VEGAS