]> git.baikalelectronics.ru Git - kernel.git/commit
[TCP]: Fix stretch ACK performance killer when doing ucopy.
authorDavid S. Miller <davem@davemloft.net>
Mon, 23 May 2005 19:03:06 +0000 (12:03 -0700)
committerDavid S. Miller <davem@davemloft.net>
Mon, 23 May 2005 19:03:06 +0000 (12:03 -0700)
commit1097c69b2261b351ee3a9742909b6e92c9576fe3
treedade029a8df8b249d14282d8f8023a0de0f6c1e7
parentcbdb86187aad4b13664811cd18db2e21b9cff893
[TCP]: Fix stretch ACK performance killer when doing ucopy.

When we are doing ucopy, we try to defer the ACK generation to
cleanup_rbuf().  This works most of the time very well, but if the
ucopy prequeue is large, this ACKing behavior kills performance.

With TSO, it is possible to fill the prequeue so large that by the
time the ACK is sent and gets back to the sender, most of the window
has emptied of data and performance suffers significantly.

This behavior does help in some cases, so we should think about
re-enabling this trick in the future, using some kind of limit in
order to avoid the bug case.

Signed-off-by: David S. Miller <davem@davemloft.net>
net/ipv4/tcp_input.c