Re: [PATCH] tcp: add setsockopt to disable slow start after idle

From: Cristian KLEIN
Date: Sat Apr 10 2010 - 08:09:24 EST


On 10/04/2010 07:13, David Miller wrote:
From: Cristian KLEIN<cristiklein@xxxxxxxxx>
Date: Sat, 10 Apr 2010 03:30:15 +0200

Allows user-space to override the sysctl
net.ipv4.tcp_slow_start_after_idle, on a per-socket bases, using
setsockopt().

Slow start after idle can harm some scientific applications which
interleave computation and communication. Assume we have an iterative
applications, each iteration consisting of a computation and a
communication phase. If the computation phase takes long enough (i.e.
more that 2*RTT), the communication phase will always slow start and
might never reach the wire speed.

This patch allows each application to disable slow start after idle,
just like we allow delay-sensitive applications (e.g. telnet, SSH) to
disable NAGLE.

Signed-off-by: Cristian KLEIN<cristiklein@xxxxxxxxx>

We specifically did not add a socket option for this facility.

It is a very dangerous option to enable, and depends deeply
upon the characteristics of your network and the paths by
which remote hosts are reached.

Therefore, only the system administrator can determine whether it is
safe to enable this, and that's why it can only be changed via sysctl.
Lettting arbitrary applications change this aspect of TCP is beyond
dangerous.

I will not be applying this patch.

Could you please explain me why it is dangerous? To me it seems that it's just like allowing applications to disable NAGLE or to choose a congestion control algorithm.
--
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/