aboutsummaryrefslogtreecommitdiff
path: root/sys/kern
diff options
context:
space:
mode:
authorAlfred Perlstein <alfred@FreeBSD.org>2007-09-05 17:38:28 +0000
committerAlfred Perlstein <alfred@FreeBSD.org>2007-09-05 17:38:28 +0000
commita9264a0a189693fab2a17841be5ad520fb9152c3 (patch)
tree8d75c6dad1a4a8054c2c0771d01eb20aca93dadb /sys/kern
parent9dbd00af96f3ed123a4a8af398a0b8124a4177c1 (diff)
Notes
Diffstat (limited to 'sys/kern')
-rw-r--r--sys/kern/kern_sx.c1
-rw-r--r--sys/kern/subr_turnstile.c8
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);