Re: [NOT VERY SAFE] [TCP]: Set initial_ssthresh default to zeroin Cubic and BIC.

From: Komuro
Date: Sun Oct 14 2007 - 00:30:19 EST



Dear David

>Komuro, every single email I sent to you bounces with "user unknown",
>I bet it is some spam filter or similar that doesn't like the
>fact that I lack reverse DNS.

>From mailing-list-archive,
I can read your email.

Best Regards
Komuro

> Dear David
>
> Actually, tcp_sk(sk)->snd_ssthresh is not initialized,
> if initial_ssthresh is 0.
>
> The patch should be
>
> static void bictcp_init(struct sock *sk)
> {
> bictcp_reset(inet_csk_ca(sk));
> - if (initial_ssthresh)
> - tcp_sk(sk)->snd_ssthresh = initial_ssthresh;
> +
> + tcp_sk(sk)->snd_ssthresh = initial_ssthresh;
> }
>
> Best Regards
> Komuro
>
> >
> > Dear David
> >
> > The patch "[TCP]: Set initial_ssthresh default to zero in Cubic and BIC."
> > is not very safe.
> >
> > With this patch, ftp-transfer stops in my system.
> > (vsftpd-2.0.5-8)
> >
> > Please revert this patch.
> >
> >
> > Best Regards
> > Komuro
> >
> > >commit 66e1e3b20cbbf99da63e6c1af0fc6d39c2ed099a
> > >Author: David S. Miller <davem@xxxxxxxxxxxxxxxxxxxx>
> > >Date: Wed Jun 13 01:03:53 2007 -0700
> > >
> > > [TCP]: Set initial_ssthresh default to zero in Cubic and BIC.
> > >
> > > Because of the current default of 100, Cubic and BIC perform very
> > > poorly compared to standard Reno.
> > >
> > > In the worst case, this change makes Cubic and BIC as aggressive as
> > > Reno. So this change should be very safe.
> > >
> > > Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
> > >
> > >diff --git a/net/ipv4/tcp_bic.c b/net/ipv4/tcp_bic.c
> > >index 281c9f9..dd9ef65 100644
> > >--- a/net/ipv4/tcp_bic.c
> > >+++ b/net/ipv4/tcp_bic.c
> > >@@ -29,7 +29,7 @@ static int fast_convergence = 1;
> > > static int max_increment = 16;
> > > static int low_window = 14;
> > > static int beta = 819; /* = 819/1024 (BICTCP_BETA_SCALE) */
> > >-static int initial_ssthresh = 100;
> > >+static int initial_ssthresh;
> > > static int smooth_part = 20;
> > >
> > > module_param(fast_convergence, int, 0644);
> > >diff --git a/net/ipv4/tcp_cubic.c b/net/ipv4/tcp_cubic.c
> > >index 1422448..ebfaac2 100644
> > >--- a/net/ipv4/tcp_cubic.c
> > >+++ b/net/ipv4/tcp_cubic.c
> > >@@ -29,7 +29,7 @@
> > > static int fast_convergence __read_mostly = 1;
> > > static int max_increment __read_mostly = 16;
> > > static int beta __read_mostly = 819; /* = 819/1024 (BICTCP_BETA_SCALE) */
> > >-static int initial_ssthresh __read_mostly = 100;
> > >+static int initial_ssthresh __read_mostly;
> > > static int bic_scale __read_mostly = 41;
> > > static int tcp_friendliness __read_mostly = 1;
> > >
>
>
> --
> Komuro <komurojun@xxxxxxxxx>


--
Komuro <komurojun@xxxxxxxxx>
-
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/