[TCP]: Send ACKs each 2nd received segment.
authorAlexey Kuznetsov <kuznet@ms2.inr.ac.ru>
Tue, 19 Sep 2006 19:52:50 +0000 (12:52 -0700)
committerDavid S. Miller <davem@sunset.davemloft.net>
Fri, 22 Sep 2006 22:19:05 +0000 (15:19 -0700)
commit1ef9696c909060ccdae3ade245ca88692b49285b
tree3a2df5bbd6b448a4f873125ab5dd7c7a0cc7ae05
parent4eb327b517cf85f6cb7dcd5691e7b748cbe8c343
[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>
include/net/inet_connection_sock.h
net/ipv4/tcp.c
net/ipv4/tcp_input.c