diff options
author | David Ahern <dsahern@gmail.com> | 2013-05-25 22:47:10 -0600 |
---|---|---|
committer | Chanho Park <chanho61.park@samsung.com> | 2014-11-18 11:43:33 +0900 |
commit | 6fdc957996ca3655abd39d7a7227a1d1305f9d95 (patch) | |
tree | 924a541f4de9726d9ed7904a86c416fed1be3d5f | |
parent | 7b919888c7b164baeb7f09f609e6abefbf3657d3 (diff) | |
download | linux-3.10-6fdc957996ca3655abd39d7a7227a1d1305f9d95.tar.gz linux-3.10-6fdc957996ca3655abd39d7a7227a1d1305f9d95.tar.bz2 linux-3.10-6fdc957996ca3655abd39d7a7227a1d1305f9d95.zip |
perf tools: Save parent pid in thread struct
Information is available, so why not save it in case some command wants
to use it.
Signed-off-by: David Ahern <dsahern@gmail.com>
Cc: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Ingo Molnar <mingo@kernel.org>
Cc: Jiri Olsa <jolsa@redhat.com>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Stephane Eranian <eranian@google.com>
Link: http://lkml.kernel.org/r/1369543631-5106-1-git-send-email-dsahern@gmail.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
-rw-r--r-- | tools/perf/util/thread.c | 4 | ||||
-rw-r--r-- | tools/perf/util/thread.h | 1 |
2 files changed, 5 insertions, 0 deletions
diff --git a/tools/perf/util/thread.c b/tools/perf/util/thread.c index 632e40e5cec..40399cbcca7 100644 --- a/tools/perf/util/thread.c +++ b/tools/perf/util/thread.c @@ -14,6 +14,7 @@ struct thread *thread__new(pid_t pid) if (self != NULL) { map_groups__init(&self->mg); self->pid = pid; + self->ppid = -1; self->comm = malloc(32); if (self->comm) snprintf(self->comm, 32, ":%d", self->pid); @@ -82,5 +83,8 @@ int thread__fork(struct thread *self, struct thread *parent) for (i = 0; i < MAP__NR_TYPES; ++i) if (map_groups__clone(&self->mg, &parent->mg, i) < 0) return -ENOMEM; + + self->ppid = parent->pid; + return 0; } diff --git a/tools/perf/util/thread.h b/tools/perf/util/thread.h index 5ad26640309..eeb7ac62b9e 100644 --- a/tools/perf/util/thread.h +++ b/tools/perf/util/thread.h @@ -13,6 +13,7 @@ struct thread { }; struct map_groups mg; pid_t pid; + pid_t ppid; char shortname[3]; bool comm_set; char *comm; |