cvs commit: src/sys/conf files src/sys/net if_faith.c if_loop.c
route.h rtsock.c src/sys/netinet in_pcb.c in_pcb.h in_rmx.c
ip_divert.c ip_fw2.c ip_icmp.c ip_input.c ip_output.c raw_ip.c...
Andre Oppermann
andre at FreeBSD.org
Thu Nov 20 12:07:41 PST 2003
andre 2003/11/20 12:07:39 PST
FreeBSD src repository
Modified files:
sys/conf files
sys/net if_faith.c if_loop.c route.h rtsock.c
sys/netinet in_pcb.c in_pcb.h in_rmx.c ip_divert.c
ip_fw2.c ip_icmp.c ip_input.c ip_output.c
raw_ip.c tcp_input.c tcp_output.c
tcp_subr.c tcp_syncache.c tcp_timer.c
tcp_usrreq.c tcp_var.h udp_usrreq.c
sys/netinet6 icmp6.c in6_pcb.c in6_rmx.c in6_src.c
ip6_output.c udp6_output.c
Added files:
sys/netinet tcp_hostcache.c
Log:
Introduce tcp_hostcache and remove the tcp specific metrics from
the routing table. Move all usage and references in the tcp stack
from the routing table metrics to the tcp hostcache.
It caches measured parameters of past tcp sessions to provide better
initial start values for following connections from or to the same
source or destination. Depending on the network parameters to/from
the remote host this can lead to significant speedups for new tcp
connections after the first one because they inherit and shortcut
the learning curve.
tcp_hostcache is designed for multiple concurrent access in SMP
environments with high contention and is hash indexed by remote
ip address.
It removes significant locking requirements from the tcp stack with
regard to the routing table.
Reviewed by: sam (mentor), bms
Reviewed by: -net, -current, core at kame.net (IPv6 parts)
Approved by: re (scottl)
Revision Changes Path
1.854 +1 -0 src/sys/conf/files
1.24 +2 -11 src/sys/net/if_faith.c
1.92 +2 -11 src/sys/net/if_loop.c
1.54 +8 -2 src/sys/net/route.h
1.97 +21 -17 src/sys/net/rtsock.c
1.132 +14 -83 src/sys/netinet/in_pcb.c
1.67 +3 -16 src/sys/netinet/in_pcb.h
1.51 +1 -2 src/sys/netinet/in_rmx.c
1.80 +3 -6 src/sys/netinet/ip_divert.c
1.47 +6 -3 src/sys/netinet/ip_fw2.c
1.85 +28 -29 src/sys/netinet/ip_icmp.c
1.258 +8 -8 src/sys/netinet/ip_input.c
1.203 +9 -16 src/sys/netinet/ip_output.c
1.122 +1 -1 src/sys/netinet/raw_ip.c
1.1 +728 -0 src/sys/netinet/tcp_hostcache.c (new)
1.216 +200 -144 src/sys/netinet/tcp_input.c
1.83 +17 -27 src/sys/netinet/tcp_output.c
1.168 +124 -222 src/sys/netinet/tcp_subr.c
1.49 +34 -66 src/sys/netinet/tcp_syncache.c
1.63 +2 -5 src/sys/netinet/tcp_timer.c
1.89 +25 -20 src/sys/netinet/tcp_usrreq.c
1.93 +33 -11 src/sys/netinet/tcp_var.h
1.142 +12 -5 src/sys/netinet/udp_usrreq.c
1.50 +9 -21 src/sys/netinet6/icmp6.c
1.45 +8 -36 src/sys/netinet6/in6_pcb.c
1.12 +1 -2 src/sys/netinet6/in6_rmx.c
1.24 +37 -8 src/sys/netinet6/in6_src.c
1.70 +20 -7 src/sys/netinet6/ip6_output.c
1.15 +3 -6 src/sys/netinet6/udp6_output.c
More information about the cvs-src
mailing list