From: Ilpo Järvinen Date: Mon, 26 Nov 2007 12:17:38 +0000 (+0800) Subject: [TCP]: Move FRTO checks out from write queue abstraction funcs X-Git-Tag: v2.6.25-rc1~1162^2~1335 X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=8512430e554a84275669f78f86dce18566d5cf7a;p=linux-2.6 [TCP]: Move FRTO checks out from write queue abstraction funcs Better place exists in update_send_head (other non-queue related adjustments are done there as well) which is the only caller of tcp_advance_send_head (now that the bogus call from mtu_probe is gone). Signed-off-by: Ilpo Järvinen Signed-off-by: Herbert Xu Signed-off-by: David S. Miller --- diff --git a/include/net/tcp.h b/include/net/tcp.h index f0c5e7a294..7e583261f3 100644 --- a/include/net/tcp.h +++ b/include/net/tcp.h @@ -1236,14 +1236,9 @@ static inline struct sk_buff *tcp_send_head(struct sock *sk) static inline void tcp_advance_send_head(struct sock *sk, struct sk_buff *skb) { - struct tcp_sock *tp = tcp_sk(sk); - sk->sk_send_head = skb->next; if (sk->sk_send_head == (struct sk_buff *)&sk->sk_write_queue) sk->sk_send_head = NULL; - /* Don't override Nagle indefinately with F-RTO */ - if (tp->frto_counter == 2) - tp->frto_counter = 3; } static inline void tcp_check_send_head(struct sock *sk, struct sk_buff *skb_unlinked) diff --git a/net/ipv4/tcp_output.c b/net/ipv4/tcp_output.c index 030fc69ea2..546f385a40 100644 --- a/net/ipv4/tcp_output.c +++ b/net/ipv4/tcp_output.c @@ -80,6 +80,10 @@ static void update_send_head(struct sock *sk, struct sk_buff *skb) tcp_advance_send_head(sk, skb); tp->snd_nxt = TCP_SKB_CB(skb)->end_seq; tcp_packets_out_inc(sk, skb); + + /* Don't override Nagle indefinately with F-RTO */ + if (tp->frto_counter == 2) + tp->frto_counter = 3; } /* SND.NXT, if window was not shrunk.