diff options
author | Visa Hankala <visa@cvs.openbsd.org> | 2019-04-14 08:51:32 +0000 |
---|---|---|
committer | Visa Hankala <visa@cvs.openbsd.org> | 2019-04-14 08:51:32 +0000 |
commit | 1385ee84a74b2316b691d76fe5282b8aa4568a0a (patch) | |
tree | ae11a9c31fbf76917e1fa0e07ae0dd9e60a1e522 /sys/arch/amd64/conf | |
parent | 37f79bcc39c89d49dd6eae8d7c69a63db8254822 (diff) |
Add lock order checking for timeouts
The caller of timeout_barrier() must not hold locks that could prevent
timeout handlers from making progress. The system could deadlock
otherwise.
This patch makes witness(4) able to detect barrier locking errors.
This is done by introducing a pseudo-lock that couples the lock chains
of barrier callers to the lock chains of timeout handlers.
In order to find these errors faster, this diff adds a synchronous
version of cancelling timeouts, timeout_del_barrier(9). As the
synchronous intent is explicit, this interface can check lock order
immediately instead of waiting for the potentially rare occurrence of
timeout_barrier(9).
OK dlg@ mpi@
Diffstat (limited to 'sys/arch/amd64/conf')
0 files changed, 0 insertions, 0 deletions