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 /runtime/task_finder.c | |
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
Diffstat (limited to 'runtime/task_finder.c')
-rw-r--r-- | runtime/task_finder.c | 5 |
1 files changed, 4 insertions, 1 deletions
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; |