diff options
author | Ilpo Järvinen <ilpo.jarvinen@helsinki.fi> | 2007-11-26 07:17:38 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2008-01-28 17:55:05 -0500 |
commit | 8512430e554a84275669f78f86dce18566d5cf7a (patch) | |
tree | 86c3743da48dbe20c2eda691b957310dd0181ad2 | |
parent | 82d8a867ffaed7fe58e789103b32c0fc6b79dafd (diff) |
[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.h | 5 | ||||
-rw-r--r-- | net/ipv4/tcp_output.c | 4 |
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) | |||
1236 | 1236 | ||
1237 | static inline void tcp_advance_send_head(struct sock *sk, struct sk_buff *skb) | 1237 | static inline void tcp_advance_send_head(struct sock *sk, struct sk_buff *skb) |
1238 | { | 1238 | { |
1239 | struct tcp_sock *tp = tcp_sk(sk); | ||
1240 | |||
1241 | sk->sk_send_head = skb->next; | 1239 | sk->sk_send_head = skb->next; |
1242 | if (sk->sk_send_head == (struct sk_buff *)&sk->sk_write_queue) | 1240 | if (sk->sk_send_head == (struct sk_buff *)&sk->sk_write_queue) |
1243 | sk->sk_send_head = NULL; | 1241 | sk->sk_send_head = NULL; |
1244 | /* Don't override Nagle indefinately with F-RTO */ | ||
1245 | if (tp->frto_counter == 2) | ||
1246 | tp->frto_counter = 3; | ||
1247 | } | 1242 | } |
1248 | 1243 | ||
1249 | static inline void tcp_check_send_head(struct sock *sk, struct sk_buff *skb_unlinked) | 1244 | 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) | |||
80 | tcp_advance_send_head(sk, skb); | 80 | tcp_advance_send_head(sk, skb); |
81 | tp->snd_nxt = TCP_SKB_CB(skb)->end_seq; | 81 | tp->snd_nxt = TCP_SKB_CB(skb)->end_seq; |
82 | tcp_packets_out_inc(sk, skb); | 82 | tcp_packets_out_inc(sk, skb); |
83 | |||
84 | /* Don't override Nagle indefinately with F-RTO */ | ||
85 | if (tp->frto_counter == 2) | ||
86 | tp->frto_counter = 3; | ||
83 | } | 87 | } |
84 | 88 | ||
85 | /* SND.NXT, if window was not shrunk. | 89 | /* SND.NXT, if window was not shrunk. |