diff options
| author | Alfred Perlstein <alfred@FreeBSD.org> | 2007-09-05 17:38:28 +0000 |
|---|---|---|
| committer | Alfred Perlstein <alfred@FreeBSD.org> | 2007-09-05 17:38:28 +0000 |
| commit | a9264a0a189693fab2a17841be5ad520fb9152c3 (patch) | |
| tree | 8d75c6dad1a4a8054c2c0771d01eb20aca93dadb /sys/kern | |
| parent | 9dbd00af96f3ed123a4a8af398a0b8124a4177c1 (diff) | |
Notes
Diffstat (limited to 'sys/kern')
| -rw-r--r-- | sys/kern/kern_sx.c | 1 | ||||
| -rw-r--r-- | sys/kern/subr_turnstile.c | 8 |
2 files changed, 6 insertions, 3 deletions
diff --git a/sys/kern/kern_sx.c b/sys/kern/kern_sx.c index f1b5a805b19b..83820fb96ef2 100644 --- a/sys/kern/kern_sx.c +++ b/sys/kern/kern_sx.c @@ -997,7 +997,6 @@ sx_chain(struct thread *td, struct thread **ownerp) * First, we check the lock class. If that is ok, then we * compare the lock name against the wait message. */ -#define LOCK_CLASS(lo) (lo)->lo_class sx = td->td_wchan; if (LOCK_CLASS(&sx->lock_object) != &lock_class_sx || sx->lock_object.lo_name != td->td_wmesg) diff --git a/sys/kern/subr_turnstile.c b/sys/kern/subr_turnstile.c index 0e7cbbfc9eab..cd73b256ac1e 100644 --- a/sys/kern/subr_turnstile.c +++ b/sys/kern/subr_turnstile.c @@ -1020,7 +1020,8 @@ found: print_thread(ts->ts_owner, "Lock Owner: "); else db_printf("Lock Owner: none\n"); - print_queue((struct threadqueue *)&ts->ts_blocked, "Waiters", "\t"); + print_queue((struct threadqueue *)&ts->ts_blocked[TS_SHARED_QUEUE], "Shared Waiters", "\t"); + print_queue((struct threadqueue *)&ts->ts_blocked[TS_EXCLUSIVE_QUEUE], "Exclusive Waiters", "\t"); print_queue((struct threadqueue *)&ts->ts_pending, "Pending Threads", "\t"); } @@ -1211,7 +1212,10 @@ print_waiters(struct turnstile *ts, int indent) for (i = 0; i < indent; i++) db_printf(" "); db_printf("lock %p (%s) \"%s\"\n", lock, class->lc_name, lock->lo_name); - TAILQ_FOREACH(td, &ts->ts_blocked, td_lockq) + + TAILQ_FOREACH(td, &ts->ts_blocked[TS_EXCLUSIVE_QUEUE], td_lockq) + print_waiter(td, indent + 1); + TAILQ_FOREACH(td, &ts->ts_blocked[TS_SHARED_QUEUE], td_lockq) print_waiter(td, indent + 1); TAILQ_FOREACH(td, &ts->ts_pending, td_lockq) print_waiter(td, indent + 1); |
