perf tools: Add time argument on COMM setting

This way we can later delimit a lifecycle for the COMM and map a hist to
a precise COMM:timeslice couple.

PERF_RECORD_COMM and PERF_RECORD_FORK events that don't have
PERF_SAMPLE_TIME samples can only send 0 value as a timestamp and thus
should overwrite any previous COMM on a given thread because there is no
sensible way to keep track of all the comms lifecycles in a thread
without time informations.

Signed-off-by: Frederic Weisbecker <fweisbec@gmail.com>
Tested-by: Jiri Olsa <jolsa@redhat.com>
Cc: Jiri Olsa <jolsa@redhat.com>
Cc: David Ahern <dsahern@gmail.com>
Cc: Ingo Molnar <mingo@elte.hu>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Stephane Eranian <eranian@google.com>
Link: http://lkml.kernel.org/n/tip-6tyow99vgmmtt9qwr2u2lqd7@git.kernel.org
[ Made it cope with PERF_RECORD_MMAP2 ]
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
This commit is contained in:
Frederic Weisbecker
2013-09-11 16:18:24 +02:00
committed by Arnaldo Carvalho de Melo
parent b9c5143a01
commit 162f0befda
10 changed files with 67 additions and 53 deletions

View File

@ -31,7 +31,8 @@ void thread__delete(struct thread *thread)
free(thread);
}
int thread__set_comm(struct thread *thread, const char *comm)
int thread__set_comm(struct thread *thread, const char *comm,
u64 timestamp __maybe_unused)
{
int err;
@ -73,7 +74,8 @@ void thread__insert_map(struct thread *thread, struct map *map)
map_groups__insert(&thread->mg, map);
}
int thread__fork(struct thread *thread, struct thread *parent)
int thread__fork(struct thread *thread, struct thread *parent,
u64 timestamp __maybe_unused)
{
int i;