Re: 2.6.12-rc5-mm2: "bic unavailable using TCP reno" messages

From: Adrian Bunk
Date: Thu Jun 02 2005 - 15:47:44 EST


On Thu, Jun 02, 2005 at 10:38:05AM -0700, Stephen Hemminger wrote:
> On Thu, 02 Jun 2005 14:58:17 +0100
> Baruch Even <baruch@xxxxxxxxx> wrote:
>
> >...
>
> Your right, the sysctl handler should be smarter, but that is not the problem here.
> The problem is that the default value is set to be BIC to be compatible with earlier kernels.
> Since 75% of the world isn't smart enough to figure out how to use sysctl, there is a
> question of what the default should be, and what to do if that is missing.
>
> One version had a messy ifdef chain to try and avoid the warning:
>
> char sysctl_tcp_congestion_control[] =
> #if defined(CONFIG_TCP_BIC)
> "bic"
> #elif defined(CONFIG_TCP_HTCP)
> "htcp"
> #else
> "reno"
> #endif
> ;
>
> but that was ugly.
>
> Another possibility is putting it in as yet another config value at kernel build time.
>...


One thing that currently makes all solutions harder (and the #ifdef
example above not ugly but simply wrong) is that you allow modular
congestion control options for the always static net support.

Is this really required?


The IO schedulers have a similar problem, and they are using the #ifdef
approach for selecting the default.


One approach is to actually choose the default using #ifdef's.

You could also do any kind of runtime selection, but please don't print
the warning more than once.


cu
Adrian

--

"Is there not promise of rain?" Ling Tan asked suddenly out
of the darkness. There had been need of rain for many days.
"Only a promise," Lao Er said.
Pearl S. Buck - Dragon Seed

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/