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>
This commit is contained in:
committed by
Arnaldo Carvalho de Melo
parent
45528f7c69
commit
70c57efb61
@@ -14,6 +14,7 @@ struct thread *thread__new(pid_t pid)
|
|||||||
if (self != NULL) {
|
if (self != NULL) {
|
||||||
map_groups__init(&self->mg);
|
map_groups__init(&self->mg);
|
||||||
self->pid = pid;
|
self->pid = pid;
|
||||||
|
self->ppid = -1;
|
||||||
self->comm = malloc(32);
|
self->comm = malloc(32);
|
||||||
if (self->comm)
|
if (self->comm)
|
||||||
snprintf(self->comm, 32, ":%d", self->pid);
|
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)
|
for (i = 0; i < MAP__NR_TYPES; ++i)
|
||||||
if (map_groups__clone(&self->mg, &parent->mg, i) < 0)
|
if (map_groups__clone(&self->mg, &parent->mg, i) < 0)
|
||||||
return -ENOMEM;
|
return -ENOMEM;
|
||||||
|
|
||||||
|
self->ppid = parent->pid;
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -13,6 +13,7 @@ struct thread {
|
|||||||
};
|
};
|
||||||
struct map_groups mg;
|
struct map_groups mg;
|
||||||
pid_t pid;
|
pid_t pid;
|
||||||
|
pid_t ppid;
|
||||||
char shortname[3];
|
char shortname[3];
|
||||||
bool comm_set;
|
bool comm_set;
|
||||||
char *comm;
|
char *comm;
|
||||||
|
|||||||
Reference in New Issue
Block a user