mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-06-26 08:31:13 +00:00
[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>
This commit is contained in:
parent
02ea4923b4
commit
fe067e8ab5
7 changed files with 221 additions and 117 deletions
|
@ -233,7 +233,7 @@ static void tcp_probe_timer(struct sock *sk)
|
|||
struct tcp_sock *tp = tcp_sk(sk);
|
||||
int max_probes;
|
||||
|
||||
if (tp->packets_out || !sk->sk_send_head) {
|
||||
if (tp->packets_out || !tcp_send_head(sk)) {
|
||||
icsk->icsk_probes_out = 0;
|
||||
return;
|
||||
}
|
||||
|
@ -284,7 +284,7 @@ static void tcp_retransmit_timer(struct sock *sk)
|
|||
if (!tp->packets_out)
|
||||
goto out;
|
||||
|
||||
BUG_TRAP(!skb_queue_empty(&sk->sk_write_queue));
|
||||
BUG_TRAP(!tcp_write_queue_empty(sk));
|
||||
|
||||
if (!tp->snd_wnd && !sock_flag(sk, SOCK_DEAD) &&
|
||||
!((1 << sk->sk_state) & (TCPF_SYN_SENT | TCPF_SYN_RECV))) {
|
||||
|
@ -306,7 +306,7 @@ static void tcp_retransmit_timer(struct sock *sk)
|
|||
goto out;
|
||||
}
|
||||
tcp_enter_loss(sk, 0);
|
||||
tcp_retransmit_skb(sk, skb_peek(&sk->sk_write_queue));
|
||||
tcp_retransmit_skb(sk, tcp_write_queue_head(sk));
|
||||
__sk_dst_reset(sk);
|
||||
goto out_reset_timer;
|
||||
}
|
||||
|
@ -341,7 +341,7 @@ static void tcp_retransmit_timer(struct sock *sk)
|
|||
tcp_enter_loss(sk, 0);
|
||||
}
|
||||
|
||||
if (tcp_retransmit_skb(sk, skb_peek(&sk->sk_write_queue)) > 0) {
|
||||
if (tcp_retransmit_skb(sk, tcp_write_queue_head(sk)) > 0) {
|
||||
/* Retransmission failed because of local congestion,
|
||||
* do not backoff.
|
||||
*/
|
||||
|
@ -482,7 +482,7 @@ static void tcp_keepalive_timer (unsigned long data)
|
|||
elapsed = keepalive_time_when(tp);
|
||||
|
||||
/* It is alive without keepalive 8) */
|
||||
if (tp->packets_out || sk->sk_send_head)
|
||||
if (tp->packets_out || tcp_send_head(sk))
|
||||
goto resched;
|
||||
|
||||
elapsed = tcp_time_stamp - tp->rcv_tstamp;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue