diff options
-rw-r--r-- | include/net/tcp.h | 4 | ||||
-rw-r--r-- | net/ipv4/tcp_bic.c | 3 | ||||
-rw-r--r-- | net/ipv4/tcp_cong.c | 2 | ||||
-rw-r--r-- | net/ipv4/tcp_cubic.c | 3 | ||||
-rw-r--r-- | net/ipv4/tcp_highspeed.c | 3 | ||||
-rw-r--r-- | net/ipv4/tcp_htcp.c | 3 | ||||
-rw-r--r-- | net/ipv4/tcp_hybla.c | 5 | ||||
-rw-r--r-- | net/ipv4/tcp_illinois.c | 3 | ||||
-rw-r--r-- | net/ipv4/tcp_input.c | 9 | ||||
-rw-r--r-- | net/ipv4/tcp_lp.c | 4 | ||||
-rw-r--r-- | net/ipv4/tcp_scalable.c | 3 | ||||
-rw-r--r-- | net/ipv4/tcp_vegas.c | 7 | ||||
-rw-r--r-- | net/ipv4/tcp_veno.c | 7 | ||||
-rw-r--r-- | net/ipv4/tcp_yeah.c | 3 |
14 files changed, 24 insertions, 35 deletions
diff --git a/include/net/tcp.h b/include/net/tcp.h index 7e583261f3a0..cdd0050b97a4 100644 --- a/include/net/tcp.h +++ b/include/net/tcp.h | |||
@@ -652,7 +652,7 @@ struct tcp_congestion_ops { | |||
652 | /* lower bound for congestion window (optional) */ | 652 | /* lower bound for congestion window (optional) */ |
653 | u32 (*min_cwnd)(const struct sock *sk); | 653 | u32 (*min_cwnd)(const struct sock *sk); |
654 | /* do new cwnd calculation (required) */ | 654 | /* do new cwnd calculation (required) */ |
655 | void (*cong_avoid)(struct sock *sk, u32 ack, u32 in_flight, int good_ack); | 655 | void (*cong_avoid)(struct sock *sk, u32 ack, u32 in_flight); |
656 | /* call before changing ca_state (optional) */ | 656 | /* call before changing ca_state (optional) */ |
657 | void (*set_state)(struct sock *sk, u8 new_state); | 657 | void (*set_state)(struct sock *sk, u8 new_state); |
658 | /* call when cwnd event occurs (optional) */ | 658 | /* call when cwnd event occurs (optional) */ |
@@ -683,7 +683,7 @@ extern void tcp_slow_start(struct tcp_sock *tp); | |||
683 | 683 | ||
684 | extern struct tcp_congestion_ops tcp_init_congestion_ops; | 684 | extern struct tcp_congestion_ops tcp_init_congestion_ops; |
685 | extern u32 tcp_reno_ssthresh(struct sock *sk); | 685 | extern u32 tcp_reno_ssthresh(struct sock *sk); |
686 | extern void tcp_reno_cong_avoid(struct sock *sk, u32 ack, u32 in_flight, int flag); | 686 | extern void tcp_reno_cong_avoid(struct sock *sk, u32 ack, u32 in_flight); |
687 | extern u32 tcp_reno_min_cwnd(const struct sock *sk); | 687 | extern u32 tcp_reno_min_cwnd(const struct sock *sk); |
688 | extern struct tcp_congestion_ops tcp_reno; | 688 | extern struct tcp_congestion_ops tcp_reno; |
689 | 689 | ||
diff --git a/net/ipv4/tcp_bic.c b/net/ipv4/tcp_bic.c index 5dba0fc8f579..5212ed9b0c98 100644 --- a/net/ipv4/tcp_bic.c +++ b/net/ipv4/tcp_bic.c | |||
@@ -136,8 +136,7 @@ static inline void bictcp_update(struct bictcp *ca, u32 cwnd) | |||
136 | ca->cnt = 1; | 136 | ca->cnt = 1; |
137 | } | 137 | } |
138 | 138 | ||
139 | static void bictcp_cong_avoid(struct sock *sk, u32 ack, | 139 | static void bictcp_cong_avoid(struct sock *sk, u32 ack, u32 in_flight) |
140 | u32 in_flight, int data_acked) | ||
141 | { | 140 | { |
142 | struct tcp_sock *tp = tcp_sk(sk); | 141 | struct tcp_sock *tp = tcp_sk(sk); |
143 | struct bictcp *ca = inet_csk_ca(sk); | 142 | struct bictcp *ca = inet_csk_ca(sk); |
diff --git a/net/ipv4/tcp_cong.c b/net/ipv4/tcp_cong.c index 55fca1820c34..4451750b478c 100644 --- a/net/ipv4/tcp_cong.c +++ b/net/ipv4/tcp_cong.c | |||
@@ -324,7 +324,7 @@ EXPORT_SYMBOL_GPL(tcp_slow_start); | |||
324 | /* This is Jacobson's slow start and congestion avoidance. | 324 | /* This is Jacobson's slow start and congestion avoidance. |
325 | * SIGCOMM '88, p. 328. | 325 | * SIGCOMM '88, p. 328. |
326 | */ | 326 | */ |
327 | void tcp_reno_cong_avoid(struct sock *sk, u32 ack, u32 in_flight, int flag) | 327 | void tcp_reno_cong_avoid(struct sock *sk, u32 ack, u32 in_flight) |
328 | { | 328 | { |
329 | struct tcp_sock *tp = tcp_sk(sk); | 329 | struct tcp_sock *tp = tcp_sk(sk); |
330 | 330 | ||
diff --git a/net/ipv4/tcp_cubic.c b/net/ipv4/tcp_cubic.c index 80bd084a9f91..3aa0b23c1ea0 100644 --- a/net/ipv4/tcp_cubic.c +++ b/net/ipv4/tcp_cubic.c | |||
@@ -246,8 +246,7 @@ static inline void bictcp_update(struct bictcp *ca, u32 cwnd) | |||
246 | ca->cnt = 1; | 246 | ca->cnt = 1; |
247 | } | 247 | } |
248 | 248 | ||
249 | static void bictcp_cong_avoid(struct sock *sk, u32 ack, | 249 | static void bictcp_cong_avoid(struct sock *sk, u32 ack, u32 in_flight) |
250 | u32 in_flight, int data_acked) | ||
251 | { | 250 | { |
252 | struct tcp_sock *tp = tcp_sk(sk); | 251 | struct tcp_sock *tp = tcp_sk(sk); |
253 | struct bictcp *ca = inet_csk_ca(sk); | 252 | struct bictcp *ca = inet_csk_ca(sk); |
diff --git a/net/ipv4/tcp_highspeed.c b/net/ipv4/tcp_highspeed.c index 14a073d8b60f..8b6caaf75bb9 100644 --- a/net/ipv4/tcp_highspeed.c +++ b/net/ipv4/tcp_highspeed.c | |||
@@ -109,8 +109,7 @@ static void hstcp_init(struct sock *sk) | |||
109 | tp->snd_cwnd_clamp = min_t(u32, tp->snd_cwnd_clamp, 0xffffffff/128); | 109 | tp->snd_cwnd_clamp = min_t(u32, tp->snd_cwnd_clamp, 0xffffffff/128); |
110 | } | 110 | } |
111 | 111 | ||
112 | static void hstcp_cong_avoid(struct sock *sk, u32 adk, | 112 | static void hstcp_cong_avoid(struct sock *sk, u32 adk, u32 in_flight) |
113 | u32 in_flight, int data_acked) | ||
114 | { | 113 | { |
115 | struct tcp_sock *tp = tcp_sk(sk); | 114 | struct tcp_sock *tp = tcp_sk(sk); |
116 | struct hstcp *ca = inet_csk_ca(sk); | 115 | struct hstcp *ca = inet_csk_ca(sk); |
diff --git a/net/ipv4/tcp_htcp.c b/net/ipv4/tcp_htcp.c index 5215691f2760..af99776146ff 100644 --- a/net/ipv4/tcp_htcp.c +++ b/net/ipv4/tcp_htcp.c | |||
@@ -225,8 +225,7 @@ static u32 htcp_recalc_ssthresh(struct sock *sk) | |||
225 | return max((tp->snd_cwnd * ca->beta) >> 7, 2U); | 225 | return max((tp->snd_cwnd * ca->beta) >> 7, 2U); |
226 | } | 226 | } |
227 | 227 | ||
228 | static void htcp_cong_avoid(struct sock *sk, u32 ack, | 228 | static void htcp_cong_avoid(struct sock *sk, u32 ack, u32 in_flight) |
229 | u32 in_flight, int data_acked) | ||
230 | { | 229 | { |
231 | struct tcp_sock *tp = tcp_sk(sk); | 230 | struct tcp_sock *tp = tcp_sk(sk); |
232 | struct htcp *ca = inet_csk_ca(sk); | 231 | struct htcp *ca = inet_csk_ca(sk); |
diff --git a/net/ipv4/tcp_hybla.c b/net/ipv4/tcp_hybla.c index b3e55cf56171..44618b675916 100644 --- a/net/ipv4/tcp_hybla.c +++ b/net/ipv4/tcp_hybla.c | |||
@@ -85,8 +85,7 @@ static inline u32 hybla_fraction(u32 odds) | |||
85 | * o Give cwnd a new value based on the model proposed | 85 | * o Give cwnd a new value based on the model proposed |
86 | * o remember increments <1 | 86 | * o remember increments <1 |
87 | */ | 87 | */ |
88 | static void hybla_cong_avoid(struct sock *sk, u32 ack, | 88 | static void hybla_cong_avoid(struct sock *sk, u32 ack, u32 in_flight) |
89 | u32 in_flight, int flag) | ||
90 | { | 89 | { |
91 | struct tcp_sock *tp = tcp_sk(sk); | 90 | struct tcp_sock *tp = tcp_sk(sk); |
92 | struct hybla *ca = inet_csk_ca(sk); | 91 | struct hybla *ca = inet_csk_ca(sk); |
@@ -103,7 +102,7 @@ static void hybla_cong_avoid(struct sock *sk, u32 ack, | |||
103 | return; | 102 | return; |
104 | 103 | ||
105 | if (!ca->hybla_en) | 104 | if (!ca->hybla_en) |
106 | return tcp_reno_cong_avoid(sk, ack, in_flight, flag); | 105 | return tcp_reno_cong_avoid(sk, ack, in_flight); |
107 | 106 | ||
108 | if (ca->rho == 0) | 107 | if (ca->rho == 0) |
109 | hybla_recalc_param(sk); | 108 | hybla_recalc_param(sk); |
diff --git a/net/ipv4/tcp_illinois.c b/net/ipv4/tcp_illinois.c index 5aa5f5496d6d..1eba160b72dc 100644 --- a/net/ipv4/tcp_illinois.c +++ b/net/ipv4/tcp_illinois.c | |||
@@ -256,8 +256,7 @@ static void tcp_illinois_state(struct sock *sk, u8 new_state) | |||
256 | /* | 256 | /* |
257 | * Increase window in response to successful acknowledgment. | 257 | * Increase window in response to successful acknowledgment. |
258 | */ | 258 | */ |
259 | static void tcp_illinois_cong_avoid(struct sock *sk, u32 ack, | 259 | static void tcp_illinois_cong_avoid(struct sock *sk, u32 ack, u32 in_flight) |
260 | u32 in_flight, int flag) | ||
261 | { | 260 | { |
262 | struct tcp_sock *tp = tcp_sk(sk); | 261 | struct tcp_sock *tp = tcp_sk(sk); |
263 | struct illinois *ca = inet_csk_ca(sk); | 262 | struct illinois *ca = inet_csk_ca(sk); |
diff --git a/net/ipv4/tcp_input.c b/net/ipv4/tcp_input.c index d313dea361a6..cb441188870c 100644 --- a/net/ipv4/tcp_input.c +++ b/net/ipv4/tcp_input.c | |||
@@ -2710,11 +2710,10 @@ static inline void tcp_ack_update_rtt(struct sock *sk, const int flag, | |||
2710 | tcp_ack_no_tstamp(sk, seq_rtt, flag); | 2710 | tcp_ack_no_tstamp(sk, seq_rtt, flag); |
2711 | } | 2711 | } |
2712 | 2712 | ||
2713 | static void tcp_cong_avoid(struct sock *sk, u32 ack, | 2713 | static void tcp_cong_avoid(struct sock *sk, u32 ack, u32 in_flight) |
2714 | u32 in_flight, int good) | ||
2715 | { | 2714 | { |
2716 | const struct inet_connection_sock *icsk = inet_csk(sk); | 2715 | const struct inet_connection_sock *icsk = inet_csk(sk); |
2717 | icsk->icsk_ca_ops->cong_avoid(sk, ack, in_flight, good); | 2716 | icsk->icsk_ca_ops->cong_avoid(sk, ack, in_flight); |
2718 | tcp_sk(sk)->snd_cwnd_stamp = tcp_time_stamp; | 2717 | tcp_sk(sk)->snd_cwnd_stamp = tcp_time_stamp; |
2719 | } | 2718 | } |
2720 | 2719 | ||
@@ -3238,11 +3237,11 @@ static int tcp_ack(struct sock *sk, struct sk_buff *skb, int flag) | |||
3238 | /* Advance CWND, if state allows this. */ | 3237 | /* Advance CWND, if state allows this. */ |
3239 | if ((flag & FLAG_DATA_ACKED) && !frto_cwnd && | 3238 | if ((flag & FLAG_DATA_ACKED) && !frto_cwnd && |
3240 | tcp_may_raise_cwnd(sk, flag)) | 3239 | tcp_may_raise_cwnd(sk, flag)) |
3241 | tcp_cong_avoid(sk, ack, prior_in_flight, 0); | 3240 | tcp_cong_avoid(sk, ack, prior_in_flight); |
3242 | tcp_fastretrans_alert(sk, prior_packets - tp->packets_out, flag); | 3241 | tcp_fastretrans_alert(sk, prior_packets - tp->packets_out, flag); |
3243 | } else { | 3242 | } else { |
3244 | if ((flag & FLAG_DATA_ACKED) && !frto_cwnd) | 3243 | if ((flag & FLAG_DATA_ACKED) && !frto_cwnd) |
3245 | tcp_cong_avoid(sk, ack, prior_in_flight, 1); | 3244 | tcp_cong_avoid(sk, ack, prior_in_flight); |
3246 | } | 3245 | } |
3247 | 3246 | ||
3248 | if ((flag & FLAG_FORWARD_PROGRESS) || !(flag&FLAG_NOT_DUP)) | 3247 | if ((flag & FLAG_FORWARD_PROGRESS) || !(flag&FLAG_NOT_DUP)) |
diff --git a/net/ipv4/tcp_lp.c b/net/ipv4/tcp_lp.c index e7f5ef92cbd8..ce3c41ff50b2 100644 --- a/net/ipv4/tcp_lp.c +++ b/net/ipv4/tcp_lp.c | |||
@@ -115,12 +115,12 @@ static void tcp_lp_init(struct sock *sk) | |||
115 | * Will only call newReno CA when away from inference. | 115 | * Will only call newReno CA when away from inference. |
116 | * From TCP-LP's paper, this will be handled in additive increasement. | 116 | * From TCP-LP's paper, this will be handled in additive increasement. |
117 | */ | 117 | */ |
118 | static void tcp_lp_cong_avoid(struct sock *sk, u32 ack, u32 in_flight, int flag) | 118 | static void tcp_lp_cong_avoid(struct sock *sk, u32 ack, u32 in_flight) |
119 | { | 119 | { |
120 | struct lp *lp = inet_csk_ca(sk); | 120 | struct lp *lp = inet_csk_ca(sk); |
121 | 121 | ||
122 | if (!(lp->flag & LP_WITHIN_INF)) | 122 | if (!(lp->flag & LP_WITHIN_INF)) |
123 | tcp_reno_cong_avoid(sk, ack, in_flight, flag); | 123 | tcp_reno_cong_avoid(sk, ack, in_flight); |
124 | } | 124 | } |
125 | 125 | ||
126 | /** | 126 | /** |
diff --git a/net/ipv4/tcp_scalable.c b/net/ipv4/tcp_scalable.c index be27a33a1c68..2747ec7bfb63 100644 --- a/net/ipv4/tcp_scalable.c +++ b/net/ipv4/tcp_scalable.c | |||
@@ -15,8 +15,7 @@ | |||
15 | #define TCP_SCALABLE_AI_CNT 50U | 15 | #define TCP_SCALABLE_AI_CNT 50U |
16 | #define TCP_SCALABLE_MD_SCALE 3 | 16 | #define TCP_SCALABLE_MD_SCALE 3 |
17 | 17 | ||
18 | static void tcp_scalable_cong_avoid(struct sock *sk, u32 ack, | 18 | static void tcp_scalable_cong_avoid(struct sock *sk, u32 ack, u32 in_flight) |
19 | u32 in_flight, int flag) | ||
20 | { | 19 | { |
21 | struct tcp_sock *tp = tcp_sk(sk); | 20 | struct tcp_sock *tp = tcp_sk(sk); |
22 | 21 | ||
diff --git a/net/ipv4/tcp_vegas.c b/net/ipv4/tcp_vegas.c index 007304e99842..be24d6ee34bd 100644 --- a/net/ipv4/tcp_vegas.c +++ b/net/ipv4/tcp_vegas.c | |||
@@ -162,14 +162,13 @@ void tcp_vegas_cwnd_event(struct sock *sk, enum tcp_ca_event event) | |||
162 | } | 162 | } |
163 | EXPORT_SYMBOL_GPL(tcp_vegas_cwnd_event); | 163 | EXPORT_SYMBOL_GPL(tcp_vegas_cwnd_event); |
164 | 164 | ||
165 | static void tcp_vegas_cong_avoid(struct sock *sk, u32 ack, | 165 | static void tcp_vegas_cong_avoid(struct sock *sk, u32 ack, u32 in_flight) |
166 | u32 in_flight, int flag) | ||
167 | { | 166 | { |
168 | struct tcp_sock *tp = tcp_sk(sk); | 167 | struct tcp_sock *tp = tcp_sk(sk); |
169 | struct vegas *vegas = inet_csk_ca(sk); | 168 | struct vegas *vegas = inet_csk_ca(sk); |
170 | 169 | ||
171 | if (!vegas->doing_vegas_now) | 170 | if (!vegas->doing_vegas_now) |
172 | return tcp_reno_cong_avoid(sk, ack, in_flight, flag); | 171 | return tcp_reno_cong_avoid(sk, ack, in_flight); |
173 | 172 | ||
174 | /* The key players are v_beg_snd_una and v_beg_snd_nxt. | 173 | /* The key players are v_beg_snd_una and v_beg_snd_nxt. |
175 | * | 174 | * |
@@ -228,7 +227,7 @@ static void tcp_vegas_cong_avoid(struct sock *sk, u32 ack, | |||
228 | /* We don't have enough RTT samples to do the Vegas | 227 | /* We don't have enough RTT samples to do the Vegas |
229 | * calculation, so we'll behave like Reno. | 228 | * calculation, so we'll behave like Reno. |
230 | */ | 229 | */ |
231 | tcp_reno_cong_avoid(sk, ack, in_flight, flag); | 230 | tcp_reno_cong_avoid(sk, ack, in_flight); |
232 | } else { | 231 | } else { |
233 | u32 rtt, target_cwnd, diff; | 232 | u32 rtt, target_cwnd, diff; |
234 | 233 | ||
diff --git a/net/ipv4/tcp_veno.c b/net/ipv4/tcp_veno.c index 8fb2aee0b1a4..d16689e98516 100644 --- a/net/ipv4/tcp_veno.c +++ b/net/ipv4/tcp_veno.c | |||
@@ -114,14 +114,13 @@ static void tcp_veno_cwnd_event(struct sock *sk, enum tcp_ca_event event) | |||
114 | tcp_veno_init(sk); | 114 | tcp_veno_init(sk); |
115 | } | 115 | } |
116 | 116 | ||
117 | static void tcp_veno_cong_avoid(struct sock *sk, u32 ack, | 117 | static void tcp_veno_cong_avoid(struct sock *sk, u32 ack, u32 in_flight) |
118 | u32 in_flight, int flag) | ||
119 | { | 118 | { |
120 | struct tcp_sock *tp = tcp_sk(sk); | 119 | struct tcp_sock *tp = tcp_sk(sk); |
121 | struct veno *veno = inet_csk_ca(sk); | 120 | struct veno *veno = inet_csk_ca(sk); |
122 | 121 | ||
123 | if (!veno->doing_veno_now) | 122 | if (!veno->doing_veno_now) |
124 | return tcp_reno_cong_avoid(sk, ack, in_flight, flag); | 123 | return tcp_reno_cong_avoid(sk, ack, in_flight); |
125 | 124 | ||
126 | /* limited by applications */ | 125 | /* limited by applications */ |
127 | if (!tcp_is_cwnd_limited(sk, in_flight)) | 126 | if (!tcp_is_cwnd_limited(sk, in_flight)) |
@@ -132,7 +131,7 @@ static void tcp_veno_cong_avoid(struct sock *sk, u32 ack, | |||
132 | /* We don't have enough rtt samples to do the Veno | 131 | /* We don't have enough rtt samples to do the Veno |
133 | * calculation, so we'll behave like Reno. | 132 | * calculation, so we'll behave like Reno. |
134 | */ | 133 | */ |
135 | tcp_reno_cong_avoid(sk, ack, in_flight, flag); | 134 | tcp_reno_cong_avoid(sk, ack, in_flight); |
136 | } else { | 135 | } else { |
137 | u32 rtt, target_cwnd; | 136 | u32 rtt, target_cwnd; |
138 | 137 | ||
diff --git a/net/ipv4/tcp_yeah.c b/net/ipv4/tcp_yeah.c index c107fba7430e..e03b10183a8b 100644 --- a/net/ipv4/tcp_yeah.c +++ b/net/ipv4/tcp_yeah.c | |||
@@ -69,8 +69,7 @@ static void tcp_yeah_pkts_acked(struct sock *sk, u32 pkts_acked, s32 rtt_us) | |||
69 | tcp_vegas_pkts_acked(sk, pkts_acked, rtt_us); | 69 | tcp_vegas_pkts_acked(sk, pkts_acked, rtt_us); |
70 | } | 70 | } |
71 | 71 | ||
72 | static void tcp_yeah_cong_avoid(struct sock *sk, u32 ack, | 72 | static void tcp_yeah_cong_avoid(struct sock *sk, u32 ack, u32 in_flight) |
73 | u32 in_flight, int flag) | ||
74 | { | 73 | { |
75 | struct tcp_sock *tp = tcp_sk(sk); | 74 | struct tcp_sock *tp = tcp_sk(sk); |
76 | struct yeah *yeah = inet_csk_ca(sk); | 75 | struct yeah *yeah = inet_csk_ca(sk); |