]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
Add a new 'show sleepchain' ddb command similar to 'show lockchain' except
authorJohn Baldwin <jhb@FreeBSD.org>
Tue, 15 Aug 2006 18:29:01 +0000 (18:29 +0000)
committerJohn Baldwin <jhb@FreeBSD.org>
Tue, 15 Aug 2006 18:29:01 +0000 (18:29 +0000)
commit462a7add8e6b1799ab7c54d1ce56aab731b6a189
treecdceb81a7ecf499b8d0d51c3f275b40b0a836064
parent0fa2168b195c0d5dd0c13fff96113cf6c71946a5
Add a new 'show sleepchain' ddb command similar to 'show lockchain' except
that it operates on lockmgr and sx locks.  This can be useful for tracking
down vnode deadlocks in VFS for example.  Note that this command is a bit
more fragile than 'show lockchain' as we have to poke around at the
wait channel of a thread to see if it points to either a struct lock or
a condition variable inside of a struct sx.  If td_wchan points to
something unmapped, then this command will terminate early due to a fault,
but no harm will be done.
sys/kern/kern_lock.c
sys/kern/kern_sx.c
sys/kern/subr_turnstile.c
sys/sys/lockmgr.h
sys/sys/sx.h