summaryrefslogtreecommitdiffstats
path: root/tools/perf/util/thread.c
diff options
context:
space:
mode:
authorAndi Kleen <ak@linux.intel.com>2016-05-24 02:52:24 +0200
committerArnaldo Carvalho de Melo <acme@redhat.com>2016-05-30 17:41:43 +0200
commit480ca357fd7f86a381a5b35a8157aa176eddbed4 (patch)
treebd17401551a8cec3f0ebd7a496b298742865492b /tools/perf/util/thread.c
parentMerge tag 'perf-urgent-for-mingo-20160527' of git://git.kernel.org/pub/scm/li... (diff)
downloadlinux-480ca357fd7f86a381a5b35a8157aa176eddbed4.tar.xz
linux-480ca357fd7f86a381a5b35a8157aa176eddbed4.zip
perf thread: Adopt get_main_thread from db-export.c
Move the get_main_thread function from db-export.c to thread.c so that it can be used elsewhere. Signed-off-by: Andi Kleen <ak@linux.intel.com> Cc: Jiri Olsa <jolsa@kernel.org> Link: http://lkml.kernel.org/r/1464051145-19968-2-git-send-email-andi@firstfloor.org [ Removed leftover bits from db-export.h ] Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Diffstat (limited to 'tools/perf/util/thread.c')
-rw-r--r--tools/perf/util/thread.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/tools/perf/util/thread.c b/tools/perf/util/thread.c
index 45fcb715a36b..ada58e6070bf 100644
--- a/tools/perf/util/thread.c
+++ b/tools/perf/util/thread.c
@@ -265,3 +265,14 @@ void thread__find_cpumode_addr_location(struct thread *thread,
break;
}
}
+
+struct thread *thread__main_thread(struct machine *machine, struct thread *thread)
+{
+ if (thread->pid_ == thread->tid)
+ return thread__get(thread);
+
+ if (thread->pid_ == -1)
+ return NULL;
+
+ return machine__find_thread(machine, thread->pid_, thread->pid_);
+}