The number of possible lock list entries for a thread is
LOCK_CHILDCOUNT, and each entry can record up to LOCK_NCHILDREN locks.
When iterating over the list of sleep locks held by a thread, assert
that the loop index is less than LOCK_CHILDCOUNT * LOCK_NCHILDREN rather
than witness_count. The latter determines the size of the lock order
matrix and is thus unrelated, so the previous assertion was incorrect.
Details
Details
- Reviewers
jhb - Commits
- rS285252: Fix an incorrect assertion in witness.
None, but this change just weakens an existing assertion. We ran into this at Isilon because we have threads that can acquire a large number (> 2000) of shared locks.
Diff Detail
Diff Detail
- Repository
- rS FreeBSD src repository - subversion
- Lint
Lint Not Applicable - Unit
Tests Not Applicable