cvs commit: src/sys/kern subr_witness.c

Don Lewis truckman at FreeBSD.org
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 
  Log:
  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
  ordering.
  
  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-all mailing list