diff options
author | jhb <jhb@FreeBSD.org> | 2012-04-20 15:32:36 +0000 |
---|---|---|
committer | jhb <jhb@FreeBSD.org> | 2012-04-20 15:32:36 +0000 |
commit | aa85973504e8ab2a6d5b1ab434c06030e5302f7c (patch) | |
tree | 210aa794e2e54dd698b7426768c3c9db3207febd /sys/kern/kern_condvar.c | |
parent | 58d2e125c4d6dc16535d5d50b8fa3eab9b287353 (diff) | |
download | FreeBSD-src-aa85973504e8ab2a6d5b1ab434c06030e5302f7c.zip FreeBSD-src-aa85973504e8ab2a6d5b1ab434c06030e5302f7c.tar.gz |
Include the associated wait channel message for context switch ktrace
records. kdump supports both the old and new messages.
Submitted by: Andrey Zonov andrey zonov org
MFC after: 1 week
Diffstat (limited to 'sys/kern/kern_condvar.c')
-rw-r--r-- | sys/kern/kern_condvar.c | 20 |
1 files changed, 10 insertions, 10 deletions
diff --git a/sys/kern/kern_condvar.c b/sys/kern/kern_condvar.c index e6a0b7a..9355819 100644 --- a/sys/kern/kern_condvar.c +++ b/sys/kern/kern_condvar.c @@ -103,7 +103,7 @@ _cv_wait(struct cv *cvp, struct lock_object *lock) lock_state = 0; #ifdef KTRACE if (KTRPOINT(td, KTR_CSW)) - ktrcsw(1, 0); + ktrcsw(1, 0, cv_wmesg(cvp)); #endif CV_ASSERT(cvp, lock, td); WITNESS_WARN(WARN_GIANTOK | WARN_SLEEPOK, lock, @@ -140,7 +140,7 @@ _cv_wait(struct cv *cvp, struct lock_object *lock) #ifdef KTRACE if (KTRPOINT(td, KTR_CSW)) - ktrcsw(0, 0); + ktrcsw(0, 0, cv_wmesg(cvp)); #endif PICKUP_GIANT(); if (lock != &Giant.lock_object) { @@ -162,7 +162,7 @@ _cv_wait_unlock(struct cv *cvp, struct lock_object *lock) td = curthread; #ifdef KTRACE if (KTRPOINT(td, KTR_CSW)) - ktrcsw(1, 0); + ktrcsw(1, 0, cv_wmesg(cvp)); #endif CV_ASSERT(cvp, lock, td); WITNESS_WARN(WARN_GIANTOK | WARN_SLEEPOK, lock, @@ -197,7 +197,7 @@ _cv_wait_unlock(struct cv *cvp, struct lock_object *lock) #ifdef KTRACE if (KTRPOINT(td, KTR_CSW)) - ktrcsw(0, 0); + ktrcsw(0, 0, cv_wmesg(cvp)); #endif PICKUP_GIANT(); } @@ -220,7 +220,7 @@ _cv_wait_sig(struct cv *cvp, struct lock_object *lock) lock_state = 0; #ifdef KTRACE if (KTRPOINT(td, KTR_CSW)) - ktrcsw(1, 0); + ktrcsw(1, 0, cv_wmesg(cvp)); #endif CV_ASSERT(cvp, lock, td); WITNESS_WARN(WARN_GIANTOK | WARN_SLEEPOK, lock, @@ -258,7 +258,7 @@ _cv_wait_sig(struct cv *cvp, struct lock_object *lock) #ifdef KTRACE if (KTRPOINT(td, KTR_CSW)) - ktrcsw(0, 0); + ktrcsw(0, 0, cv_wmesg(cvp)); #endif PICKUP_GIANT(); if (lock != &Giant.lock_object) { @@ -286,7 +286,7 @@ _cv_timedwait(struct cv *cvp, struct lock_object *lock, int timo) lock_state = 0; #ifdef KTRACE if (KTRPOINT(td, KTR_CSW)) - ktrcsw(1, 0); + ktrcsw(1, 0, cv_wmesg(cvp)); #endif CV_ASSERT(cvp, lock, td); WITNESS_WARN(WARN_GIANTOK | WARN_SLEEPOK, lock, @@ -324,7 +324,7 @@ _cv_timedwait(struct cv *cvp, struct lock_object *lock, int timo) #ifdef KTRACE if (KTRPOINT(td, KTR_CSW)) - ktrcsw(0, 0); + ktrcsw(0, 0, cv_wmesg(cvp)); #endif PICKUP_GIANT(); if (lock != &Giant.lock_object) { @@ -353,7 +353,7 @@ _cv_timedwait_sig(struct cv *cvp, struct lock_object *lock, int timo) lock_state = 0; #ifdef KTRACE if (KTRPOINT(td, KTR_CSW)) - ktrcsw(1, 0); + ktrcsw(1, 0, cv_wmesg(cvp)); #endif CV_ASSERT(cvp, lock, td); WITNESS_WARN(WARN_GIANTOK | WARN_SLEEPOK, lock, @@ -392,7 +392,7 @@ _cv_timedwait_sig(struct cv *cvp, struct lock_object *lock, int timo) #ifdef KTRACE if (KTRPOINT(td, KTR_CSW)) - ktrcsw(0, 0); + ktrcsw(0, 0, cv_wmesg(cvp)); #endif PICKUP_GIANT(); if (lock != &Giant.lock_object) { |