Date: Sat, 6 Nov 2010 15:40:34 +0000 (UTC) From: Lawrence Stewart <lstewart@FreeBSD.org> To: cvs-src-old@freebsd.org Subject: cvs commit: src/sys/netinet tcp_reass.c Message-ID: <201011061540.oA6Fega5063054@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
lstewart 2010-11-06 15:40:34 UTC
FreeBSD src repository
Modified files: (Branch: RELENG_7)
sys/netinet tcp_reass.c
Log:
SVN rev 214889 on 2010-11-06 15:40:34Z by lstewart
MFC r213912:
- Switch the "net.inet.tcp.reass.cursegments" and
"net.inet.tcp.reass.maxsegments" sysctl variables to be based on UMA zone
stats. The value returned by the cursegments sysctl is approximate owing to
the way in which uma_zone_get_cur is implemented.
- Discontinue use of V_tcp_reass_qsize as a global reassembly segment count
variable in the reassembly implementation. The variable was used without
proper synchronisation and was duplicating accounting done by UMA already. The
lack of synchronisation was particularly problematic on SMP systems
terminating many TCP sessions, resulting in poor TCP performance for
connections with non-zero packet loss.
The base code from r213912 was modified as part of this MFC in order to work
correctly on FreeBSD 7.
Sponsored by: FreeBSD Foundation
Reviewed by: andre, gnn, rpaulo (as part of a larger patch)
Revision Changes Path
1.353.2.3 +23 -13 src/sys/netinet/tcp_reass.c
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201011061540.oA6Fega5063054>
