[PATCH] perf: timechart: handle pthreads correctly
From: Andrew Isaacson
Date: Thu Apr 01 2010 - 16:04:52 EST
pthreads applications have multiple processes with the same "pid" but
different "tid" values. This confuses timechart, because it's using
the "pid" value to track processes.
Switch to using "tid" to avoid this confusion. For non-pthreads
applications tid == pid so there's no downside.
Signed-off-by: Andy Isaacson <adi@xxxxxxxxxx>
---
I've attached a before.svg.gz and after.svg.gz showing the failure.
diff --git a/tools/perf/builtin-timechart.c b/tools/perf/builtin-timechart.c
index 0d4d8ff..5b925de 100644
--- a/tools/perf/builtin-timechart.c
+++ b/tools/perf/builtin-timechart.c
@@ -286,7 +286,7 @@ static int process_comm_event(event_t *event, struct perf_session *session __use
static int process_fork_event(event_t *event, struct perf_session *session __used)
{
- pid_fork(event->fork.pid, event->fork.ppid, event->fork.time);
+ pid_fork(event->fork.tid, event->fork.ppid, event->fork.time);
return 0;
}
Attachment:
after.svg.gz
Description: Binary data
Attachment:
before.svg.gz
Description: Binary data