[PATCH V2 net-next] tcp: increase size at which tcp_bound_to_half_wnd bounds to > TCP_MSS_DEFAULT

2016-06-28 Thread Seymour, Shane M
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 
---
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;


RE: [PATCH net-next] tcp: increase size at which tcp_bound_to_half_wnd bounds to > TCP_MSS_DEFAULT

2016-06-28 Thread Seymour, Shane M
> From: Eric Dumazet [mailto:eric.duma...@gmail.com]
> Your diff is reversed. 

Sorry my apologies, I'll send a V2. 



RE: [PATCH net-next] tcp: increase size at which tcp_bound_to_half_wnd bounds to > TCP_MSS_DEFAULT

2016-06-28 Thread Seymour, Shane M
> From: Eric Dumazet [mailto:eric.duma...@gmail.com]
> Trying to cope with ridiculous windows these days is really a waste of
> time, as we perform this check for all tcp sendmsg() calls :(

I don't disagree with you but unfortunately there are still devices
out there like this and probably will be for a long time.

> Anyway, your patch is reversed.

I'm not sure what you mean by reversed, I didn't change the direction
of the test in the code just what it's being compared against and so
it's greater than not greater than or equal to.

Unless auto-correction changed reviewed to reversed?


[PATCH net-next] tcp: increase size at which tcp_bound_to_half_wnd bounds to > TCP_MSS_DEFAULT

2016-06-27 Thread Seymour, Shane M
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 
---
--- b/include/net/tcp.h 2016-06-23 20:59:14.521686048 -0500
+++ a/include/net/tcp.h 2016-06-15 17:19:21.964821477 -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 > TCP_MSS_DEFAULT)
+   if (tp->max_window >= 512)
cutoff = (tp->max_window >> 1);
else
cutoff = tp->max_window;