diff options
author | Thomas Gleixner <tglx@linutronix.de> | 2011-02-19 12:56:36 +0100 |
---|---|---|
committer | Thomas Gleixner <tglx@linutronix.de> | 2011-02-19 12:56:43 +0100 |
commit | 218502bfe674f570205367b9094048207b04ba15 (patch) | |
tree | c6187b97e7c79d902aef08f049e9fba04c421d56 /tools/perf/util/event.c | |
parent | 51327ada7142ab520ed610a42572d1f4cbfbb2dc (diff) | |
parent | 6d83f94db95cfe65d2a6359cccdf61cf087c2598 (diff) |
Merge branch 'irq/urgent' into irq/core
Reason: Further patches are conflicting with mainline fixes
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Diffstat (limited to 'tools/perf/util/event.c')
-rw-r--r-- | tools/perf/util/event.c | 18 |
1 files changed, 13 insertions, 5 deletions
diff --git a/tools/perf/util/event.c b/tools/perf/util/event.c index 1478ab4ee22..50d0a931497 100644 --- a/tools/perf/util/event.c +++ b/tools/perf/util/event.c @@ -263,11 +263,12 @@ static int __event__synthesize_thread(event_t *comm_event, event_t *mmap_event, process, session); } -int event__synthesize_thread(pid_t pid, event__handler_t process, - struct perf_session *session) +int event__synthesize_thread_map(struct thread_map *threads, + event__handler_t process, + struct perf_session *session) { event_t *comm_event, *mmap_event; - int err = -1; + int err = -1, thread; comm_event = malloc(sizeof(comm_event->comm) + session->id_hdr_size); if (comm_event == NULL) @@ -277,8 +278,15 @@ int event__synthesize_thread(pid_t pid, event__handler_t process, if (mmap_event == NULL) goto out_free_comm; - err = __event__synthesize_thread(comm_event, mmap_event, pid, - process, session); + err = 0; + for (thread = 0; thread < threads->nr; ++thread) { + if (__event__synthesize_thread(comm_event, mmap_event, + threads->map[thread], + process, session)) { + err = -1; + break; + } + } free(mmap_event); out_free_comm: free(comm_event); |