[TCP]: Send ACKs each 2nd received segment.
It does not affect either mss-sized connections (obviously) or connections controlled by Nagle (because there is only one small segment in flight). The idea is to record the fact that a small segment arrives on a connection, where one small segment has already been received and still not-ACKed. In this case ACK is forced after tcp_recvmsg() drains receive buffer. In other words, it is a "soft" each-2nd-segment ACK, which is enough to preserve ACK clock even when ABC is enabled. Signed-off-by: Alexey Kuznetsov <kuznet@ms2.inr.ac.ru> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
committed by
David S. Miller
parent
4eb327b517
commit
1ef9696c90
@ -156,6 +156,8 @@ static void tcp_measure_rcv_mss(struct sock *sk,
|
||||
return;
|
||||
}
|
||||
}
|
||||
if (icsk->icsk_ack.pending & ICSK_ACK_PUSHED)
|
||||
icsk->icsk_ack.pending |= ICSK_ACK_PUSHED2;
|
||||
icsk->icsk_ack.pending |= ICSK_ACK_PUSHED;
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user