HomeFreeBSD

Track all lock relationships instead of pruning direct relationships
rS149441Unpublished

Unpublished Commit ยท Learn More

No further details are available.

Description

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

Details

Provenance
truckmanAuthored on
Parents
rS149440: MFC 1.89:
Branches
Unknown
Tags
Unknown

Event Timeline