aboutsummaryrefslogtreecommitdiffstats
path: root/Documentation/networking
diff options
context:
space:
mode:
authorEric Dumazet <edumazet@google.com>2014-10-28 00:45:24 -0400
committerDavid S. Miller <davem@davemloft.net>2014-10-29 15:05:15 -0400
commitdca145ffaa8d39ea1904491ac81b92b7049372c0 (patch)
treeebe67ece694b9e54281047a6037b7d5776f9f56b /Documentation/networking
parent7aef06db0f91c7b48305d07b62edf43179adb28c (diff)
tcp: allow for bigger reordering level
While testing upcoming Yaogong patch (converting out of order queue into an RB tree), I hit the max reordering level of linux TCP stack. Reordering level was limited to 127 for no good reason, and some network setups [1] can easily reach this limit and get limited throughput. Allow a new max limit of 300, and add a sysctl to allow admins to even allow bigger (or lower) values if needed. [1] Aggregation of links, per packet load balancing, fabrics not doing deep packet inspections, alternative TCP congestion modules... Signed-off-by: Eric Dumazet <edumazet@google.com> Cc: Yaogong Wang <wygivan@google.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'Documentation/networking')
-rw-r--r--Documentation/networking/bonding.txt7
-rw-r--r--Documentation/networking/ip-sysctl.txt10
2 files changed, 11 insertions, 6 deletions
diff --git a/Documentation/networking/bonding.txt b/Documentation/networking/bonding.txt
index eeb5b2e97bed..83bf4986baea 100644
--- a/Documentation/networking/bonding.txt
+++ b/Documentation/networking/bonding.txt
@@ -2230,11 +2230,8 @@ balance-rr: This mode is the only mode that will permit a single
2230 2230
2231 It is possible to adjust TCP/IP's congestion limits by 2231 It is possible to adjust TCP/IP's congestion limits by
2232 altering the net.ipv4.tcp_reordering sysctl parameter. The 2232 altering the net.ipv4.tcp_reordering sysctl parameter. The
2233 usual default value is 3, and the maximum useful value is 127. 2233 usual default value is 3. But keep in mind TCP stack is able
2234 For a four interface balance-rr bond, expect that a single 2234 to automatically increase this when it detects reorders.
2235 TCP/IP stream will utilize no more than approximately 2.3
2236 interface's worth of throughput, even after adjusting
2237 tcp_reordering.
2238 2235
2239 Note that the fraction of packets that will be delivered out of 2236 Note that the fraction of packets that will be delivered out of
2240 order is highly variable, and is unlikely to be zero. The level 2237 order is highly variable, and is unlikely to be zero. The level
diff --git a/Documentation/networking/ip-sysctl.txt b/Documentation/networking/ip-sysctl.txt
index 0307e2875f21..9028b879a97b 100644
--- a/Documentation/networking/ip-sysctl.txt
+++ b/Documentation/networking/ip-sysctl.txt
@@ -376,9 +376,17 @@ tcp_orphan_retries - INTEGER
376 may consume significant resources. Cf. tcp_max_orphans. 376 may consume significant resources. Cf. tcp_max_orphans.
377 377
378tcp_reordering - INTEGER 378tcp_reordering - INTEGER
379 Maximal reordering of packets in a TCP stream. 379 Initial reordering level of packets in a TCP stream.
380 TCP stack can then dynamically adjust flow reordering level
381 between this initial value and tcp_max_reordering
380 Default: 3 382 Default: 3
381 383
384tcp_max_reordering - INTEGER
385 Maximal reordering level of packets in a TCP stream.
386 300 is a fairly conservative value, but you might increase it
387 if paths are using per packet load balancing (like bonding rr mode)
388 Default: 300
389
382tcp_retrans_collapse - BOOLEAN 390tcp_retrans_collapse - BOOLEAN
383 Bug-to-bug compatibility with some broken printers. 391 Bug-to-bug compatibility with some broken printers.
384 On retransmit try to send bigger packets to work around bugs in 392 On retransmit try to send bigger packets to work around bugs in