diff options
author | Andreas Petlund <apetlund@simula.no> | 2010-02-17 21:47:01 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2010-02-18 18:43:08 -0500 |
commit | 36e31b0af58728071e8023cf8e20c5166b700717 (patch) | |
tree | 8b4d251bf78965ac7501bea9011786b8255a3312 /net/ipv4/sysctl_net_ipv4.c | |
parent | 5aa4b32fc86408705337e941ed716880c63d1590 (diff) |
net: TCP thin linear timeouts
This patch will make TCP use only linear timeouts if the
stream is thin. This will help to avoid the very high latencies
that thin stream suffer because of exponential backoff. This
mechanism is only active if enabled by iocontrol or syscontrol
and the stream is identified as thin. A maximum of 6 linear
timeouts is tried before exponential backoff is resumed.
Signed-off-by: Andreas Petlund <apetlund@simula.no>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/ipv4/sysctl_net_ipv4.c')
-rw-r--r-- | net/ipv4/sysctl_net_ipv4.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/net/ipv4/sysctl_net_ipv4.c b/net/ipv4/sysctl_net_ipv4.c index 7e3712ce3994..e6a2460587d4 100644 --- a/net/ipv4/sysctl_net_ipv4.c +++ b/net/ipv4/sysctl_net_ipv4.c | |||
@@ -576,6 +576,13 @@ static struct ctl_table ipv4_table[] = { | |||
576 | .proc_handler = proc_dointvec | 576 | .proc_handler = proc_dointvec |
577 | }, | 577 | }, |
578 | { | 578 | { |
579 | .procname = "tcp_thin_linear_timeouts", | ||
580 | .data = &sysctl_tcp_thin_linear_timeouts, | ||
581 | .maxlen = sizeof(int), | ||
582 | .mode = 0644, | ||
583 | .proc_handler = proc_dointvec | ||
584 | }, | ||
585 | { | ||
579 | .procname = "udp_mem", | 586 | .procname = "udp_mem", |
580 | .data = &sysctl_udp_mem, | 587 | .data = &sysctl_udp_mem, |
581 | .maxlen = sizeof(sysctl_udp_mem), | 588 | .maxlen = sizeof(sysctl_udp_mem), |