diff options
author | David S. Miller <davem@sunset.davemloft.net> | 2007-03-07 15:12:44 -0500 |
---|---|---|
committer | David S. Miller <davem@sunset.davemloft.net> | 2007-04-26 01:24:02 -0400 |
commit | fe067e8ab5e0dc5ca3c54634924c628da92090b4 (patch) | |
tree | 98f5a6ebbb770f16682cfc52caea2da1e7eeb73b /net/ipv4/tcp_timer.c | |
parent | 02ea4923b4997d7e1310c027081f46d584b9d714 (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.c | 10 |
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; |