diff mbox

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

Message ID CS1PR84MB0295BC70B8ACF200C11B5E25FD220@CS1PR84MB0295.NAMPRD84.PROD.OUTLOOK.COM
State Accepted, archived
Delegated to: David Miller
Headers show

Commit Message

Seymour, Shane M June 28, 2016, 11:06 p.m. UTC
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>
---
Changed from V1 - patch reversed, Doh!, corrected patch.

Comments

David Miller June 30, 2016, 12:19 p.m. UTC | #1
From: "Seymour, Shane M" <shane.seymour@hpe.com>
Date: Tue, 28 Jun 2016 23:06:48 +0000

> 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>

Applied.
diff mbox

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;