cvs commit: src/sys/kern subr_witness.c

Don Lewis truckman at
Thu Aug 25 03:47:37 GMT 2005

truckman    2005-08-25 03:47:37 UTC

  FreeBSD src repository

  Modified files:
    sys/kern             subr_witness.c 
  Track all lock relationships instead of pruning direct relationships
  if an indirect relationship exists (keep both A->B->C and A->C).
  This allows witness_checkorder() to use isitmychild() instead of
  the much more expensive isitmydescendant() to check for valid lock
  Don't do an expensive tree walk to update the w_level values when
  the tree is updated.  Only update the w_level values when using the
  debugger to display the tree.
  Nuke the experimental "witness_watch > 1" mode that only compared
  w_level for the two locks.  This information is no longer maintained
  at run time, and the use of isitmychild() in witness_checkorder
  should bring performance close enough to the acceptable level that
  this hack is not needed.
  Report witness data structure allocation statistics under the
  debug.witness sysctl.
  Reviewed by:    jhb
  MFC after:      30 days
  Revision  Changes    Path
  1.198     +31 -71    src/sys/kern/subr_witness.c

More information about the cvs-src mailing list