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.seym...@hpe.com> --- Changed from V1 - patch reversed, Doh!, corrected patch. --- a/include/net/tcp.h 2016-06-15 17:19:21.964821477 -0500 +++ b/include/net/tcp.h 2016-06-23 20:59:14.521686048 -0500 @@ -589,7 +589,7 @@ static inline int tcp_bound_to_half_wnd( * 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;