diff options
author | stephen hemminger <shemminger@vyatta.com> | 2011-03-14 03:52:14 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2011-03-14 18:54:39 -0400 |
commit | aac46324e12a2bf2e9e0855ad6a287945e34ad39 (patch) | |
tree | 3f6fc25d6fb597cf051de4426f1c81e7f145c3a5 /net | |
parent | c54b4b7655447c1f24f6d50779c22eba9ee0fd24 (diff) |
tcp_cubic: make ack train delta value a parameter
Make the spacing between ACK's that indicates a train a tuneable
value like other hystart values.
Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net')
-rw-r--r-- | net/ipv4/tcp_cubic.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/net/ipv4/tcp_cubic.c b/net/ipv4/tcp_cubic.c index 43bb34c9b8bf..66d3b00233ec 100644 --- a/net/ipv4/tcp_cubic.c +++ b/net/ipv4/tcp_cubic.c | |||
@@ -52,6 +52,7 @@ static int tcp_friendliness __read_mostly = 1; | |||
52 | static int hystart __read_mostly = 1; | 52 | static int hystart __read_mostly = 1; |
53 | static int hystart_detect __read_mostly = HYSTART_ACK_TRAIN | HYSTART_DELAY; | 53 | static int hystart_detect __read_mostly = HYSTART_ACK_TRAIN | HYSTART_DELAY; |
54 | static int hystart_low_window __read_mostly = 16; | 54 | static int hystart_low_window __read_mostly = 16; |
55 | static int hystart_ack_delta __read_mostly = 2; | ||
55 | 56 | ||
56 | static u32 cube_rtt_scale __read_mostly; | 57 | static u32 cube_rtt_scale __read_mostly; |
57 | static u32 beta_scale __read_mostly; | 58 | static u32 beta_scale __read_mostly; |
@@ -75,6 +76,8 @@ MODULE_PARM_DESC(hystart_detect, "hyrbrid slow start detection mechanisms" | |||
75 | " 1: packet-train 2: delay 3: both packet-train and delay"); | 76 | " 1: packet-train 2: delay 3: both packet-train and delay"); |
76 | module_param(hystart_low_window, int, 0644); | 77 | module_param(hystart_low_window, int, 0644); |
77 | MODULE_PARM_DESC(hystart_low_window, "lower bound cwnd for hybrid slow start"); | 78 | MODULE_PARM_DESC(hystart_low_window, "lower bound cwnd for hybrid slow start"); |
79 | module_param(hystart_ack_delta, int, 0644); | ||
80 | MODULE_PARM_DESC(hystart_ack_delta, "spacing between ack's indicating train (msecs)"); | ||
78 | 81 | ||
79 | /* BIC TCP Parameters */ | 82 | /* BIC TCP Parameters */ |
80 | struct bictcp { | 83 | struct bictcp { |
@@ -343,7 +346,7 @@ static void hystart_update(struct sock *sk, u32 delay) | |||
343 | 346 | ||
344 | /* first detection parameter - ack-train detection */ | 347 | /* first detection parameter - ack-train detection */ |
345 | if ((s32)(curr_jiffies - ca->last_jiffies) <= | 348 | if ((s32)(curr_jiffies - ca->last_jiffies) <= |
346 | msecs_to_jiffies(2)) { | 349 | msecs_to_jiffies(hystart_ack_delta)) { |
347 | ca->last_jiffies = curr_jiffies; | 350 | ca->last_jiffies = curr_jiffies; |
348 | if ((s32) (curr_jiffies - ca->round_start) > | 351 | if ((s32) (curr_jiffies - ca->round_start) > |
349 | ca->delay_min >> 4) | 352 | ca->delay_min >> 4) |