62daacb51a
While implementing event__preprocess_sample, that will do all of the symbol lookup in one convenient function, I noticed that util/process_event.[ch] were not being used at all, then started looking if there were other functions that could be shared and... All those functions really don't need to receive offset + head, the only thing they did was common to all of them, so do it at one place instead. Stats about number of each type of event processed now is done in a central place. Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com> Cc: Frédéric Weisbecker <fweisbec@gmail.com> Cc: John Kacur <jkacur@redhat.com> Cc: Mike Galbraith <efault@gmx.de> Cc: Peter Zijlstra <a.p.zijlstra@chello.nl> Cc: Paul Mackerras <paulus@samba.org> LKML-Reference: <1259346563-12568-11-git-send-email-acme@infradead.org> Signed-off-by: Ingo Molnar <mingo@elte.hu>
32 lines
959 B
C
32 lines
959 B
C
#ifndef __PERF_DATAMAP_H
|
|
#define __PERF_DATAMAP_H
|
|
|
|
#include "event.h"
|
|
#include "header.h"
|
|
|
|
typedef int (*event_type_handler_t)(event_t *);
|
|
|
|
struct perf_file_handler {
|
|
event_type_handler_t process_sample_event;
|
|
event_type_handler_t process_mmap_event;
|
|
event_type_handler_t process_comm_event;
|
|
event_type_handler_t process_fork_event;
|
|
event_type_handler_t process_exit_event;
|
|
event_type_handler_t process_lost_event;
|
|
event_type_handler_t process_read_event;
|
|
event_type_handler_t process_throttle_event;
|
|
event_type_handler_t process_unthrottle_event;
|
|
int (*sample_type_check)(u64 sample_type);
|
|
unsigned long total_unknown;
|
|
};
|
|
|
|
void register_perf_file_handler(struct perf_file_handler *handler);
|
|
int mmap_dispatch_perf_file(struct perf_header **pheader,
|
|
const char *input_name,
|
|
int force,
|
|
int full_paths,
|
|
int *cwdlen,
|
|
char **cwd);
|
|
int perf_header__read_build_ids(int input, off_t offset, off_t file_size);
|
|
|
|
#endif
|