cvs commit: src/sys/kern kern_mutex.c kern_sx.c subr_witness.c src/sys/sys _lock.h lock.h

John Baldwin jhb at FreeBSD.org
Fri Jan 6 10:07:32 PST 2006


jhb         2006-01-06 18:07:32 UTC

  FreeBSD src repository

  Modified files:
    sys/kern             kern_mutex.c kern_sx.c subr_witness.c 
    sys/sys              _lock.h lock.h 
  Log:
  Trim another pointer from struct lock_object (and thus from struct mtx and
  struct sx).  Instead of storing a direct pointer to a our lock_class
  struct in lock_object, reserve 4 bits in the lo_flags field to serve as an
  index into a global lock_classes array that contains pointers to the lock
  classes.  Only debugging code such as WITNESS or INVARIANTS checks and KTR
  logging need to access the lock_class member, so this shouldn't add any
  overhead to production kernels.  It might add some slight overhead to
  kernels using those debug options however.
  
  As with the previous set of changes to lock_object, this is going to
  completely obliterate the kernel ABI, so be sure to recompile all your
  modules.
  
  Revision  Changes    Path
  1.160     +28 -15    src/sys/kern/kern_mutex.c
  1.27      +2 -2      src/sys/kern/kern_sx.c
  1.210     +33 -25    src/sys/kern/subr_witness.c
  1.12      +0 -1      src/sys/sys/_lock.h
  1.55      +19 -3     src/sys/sys/lock.h


More information about the cvs-src mailing list