aboutsummaryrefslogtreecommitdiff
path: root/sys/netinet/tcp_var.h
diff options
context:
space:
mode:
authorSteven Hartland <smh@FreeBSD.org>2017-04-10 08:19:35 +0000
committerSteven Hartland <smh@FreeBSD.org>2017-04-10 08:19:35 +0000
commite44c1887fdb21e349a778007fcd6d72d9cf45552 (patch)
tree6f60c36327c66eaf6ba39d2ec97dc0260b5a1588 /sys/netinet/tcp_var.h
parentf3ac3a6e6f51569b666257bd44c0c0123a9297bb (diff)
downloadsrc-e44c1887fdb21e349a778007fcd6d72d9cf45552.tar.gz
src-e44c1887fdb21e349a778007fcd6d72d9cf45552.zip
Use estimated RTT for receive buffer auto resizing instead of timestamps
Switched from using timestamps to RTT estimates when performing TCP receive buffer auto resizing, as not all hosts support / enable TCP timestamps. Disabled reset of receive buffer auto scaling when not in bulk receive mode, which gives an extra 20% performance increase. Also extracted auto resizing to a common method shared between standard and fastpath modules. With this AWS S3 downloads at ~17ms latency on a 1Gbps connection jump from ~3MB/s to ~100MB/s using the default settings. Reviewed by: lstewart, gnn MFC after: 2 weeks Relnotes: Yes Sponsored by: Multiplay Differential Revision: https://reviews.freebsd.org/D9668
Notes
Notes: svn path=/head/; revision=316676
Diffstat (limited to 'sys/netinet/tcp_var.h')
-rw-r--r--sys/netinet/tcp_var.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/sys/netinet/tcp_var.h b/sys/netinet/tcp_var.h
index 5705e553d1d3..d298c9dd6c61 100644
--- a/sys/netinet/tcp_var.h
+++ b/sys/netinet/tcp_var.h
@@ -778,6 +778,8 @@ void hhook_run_tcp_est_in(struct tcpcb *tp,
#endif
int tcp_input(struct mbuf **, int *, int);
+int tcp_autorcvbuf(struct mbuf *, struct tcphdr *, struct socket *,
+ struct tcpcb *, int);
void tcp_do_segment(struct mbuf *, struct tcphdr *,
struct socket *, struct tcpcb *, int, int, uint8_t,
int);