]> git.baikalelectronics.ru Git - kernel.git/commit
ipv4: Use binary search to choose tcp PMTU probe_size
authorFan Du <fan.du@intel.com>
Fri, 6 Mar 2015 03:18:23 +0000 (11:18 +0800)
committerDavid S. Miller <davem@davemloft.net>
Fri, 6 Mar 2015 19:57:41 +0000 (14:57 -0500)
commit043aaca9934f13d9ebbecb22fe5c3c280f24f69a
treedcfd707a04fd8295b1384cc18fc60addf22ae23a
parentf4918e0d785b1dc210645432c0d4c528cf87690a
ipv4: Use binary search to choose tcp PMTU probe_size

Current probe_size is chosen by doubling mss_cache,
the probing process will end shortly with a sub-optimal
mss size, and the link mtu will not be taken full
advantage of, in return, this will make user to tweak
tcp_base_mss with care.

Use binary search to choose probe_size in a fine
granularity manner, an optimal mss will be found
to boost performance as its maxmium.

In addition, introduce a sysctl_tcp_probe_threshold
to control when probing will stop in respect to
the width of search range.

Test env:
Docker instance with vxlan encapuslation(82599EB)
iperf -c 10.0.0.24  -t 60

before this patch:
1.26 Gbits/sec

After this patch: increase 26%
1.59 Gbits/sec

Signed-off-by: Fan Du <fan.du@intel.com>
Acked-by: John Heffner <johnwheffner@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
include/net/netns/ipv4.h
include/net/tcp.h
net/ipv4/sysctl_net_ipv4.c
net/ipv4/tcp_ipv4.c
net/ipv4/tcp_output.c