cvs commit: src/sys/kern subr_witness.c

Don Lewis truckman at FreeBSD.org
Wed Jan 25 18:33:37 PST 2006


truckman    2006-01-26 02:33:36 UTC

  FreeBSD src repository

  Modified files:        (Branch: RELENG_5)
    sys/kern             subr_witness.c 
  Log:
  MFC subr_witness.c 1.198 and 1.200.
  
  Original commit messages:
  
    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
  
    Log:
    Relocate witness_levelall(), witness_leveldescendents(), and
    witness_displaydescendants() so that they are protected by
    "#ifdef DDB/#endif" to unbreak kernels not using "option DDB".
  
    MFC after:      3 weeks
  
  Revision    Changes    Path
  1.178.2.10  +117 -157  src/sys/kern/subr_witness.c


More information about the cvs-src mailing list