diff options
| author | David S. Miller <davem@davemloft.net> | 2005-07-05 18:18:51 -0400 |
|---|---|---|
| committer | David S. Miller <davem@davemloft.net> | 2005-07-05 18:18:51 -0400 |
| commit | a762a9800752f05fa8768bb0ac35d0e7f1bcfe7f (patch) | |
| tree | 2e92990b86b5bb5404e2f784f7cbb2579609bd95 /include/net | |
| parent | f44b527177d57ed382bfd93e1b55232465f6d058 (diff) | |
[TCP]: Kill extra cwnd validate in __tcp_push_pending_frames().
The tcp_cwnd_validate() function should only be invoked
if we actually send some frames, yet __tcp_push_pending_frames()
will always invoke it. tcp_write_xmit() does the call for us,
so the call here can simply be removed.
Also, tcp_write_xmit() can be marked static.
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include/net')
| -rw-r--r-- | include/net/tcp.h | 26 |
1 files changed, 3 insertions, 23 deletions
diff --git a/include/net/tcp.h b/include/net/tcp.h index 4888f9d3f56b..f32e7aed2c75 100644 --- a/include/net/tcp.h +++ b/include/net/tcp.h | |||
| @@ -848,7 +848,6 @@ extern __u32 cookie_v4_init_sequence(struct sock *sk, struct sk_buff *skb, | |||
| 848 | 848 | ||
| 849 | /* tcp_output.c */ | 849 | /* tcp_output.c */ |
| 850 | 850 | ||
| 851 | extern int tcp_write_xmit(struct sock *, int nonagle); | ||
| 852 | extern void __tcp_data_snd_check(struct sock *sk, struct sk_buff *skb); | 851 | extern void __tcp_data_snd_check(struct sock *sk, struct sk_buff *skb); |
| 853 | extern void __tcp_push_pending_frames(struct sock *sk, struct tcp_sock *tp, | 852 | extern void __tcp_push_pending_frames(struct sock *sk, struct tcp_sock *tp, |
| 854 | unsigned cur_mss, int nonagle); | 853 | unsigned cur_mss, int nonagle); |
| @@ -868,6 +867,9 @@ extern void tcp_push_one(struct sock *, unsigned mss_now); | |||
| 868 | extern void tcp_send_ack(struct sock *sk); | 867 | extern void tcp_send_ack(struct sock *sk); |
| 869 | extern void tcp_send_delayed_ack(struct sock *sk); | 868 | extern void tcp_send_delayed_ack(struct sock *sk); |
| 870 | 869 | ||
| 870 | /* tcp_input.c */ | ||
| 871 | extern void tcp_cwnd_application_limited(struct sock *sk); | ||
| 872 | |||
| 871 | /* tcp_timer.c */ | 873 | /* tcp_timer.c */ |
| 872 | extern void tcp_init_xmit_timers(struct sock *); | 874 | extern void tcp_init_xmit_timers(struct sock *); |
| 873 | extern void tcp_clear_xmit_timers(struct sock *); | 875 | extern void tcp_clear_xmit_timers(struct sock *); |
| @@ -1234,28 +1236,6 @@ static inline void tcp_sync_left_out(struct tcp_sock *tp) | |||
| 1234 | tp->left_out = tp->sacked_out + tp->lost_out; | 1236 | tp->left_out = tp->sacked_out + tp->lost_out; |
| 1235 | } | 1237 | } |
| 1236 | 1238 | ||
| 1237 | extern void tcp_cwnd_application_limited(struct sock *sk); | ||
| 1238 | |||
| 1239 | /* Congestion window validation. (RFC2861) */ | ||
| 1240 | |||
| 1241 | static inline void tcp_cwnd_validate(struct sock *sk, struct tcp_sock *tp) | ||
| 1242 | { | ||
| 1243 | __u32 packets_out = tp->packets_out; | ||
| 1244 | |||
| 1245 | if (packets_out >= tp->snd_cwnd) { | ||
| 1246 | /* Network is feed fully. */ | ||
| 1247 | tp->snd_cwnd_used = 0; | ||
| 1248 | tp->snd_cwnd_stamp = tcp_time_stamp; | ||
| 1249 | } else { | ||
| 1250 | /* Network starves. */ | ||
| 1251 | if (tp->packets_out > tp->snd_cwnd_used) | ||
| 1252 | tp->snd_cwnd_used = tp->packets_out; | ||
| 1253 | |||
| 1254 | if ((s32)(tcp_time_stamp - tp->snd_cwnd_stamp) >= tp->rto) | ||
| 1255 | tcp_cwnd_application_limited(sk); | ||
| 1256 | } | ||
| 1257 | } | ||
| 1258 | |||
| 1259 | /* Set slow start threshould and cwnd not falling to slow start */ | 1239 | /* Set slow start threshould and cwnd not falling to slow start */ |
| 1260 | static inline void __tcp_enter_cwr(struct tcp_sock *tp) | 1240 | static inline void __tcp_enter_cwr(struct tcp_sock *tp) |
| 1261 | { | 1241 | { |
