[TCP]: Move FRTO checks out from write queue abstraction funcs
authorIlpo Järvinen <ilpo.jarvinen@helsinki.fi>
Mon, 26 Nov 2007 12:17:38 +0000 (20:17 +0800)
committerDavid S. Miller <davem@davemloft.net>
Mon, 28 Jan 2008 22:55:05 +0000 (14:55 -0800)
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 <ilpo.jarvinen@helsinki.fi>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
include/net/tcp.h
net/ipv4/tcp_output.c

index f0c5e7a2940045fbe80da96c41f1078ea5236e8a..7e583261f3a0adc892f91aa954faddca3be087c6 100644 (file)
@@ -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)
index 030fc69ea217b9495b87b706ba4e35e28ce412d4..546f385a405ff02cd490ef2df40030a42b2ed840 100644 (file)
@@ -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.