aboutsummaryrefslogtreecommitdiffstats
path: root/net/ipv4/tcp_output.c
diff options
context:
space:
mode:
Diffstat (limited to 'net/ipv4/tcp_output.c')
-rw-r--r--net/ipv4/tcp_output.c11
1 files changed, 2 insertions, 9 deletions
diff --git a/net/ipv4/tcp_output.c b/net/ipv4/tcp_output.c
index e787ecec505e..163cf5fc0119 100644
--- a/net/ipv4/tcp_output.c
+++ b/net/ipv4/tcp_output.c
@@ -78,10 +78,6 @@ static void tcp_event_new_data_sent(struct sock *sk, const struct sk_buff *skb)
78 tcp_advance_send_head(sk, skb); 78 tcp_advance_send_head(sk, skb);
79 tp->snd_nxt = TCP_SKB_CB(skb)->end_seq; 79 tp->snd_nxt = TCP_SKB_CB(skb)->end_seq;
80 80
81 /* Don't override Nagle indefinitely with F-RTO */
82 if (tp->frto_counter == 2)
83 tp->frto_counter = 3;
84
85 tp->packets_out += tcp_skb_pcount(skb); 81 tp->packets_out += tcp_skb_pcount(skb);
86 if (!prior_packets || icsk->icsk_pending == ICSK_TIME_EARLY_RETRANS || 82 if (!prior_packets || icsk->icsk_pending == ICSK_TIME_EARLY_RETRANS ||
87 icsk->icsk_pending == ICSK_TIME_LOSS_PROBE) 83 icsk->icsk_pending == ICSK_TIME_LOSS_PROBE)
@@ -1470,11 +1466,8 @@ static inline bool tcp_nagle_test(const struct tcp_sock *tp, const struct sk_buf
1470 if (nonagle & TCP_NAGLE_PUSH) 1466 if (nonagle & TCP_NAGLE_PUSH)
1471 return true; 1467 return true;
1472 1468
1473 /* Don't use the nagle rule for urgent data (or for the final FIN). 1469 /* Don't use the nagle rule for urgent data (or for the final FIN). */
1474 * Nagle can be ignored during F-RTO too (see RFC4138). 1470 if (tcp_urg_mode(tp) || (TCP_SKB_CB(skb)->tcp_flags & TCPHDR_FIN))
1475 */
1476 if (tcp_urg_mode(tp) || (tp->frto_counter == 2) ||
1477 (TCP_SKB_CB(skb)->tcp_flags & TCPHDR_FIN))
1478 return true; 1471 return true;
1479 1472
1480 if (!tcp_nagle_check(tp, skb, cur_mss, nonagle)) 1473 if (!tcp_nagle_check(tp, skb, cur_mss, nonagle))