summaryrefslogtreecommitdiff
path: root/tools/perf/util/event.c
diff options
context:
space:
mode:
authorSrikar Dronamraju <srikar@linux.vnet.ibm.com>2010-08-02 16:38:51 +0400
committerArnaldo Carvalho de Melo <acme@redhat.com>2010-08-04 19:41:23 +0400
commitb83f920e179101a54721e5ab1d6c3edfb9d4bcbb (patch)
tree73f43481e5ea2f507afc2876b1cf4b5c0e395f5d /tools/perf/util/event.c
parentb5a6325464b700c4bdac8799c495970516eed41c (diff)
downloadlinux-b83f920e179101a54721e5ab1d6c3edfb9d4bcbb.tar.xz
perf: expose event__process function
The event__process function is useful in processing /proc/<pid>/maps. All of the functions that are called from event__process are defined in util/event.c. Though its defined in builtin-top.c, it could be reused for perf probe for uprobes. Hence moving it to util/event.c and exporting the function. LKML-Reference: <20100802123851.GD22812@linux.vnet.ibm.com> Signed-off-by: Srikar Dronamraju <srikar@linux.vnet.ibm.com> Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Diffstat (limited to 'tools/perf/util/event.c')
-rw-r--r--tools/perf/util/event.c20
1 files changed, 20 insertions, 0 deletions
diff --git a/tools/perf/util/event.c b/tools/perf/util/event.c
index db8a1d4b4d8c..dab9e754a281 100644
--- a/tools/perf/util/event.c
+++ b/tools/perf/util/event.c
@@ -548,6 +548,26 @@ int event__process_task(event_t *self, struct perf_session *session)
return 0;
}
+int event__process(event_t *event, struct perf_session *session)
+{
+ switch (event->header.type) {
+ case PERF_RECORD_COMM:
+ event__process_comm(event, session);
+ break;
+ case PERF_RECORD_MMAP:
+ event__process_mmap(event, session);
+ break;
+ case PERF_RECORD_FORK:
+ case PERF_RECORD_EXIT:
+ event__process_task(event, session);
+ break;
+ default:
+ break;
+ }
+
+ return 0;
+}
+
void thread__find_addr_map(struct thread *self,
struct perf_session *session, u8 cpumode,
enum map_type type, pid_t pid, u64 addr,