summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorIlpo Järvinen <ilpo.jarvinen@helsinki.fi>2007-11-26 20:17:38 +0800
committerDavid S. Miller <davem@davemloft.net>2008-01-28 14:55:05 -0800
commit8512430e554a84275669f78f86dce18566d5cf7a (patch)
tree86c3743da48dbe20c2eda691b957310dd0181ad2
parent82d8a867ffaed7fe58e789103b32c0fc6b79dafd (diff)
downloadlinux-8512430e554a84275669f78f86dce18566d5cf7a.tar.gz
linux-8512430e554a84275669f78f86dce18566d5cf7a.tar.bz2
linux-8512430e554a84275669f78f86dce18566d5cf7a.zip
[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 <ilpo.jarvinen@helsinki.fi> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au> Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r--include/net/tcp.h5
-rw-r--r--net/ipv4/tcp_output.c4
2 files changed, 4 insertions, 5 deletions
diff --git a/include/net/tcp.h b/include/net/tcp.h
index f0c5e7a29400..7e583261f3a0 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 030fc69ea217..546f385a405f 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.