perf session: Move the global threads list to perf_session

So that we can process two perf.data files.

We still need to add a O_MMAP mode for perf_session so that we
can do all the mmap stuff in it.

Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Cc: Frédéric Weisbecker <fweisbec@gmail.com>
Cc: Mike Galbraith <efault@gmx.de>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Paul Mackerras <paulus@samba.org>
LKML-Reference: <1260741029-4430-5-git-send-email-acme@infradead.org>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
This commit is contained in:
Arnaldo Carvalho de Melo
2009-12-13 19:50:28 -02:00
committed by Ingo Molnar
parent ec91336973
commit b3165f4144
13 changed files with 98 additions and 74 deletions

View File

@ -600,7 +600,7 @@ static int validate_chain(struct ip_callchain *chain, event_t *event)
return 0;
}
static int process_sample_event(event_t *event, struct perf_session *session __used)
static int process_sample_event(event_t *event, struct perf_session *session)
{
struct sample_data data;
int cpumode;
@ -636,7 +636,7 @@ static int process_sample_event(event_t *event, struct perf_session *session __u
}
}
thread = threads__findnew(data.pid);
thread = perf_session__findnew(session, data.pid);
if (thread == NULL) {
pr_debug("problem processing %d event, skipping it.\n",
event->header.type);
@ -679,9 +679,9 @@ static int process_sample_event(event_t *event, struct perf_session *session __u
return 0;
}
static int process_comm_event(event_t *event, struct perf_session *session __used)
static int process_comm_event(event_t *event, struct perf_session *session)
{
struct thread *thread = threads__findnew(event->comm.pid);
struct thread *thread = perf_session__findnew(session, event->comm.pid);
dump_printf(": %s:%d\n", event->comm.comm, event->comm.pid);
@ -780,7 +780,7 @@ static int __cmd_report(void)
}
if (verbose > 3)
threads__fprintf(stdout);
perf_session__fprintf(session, stdout);
if (verbose > 2)
dsos__fprintf(stdout);