summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authordchagin <dchagin@FreeBSD.org>2015-05-24 17:09:07 +0000
committerdchagin <dchagin@FreeBSD.org>2015-05-24 17:09:07 +0000
commite05fc818bde3a8a2527f80385a118a6d402c7149 (patch)
treea0b0a76b98068f518a2641df5f1a9218ef38705a
parentb71a54d0dbec474c21302bee05d6b53db0e280eb (diff)
downloadFreeBSD-src-e05fc818bde3a8a2527f80385a118a6d402c7149.zip
FreeBSD-src-e05fc818bde3a8a2527f80385a118a6d402c7149.tar.gz
Improve ktr(9) records in thread managment code.
Differential Revision: https://reviews.freebsd.org/D1464 Reviewed by: trasz
-rw-r--r--sys/compat/linux/linux_emul.c9
-rw-r--r--sys/compat/linux/linux_fork.c8
2 files changed, 10 insertions, 7 deletions
diff --git a/sys/compat/linux/linux_emul.c b/sys/compat/linux/linux_emul.c
index 1dd6508..0023727 100644
--- a/sys/compat/linux/linux_emul.c
+++ b/sys/compat/linux/linux_emul.c
@@ -147,6 +147,9 @@ linux_proc_exit(void *arg __unused, struct proc *p)
if (__predict_false(SV_CURPROC_ABI() != SV_ABI_LINUX))
return;
+ LINUX_CTR3(proc_exit, "thread(%d) proc(%d) p %p",
+ td->td_tid, p->p_pid, p);
+
pem = pem_find(p);
if (pem == NULL)
return;
@@ -249,7 +252,7 @@ linux_thread_dtor(void *arg __unused, struct thread *td)
return;
td->td_emuldata = NULL;
- LINUX_CTR1(exit, "thread dtor(%d)", em->em_tid);
+ LINUX_CTR1(thread_dtor, "thread(%d)", em->em_tid);
free(em, M_TEMP);
}
@@ -271,8 +274,8 @@ linux_schedtail(struct thread *td)
if (child_set_tid != NULL) {
error = copyout(&em->em_tid, child_set_tid,
sizeof(em->em_tid));
- LINUX_CTR4(clone, "schedtail(%d) %p stored %d error %d",
+ LINUX_CTR4(schedtail, "thread(%d) %p stored %d error %d",
td->td_tid, child_set_tid, em->em_tid, error);
} else
- LINUX_CTR1(clone, "schedtail(%d)", em->em_tid);
+ LINUX_CTR1(schedtail, "thread(%d)", em->em_tid);
}
diff --git a/sys/compat/linux/linux_fork.c b/sys/compat/linux/linux_fork.c
index dd7c7e4..eee0fe8 100644
--- a/sys/compat/linux/linux_fork.c
+++ b/sys/compat/linux/linux_fork.c
@@ -274,7 +274,7 @@ linux_clone_thread(struct thread *td, struct linux_clone_args *args)
}
#endif
- LINUX_CTR4(clone, "thread(%d) flags %x ptid %p ctid %p",
+ LINUX_CTR4(clone_thread, "thread(%d) flags %x ptid %p ctid %p",
td->td_tid, (unsigned)args->flags,
args->parent_tidptr, args->child_tidptr);
@@ -351,7 +351,7 @@ linux_clone_thread(struct thread *td, struct linux_clone_args *args)
(int)newtd->td_tid, args->stack);
#endif
- LINUX_CTR2(clone, "thread(%d) successful clone to %d",
+ LINUX_CTR2(clone_thread, "thread(%d) successful clone to %d",
td->td_tid, newtd->td_tid);
if (args->flags & LINUX_CLONE_PARENT_SETTID) {
@@ -434,7 +434,7 @@ linux_thread_detach(struct thread *td)
em = em_find(td);
KASSERT(em != NULL, ("thread_detach: emuldata not found.\n"));
- LINUX_CTR1(exit, "thread detach(%d)", em->em_tid);
+ LINUX_CTR1(thread_detach, "thread(%d)", em->em_tid);
release_futexes(td, em);
@@ -442,7 +442,7 @@ linux_thread_detach(struct thread *td)
if (child_clear_tid != NULL) {
- LINUX_CTR2(exit, "thread detach(%d) %p",
+ LINUX_CTR2(thread_detach, "thread(%d) %p",
em->em_tid, child_clear_tid);
error = suword32(child_clear_tid, 0);
OpenPOWER on IntegriCloud