Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 19 Jul 2009 14:20:53 +0000 (UTC)
From:      Robert Watson <rwatson@FreeBSD.org>
To:        cvs-src-old@freebsd.org
Subject:   cvs commit: src/sys/kern kern_vimage.c src/sys/net if.c src/sys/netgraph ng_gif.c src/sys/netinet igmp.c in_pcb.c in_rmx.c ip_input.c tcp_subr.c tcp_timer.c src/sys/netinet6 frag6.c mld6.c src/sys/netipsec key.c src/sys/sys kernel.h vimage.h
Message-ID:  <200907191421.n6JELm2r058446@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
rwatson     2009-07-19 14:20:53 UTC

  FreeBSD src repository

  Modified files:
    sys/kern             kern_vimage.c 
    sys/net              if.c 
    sys/netgraph         ng_gif.c 
    sys/netinet          igmp.c in_pcb.c in_rmx.c ip_input.c 
                         tcp_subr.c tcp_timer.c 
    sys/netinet6         frag6.c mld6.c 
    sys/netipsec         key.c 
    sys/sys              kernel.h vimage.h 
  Log:
  SVN rev 195760 on 2009-07-19 14:20:53Z by rwatson
  
  Reimplement and/or implement vnet list locking by replacing a mostly
  unused custom mutex/condvar-based sleep locks with two locks: an
  rwlock (for non-sleeping use) and sxlock (for sleeping use).  Either
  acquired for read is sufficient to stabilize the vnet list, but both
  must be acquired for write to modify the list.
  
  Replace previous no-op read locking macros, used in various places
  in the stack, with actual locking to prevent race conditions.  Callers
  must declare when they may perform unbounded sleeps or not when
  selecting how to lock.
  
  Refactor vnet sysinits so that the vnet list and locks are initialized
  before kernel modules are linked, as the kernel linker will use them
  for modules loaded by the boot loader.
  
  Update various consumers of these KPIs based on whether they may sleep
  or not.
  
  Reviewed by:    bz
  Approved by:    re (kib)
  
  Revision  Changes    Path
  1.15      +27 -21    src/sys/kern/kern_vimage.c
  1.355     +2 -2      src/sys/net/if.c
  1.27      +2 -2      src/sys/netgraph/ng_gif.c
  1.86      +4 -4      src/sys/netinet/igmp.c
  1.259     +2 -2      src/sys/netinet/in_pcb.c
  1.78      +2 -2      src/sys/netinet/in_rmx.c
  1.371     +4 -4      src/sys/netinet/ip_input.c
  1.348     +4 -4      src/sys/netinet/tcp_subr.c
  1.111     +2 -2      src/sys/netinet/tcp_timer.c
  1.49      +7 -5      src/sys/netinet6/frag6.c
  1.54      +4 -4      src/sys/netinet6/mld6.c
  1.61      +2 -2      src/sys/netipsec/key.c
  1.149     +3 -2      src/sys/sys/kernel.h
  1.40      +33 -9     src/sys/sys/vimage.h



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200907191421.n6JELm2r058446>