Skip to content

Commit 522040e

Browse files
edumazetdavem330
authored andcommitted
tcp: do not aggressively quick ack after ECN events
ECN signals currently forces TCP to enter quickack mode for up to 16 (TCP_MAX_QUICKACKS) following incoming packets. We believe this is not needed, and only sending one immediate ack for the current packet should be enough. This should reduce the extra load noticed in DCTCP environments, after congestion events. This is part 2 of our effort to reduce pure ACK packets. Signed-off-by: Eric Dumazet <[email protected]> Acked-by: Soheil Hassas Yeganeh <[email protected]> Acked-by: Yuchung Cheng <[email protected]> Acked-by: Neal Cardwell <[email protected]> Signed-off-by: David S. Miller <[email protected]>
1 parent 9a9c9b5 commit 522040e

File tree

1 file changed

+2
-2
lines changed

1 file changed

+2
-2
lines changed

net/ipv4/tcp_input.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -263,15 +263,15 @@ static void __tcp_ecn_check_ce(struct tcp_sock *tp, const struct sk_buff *skb)
263263
* it is probably a retransmit.
264264
*/
265265
if (tp->ecn_flags & TCP_ECN_SEEN)
266-
tcp_enter_quickack_mode((struct sock *)tp, TCP_MAX_QUICKACKS);
266+
tcp_enter_quickack_mode((struct sock *)tp, 1);
267267
break;
268268
case INET_ECN_CE:
269269
if (tcp_ca_needs_ecn((struct sock *)tp))
270270
tcp_ca_event((struct sock *)tp, CA_EVENT_ECN_IS_CE);
271271

272272
if (!(tp->ecn_flags & TCP_ECN_DEMAND_CWR)) {
273273
/* Better not delay acks, sender can have a very low cwnd */
274-
tcp_enter_quickack_mode((struct sock *)tp, TCP_MAX_QUICKACKS);
274+
tcp_enter_quickack_mode((struct sock *)tp, 1);
275275
tp->ecn_flags |= TCP_ECN_DEMAND_CWR;
276276
}
277277
tp->ecn_flags |= TCP_ECN_SEEN;

0 commit comments

Comments
 (0)