summaryrefslogtreecommitdiffstats
path: root/sys/kern/kern_ktrace.c
diff options
context:
space:
mode:
authorjhb <jhb@FreeBSD.org>2012-04-20 15:32:36 +0000
committerjhb <jhb@FreeBSD.org>2012-04-20 15:32:36 +0000
commitaa85973504e8ab2a6d5b1ab434c06030e5302f7c (patch)
tree210aa794e2e54dd698b7426768c3c9db3207febd /sys/kern/kern_ktrace.c
parent58d2e125c4d6dc16535d5d50b8fa3eab9b287353 (diff)
downloadFreeBSD-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_ktrace.c')
-rw-r--r--sys/kern/kern_ktrace.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/sys/kern/kern_ktrace.c b/sys/kern/kern_ktrace.c
index 363b8b8..d40fe51 100644
--- a/sys/kern/kern_ktrace.c
+++ b/sys/kern/kern_ktrace.c
@@ -733,8 +733,9 @@ ktrpsig(sig, action, mask, code)
}
void
-ktrcsw(out, user)
+ktrcsw(out, user, wmesg)
int out, user;
+ const char *wmesg;
{
struct thread *td = curthread;
struct ktr_request *req;
@@ -746,6 +747,10 @@ ktrcsw(out, user)
kc = &req->ktr_data.ktr_csw;
kc->out = out;
kc->user = user;
+ if (wmesg != NULL)
+ strlcpy(kc->wmesg, wmesg, sizeof(kc->wmesg));
+ else
+ bzero(kc->wmesg, sizeof(kc->wmesg));
ktr_enqueuerequest(td, req);
ktrace_exit(td);
}
OpenPOWER on IntegriCloud