aboutsummaryrefslogtreecommitdiffstats
path: root/net/ipv4/tcp_timer.c
diff options
context:
space:
mode:
authorDavid S. Miller <davem@sunset.davemloft.net>2007-03-07 15:12:44 -0500
committerDavid S. Miller <davem@sunset.davemloft.net>2007-04-26 01:24:02 -0400
commitfe067e8ab5e0dc5ca3c54634924c628da92090b4 (patch)
tree98f5a6ebbb770f16682cfc52caea2da1e7eeb73b /net/ipv4/tcp_timer.c
parent02ea4923b4997d7e1310c027081f46d584b9d714 (diff)
[TCP]: Abstract out all write queue operations.
This allows the write queue implementation to be changed, for example, to one which allows fast interval searching. Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/ipv4/tcp_timer.c')
-rw-r--r--net/ipv4/tcp_timer.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/net/ipv4/tcp_timer.c b/net/ipv4/tcp_timer.c
index a9243cfc1bea..2ca97b20929d 100644
--- a/net/ipv4/tcp_timer.c
+++ b/net/ipv4/tcp_timer.c
@@ -233,7 +233,7 @@ static void tcp_probe_timer(struct sock *sk)
233 struct tcp_sock *tp = tcp_sk(sk); 233 struct tcp_sock *tp = tcp_sk(sk);
234 int max_probes; 234 int max_probes;
235 235
236 if (tp->packets_out || !sk->sk_send_head) { 236 if (tp->packets_out || !tcp_send_head(sk)) {
237 icsk->icsk_probes_out = 0; 237 icsk->icsk_probes_out = 0;
238 return; 238 return;
239 } 239 }
@@ -284,7 +284,7 @@ static void tcp_retransmit_timer(struct sock *sk)
284 if (!tp->packets_out) 284 if (!tp->packets_out)
285 goto out; 285 goto out;
286 286
287 BUG_TRAP(!skb_queue_empty(&sk->sk_write_queue)); 287 BUG_TRAP(!tcp_write_queue_empty(sk));
288 288
289 if (!tp->snd_wnd && !sock_flag(sk, SOCK_DEAD) && 289 if (!tp->snd_wnd && !sock_flag(sk, SOCK_DEAD) &&
290 !((1 << sk->sk_state) & (TCPF_SYN_SENT | TCPF_SYN_RECV))) { 290 !((1 << sk->sk_state) & (TCPF_SYN_SENT | TCPF_SYN_RECV))) {
@@ -306,7 +306,7 @@ static void tcp_retransmit_timer(struct sock *sk)
306 goto out; 306 goto out;
307 } 307 }
308 tcp_enter_loss(sk, 0); 308 tcp_enter_loss(sk, 0);
309 tcp_retransmit_skb(sk, skb_peek(&sk->sk_write_queue)); 309 tcp_retransmit_skb(sk, tcp_write_queue_head(sk));
310 __sk_dst_reset(sk); 310 __sk_dst_reset(sk);
311 goto out_reset_timer; 311 goto out_reset_timer;
312 } 312 }
@@ -341,7 +341,7 @@ static void tcp_retransmit_timer(struct sock *sk)
341 tcp_enter_loss(sk, 0); 341 tcp_enter_loss(sk, 0);
342 } 342 }
343 343
344 if (tcp_retransmit_skb(sk, skb_peek(&sk->sk_write_queue)) > 0) { 344 if (tcp_retransmit_skb(sk, tcp_write_queue_head(sk)) > 0) {
345 /* Retransmission failed because of local congestion, 345 /* Retransmission failed because of local congestion,
346 * do not backoff. 346 * do not backoff.
347 */ 347 */
@@ -482,7 +482,7 @@ static void tcp_keepalive_timer (unsigned long data)
482 elapsed = keepalive_time_when(tp); 482 elapsed = keepalive_time_when(tp);
483 483
484 /* It is alive without keepalive 8) */ 484 /* It is alive without keepalive 8) */
485 if (tp->packets_out || sk->sk_send_head) 485 if (tp->packets_out || tcp_send_head(sk))
486 goto resched; 486 goto resched;
487 487
488 elapsed = tcp_time_stamp - tp->rcv_tstamp; 488 elapsed = tcp_time_stamp - tp->rcv_tstamp;