[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <0298B280-C0E8-4A30-90B6-DD25A4054CF0@engin.umich.edu>
Date: Sun, 28 Sep 2008 21:13:37 -0500
From: Ali Saidi <saidi@...in.umich.edu>
To: netdev@...r.kernel.org
Subject: [PATCH] Fix possible double-ack w/ user dma
When TCP receive copy offload is enabled it's possible that
tcp_rcv_established() will cause two acks to be sent for a single
packet. In the case that a tcp_dma_early_copy() is successful,
copied_early is set to true which causes tcp_cleanup_rbuf() to be
called early which can send an ack. Further along in
tcp_rcv_established(), __tcp_ack_snd_check() is called and will
schedule a delayed ACK. If no packets are processed before the delayed
ack timer expires the packet will be acked twice.
Attached is a patch that addresses the problem.
Ali
Download attachment "fix_double_ack.diff" of type "application/octet-stream" (407 bytes)
Powered by blists - more mailing lists