From eca9d638143b8e7e3a7ab877ea2d9b47736e5879 Mon Sep 17 00:00:00 2001 From: "Frank Ch. Eigler" Date: Tue, 25 Nov 2008 16:20:32 -0500 Subject: [PATCH] PR7046: performance: eliminate duplicate uprobes for multithreaded programs' shlibs --- runtime/ChangeLog | 6 ++++++ runtime/task_finder.c | 5 ++++- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/runtime/ChangeLog b/runtime/ChangeLog index 6fa86a9ac..91a932c47 100644 --- a/runtime/ChangeLog +++ b/runtime/ChangeLog @@ -1,3 +1,9 @@ +2008-11-25 Frank Ch. Eigler + + PR 7046. + * task_finder.c (__stp_utrace_task_finder_target_quiesce): Only + issue vm_callbacks for process main threads. + 2008-11-24 Wenji Huang From Srikar Dronamraju: diff --git a/runtime/task_finder.c b/runtime/task_finder.c index db7a8f384..25fad1a49 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; -- 2.43.5