tcp: mark BIC as experimental

Submitted by stephen hemminger on Oct. 30, 2008, 3:36 p.m.

Details

Message ID 20081030083641.55e936b0@extreme
State Rejected
Delegated to: David Miller
Headers show

Commit Message

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

Comments

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 hide | download patch | download mbox

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