diff options
author | Frank Ch. Eigler <fche@elastic.org> | 2008-11-25 16:20:32 -0500 |
---|---|---|
committer | Frank Ch. Eigler <fche@elastic.org> | 2008-11-25 16:20:32 -0500 |
commit | eca9d638143b8e7e3a7ab877ea2d9b47736e5879 (patch) | |
tree | 6e6ff3f9e7a6760a9b69a9182f1dcb506d9142d7 | |
parent | d41d451cd932cdcc36cf02af5b30daf149f786d5 (diff) | |
download | systemtap-steved-eca9d638143b8e7e3a7ab877ea2d9b47736e5879.tar.gz systemtap-steved-eca9d638143b8e7e3a7ab877ea2d9b47736e5879.tar.xz systemtap-steved-eca9d638143b8e7e3a7ab877ea2d9b47736e5879.zip |
PR7046: performance: eliminate duplicate uprobes for multithreaded programs' shlibs
-rw-r--r-- | runtime/ChangeLog | 6 | ||||
-rw-r--r-- | runtime/task_finder.c | 5 |
2 files changed, 10 insertions, 1 deletions
diff --git a/runtime/ChangeLog b/runtime/ChangeLog index 6fa86a9a..91a932c4 100644 --- a/runtime/ChangeLog +++ b/runtime/ChangeLog @@ -1,3 +1,9 @@ +2008-11-25 Frank Ch. Eigler <fche@elastic.org> + + PR 7046. + * task_finder.c (__stp_utrace_task_finder_target_quiesce): Only + issue vm_callbacks for process main threads. + 2008-11-24 Wenji Huang <wenji.huang@oracle.com> From Srikar Dronamraju: diff --git a/runtime/task_finder.c b/runtime/task_finder.c index db7a8f38..25fad1a4 100644 --- a/runtime/task_finder.c +++ b/runtime/task_finder.c @@ -825,7 +825,10 @@ __stp_utrace_task_finder_target_quiesce(enum utrace_resume_action action, } } - if (tgt->vm_callback != NULL) { + /* If this is just a thread other than the thread group leader, + don't bother inform vm_callback clients about its memory map, + since they will simply duplicate each other. */ + if (tgt->vm_callback != NULL && (tsk->tgid == tsk->pid)) { struct mm_struct *mm; char *mmpath_buf; char *mmpath; |