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