tcp: increase size at which tcp_bound_to_half_wnd bounds to > TCP_MSS_DEFAULT
authorSeymour, Shane M <shane.seymour@hpe.com>
Tue, 28 Jun 2016 23:06:48 +0000 (23:06 +0000)
committerDavid S. Miller <davem@davemloft.net>
Thu, 30 Jun 2016 12:17:21 +0000 (08:17 -0400)
In previous commit 01f83d69844d307be2aa6fea88b0e8fe5cbdb2f4
the following comments were added:

"When peer uses tiny windows, there is no use in packetizing to sub-MSS
pieces for the sake of SWS or making sure there are enough packets in
the pipe for fast recovery."

The test should be > TCP_MSS_DEFAULT not >= 512. This allows low end
devices that send an MSS of 536 (TCP_MSS_DEFAULT) to see better network
performance by sending it 536 bytes of data at a time instead of bounding
to half window size (268). Other network stacks work this way, e.g. HP-UX.

Signed-off-by: Shane Seymour <shane.seymour@hpe.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
include/net/tcp.h

index a79894b667265cdf9e3fe793b4757e2f932b378a..d825858fe4f1f8d1f778345143ab9046b3fcf5dc 100644 (file)
@@ -589,7 +589,7 @@ static inline int tcp_bound_to_half_wnd(struct tcp_sock *tp, int pktsize)
         * On the other hand, for extremely large MSS devices, handling
         * smaller than MSS windows in this way does make sense.
         */
-       if (tp->max_window >= 512)
+       if (tp->max_window > TCP_MSS_DEFAULT)
                cutoff = (tp->max_window >> 1);
        else
                cutoff = tp->max_window;