perf tools: Kill event_t typedef, use 'union perf_event' instead

And move the event_t methods to the perf_event__ too.

No code changes, just namespace consistency.

Cc: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Ingo Molnar <mingo@elte.hu>
Cc: Mike Galbraith <efault@gmx.de>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Stephane Eranian <eranian@google.com>
Cc: Tom Zanussi <tzanussi@gmail.com>
LKML-Reference: <new-submission>
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
This commit is contained in:
Arnaldo Carvalho de Melo
2011-01-29 14:01:45 -02:00
parent 8d50e5b417
commit 8115d60c32
27 changed files with 473 additions and 437 deletions

View File

@@ -165,7 +165,7 @@ struct perf_session *perf_session__new(const char *filename, int mode,
} else if (mode == O_WRONLY) {
/*
* In O_RDONLY mode this will be performed when reading the
* kernel MMAP event, in event__process_mmap().
* kernel MMAP event, in perf_event__process_mmap().
*/
if (perf_session__create_kernel_maps(self) < 0)
goto out_delete;
@@ -291,14 +291,14 @@ int perf_session__resolve_callchain(struct perf_session *self,
return 0;
}
static int process_event_synth_stub(event_t *event __used,
static int process_event_synth_stub(union perf_event *event __used,
struct perf_session *session __used)
{
dump_printf(": unhandled!\n");
return 0;
}
static int process_event_stub(event_t *event __used,
static int process_event_stub(union perf_event *event __used,
struct perf_sample *sample __used,
struct perf_session *session __used)
{
@@ -306,7 +306,7 @@ static int process_event_stub(event_t *event __used,
return 0;
}
static int process_finished_round_stub(event_t *event __used,
static int process_finished_round_stub(union perf_event *event __used,
struct perf_session *session __used,
struct perf_event_ops *ops __used)
{
@@ -314,7 +314,7 @@ static int process_finished_round_stub(event_t *event __used,
return 0;
}
static int process_finished_round(event_t *event,
static int process_finished_round(union perf_event *event,
struct perf_session *session,
struct perf_event_ops *ops);
@@ -331,7 +331,7 @@ static void perf_event_ops__fill_defaults(struct perf_event_ops *handler)
if (handler->exit == NULL)
handler->exit = process_event_stub;
if (handler->lost == NULL)
handler->lost = event__process_lost;
handler->lost = perf_event__process_lost;
if (handler->read == NULL)
handler->read = process_event_stub;
if (handler->throttle == NULL)
@@ -365,98 +365,98 @@ void mem_bswap_64(void *src, int byte_size)
}
}
static void event__all64_swap(event_t *self)
static void perf_event__all64_swap(union perf_event *event)
{
struct perf_event_header *hdr = &self->header;
mem_bswap_64(hdr + 1, self->header.size - sizeof(*hdr));
struct perf_event_header *hdr = &event->header;
mem_bswap_64(hdr + 1, event->header.size - sizeof(*hdr));
}
static void event__comm_swap(event_t *self)
static void perf_event__comm_swap(union perf_event *event)
{
self->comm.pid = bswap_32(self->comm.pid);
self->comm.tid = bswap_32(self->comm.tid);
event->comm.pid = bswap_32(event->comm.pid);
event->comm.tid = bswap_32(event->comm.tid);
}
static void event__mmap_swap(event_t *self)
static void perf_event__mmap_swap(union perf_event *event)
{
self->mmap.pid = bswap_32(self->mmap.pid);
self->mmap.tid = bswap_32(self->mmap.tid);
self->mmap.start = bswap_64(self->mmap.start);
self->mmap.len = bswap_64(self->mmap.len);
self->mmap.pgoff = bswap_64(self->mmap.pgoff);
event->mmap.pid = bswap_32(event->mmap.pid);
event->mmap.tid = bswap_32(event->mmap.tid);
event->mmap.start = bswap_64(event->mmap.start);
event->mmap.len = bswap_64(event->mmap.len);
event->mmap.pgoff = bswap_64(event->mmap.pgoff);
}
static void event__task_swap(event_t *self)
static void perf_event__task_swap(union perf_event *event)
{
self->fork.pid = bswap_32(self->fork.pid);
self->fork.tid = bswap_32(self->fork.tid);
self->fork.ppid = bswap_32(self->fork.ppid);
self->fork.ptid = bswap_32(self->fork.ptid);
self->fork.time = bswap_64(self->fork.time);
event->fork.pid = bswap_32(event->fork.pid);
event->fork.tid = bswap_32(event->fork.tid);
event->fork.ppid = bswap_32(event->fork.ppid);
event->fork.ptid = bswap_32(event->fork.ptid);
event->fork.time = bswap_64(event->fork.time);
}
static void event__read_swap(event_t *self)
static void perf_event__read_swap(union perf_event *event)
{
self->read.pid = bswap_32(self->read.pid);
self->read.tid = bswap_32(self->read.tid);
self->read.value = bswap_64(self->read.value);
self->read.time_enabled = bswap_64(self->read.time_enabled);
self->read.time_running = bswap_64(self->read.time_running);
self->read.id = bswap_64(self->read.id);
event->read.pid = bswap_32(event->read.pid);
event->read.tid = bswap_32(event->read.tid);
event->read.value = bswap_64(event->read.value);
event->read.time_enabled = bswap_64(event->read.time_enabled);
event->read.time_running = bswap_64(event->read.time_running);
event->read.id = bswap_64(event->read.id);
}
static void event__attr_swap(event_t *self)
static void perf_event__attr_swap(union perf_event *event)
{
size_t size;
self->attr.attr.type = bswap_32(self->attr.attr.type);
self->attr.attr.size = bswap_32(self->attr.attr.size);
self->attr.attr.config = bswap_64(self->attr.attr.config);
self->attr.attr.sample_period = bswap_64(self->attr.attr.sample_period);
self->attr.attr.sample_type = bswap_64(self->attr.attr.sample_type);
self->attr.attr.read_format = bswap_64(self->attr.attr.read_format);
self->attr.attr.wakeup_events = bswap_32(self->attr.attr.wakeup_events);
self->attr.attr.bp_type = bswap_32(self->attr.attr.bp_type);
self->attr.attr.bp_addr = bswap_64(self->attr.attr.bp_addr);
self->attr.attr.bp_len = bswap_64(self->attr.attr.bp_len);
event->attr.attr.type = bswap_32(event->attr.attr.type);
event->attr.attr.size = bswap_32(event->attr.attr.size);
event->attr.attr.config = bswap_64(event->attr.attr.config);
event->attr.attr.sample_period = bswap_64(event->attr.attr.sample_period);
event->attr.attr.sample_type = bswap_64(event->attr.attr.sample_type);
event->attr.attr.read_format = bswap_64(event->attr.attr.read_format);
event->attr.attr.wakeup_events = bswap_32(event->attr.attr.wakeup_events);
event->attr.attr.bp_type = bswap_32(event->attr.attr.bp_type);
event->attr.attr.bp_addr = bswap_64(event->attr.attr.bp_addr);
event->attr.attr.bp_len = bswap_64(event->attr.attr.bp_len);
size = self->header.size;
size -= (void *)&self->attr.id - (void *)self;
mem_bswap_64(self->attr.id, size);
size = event->header.size;
size -= (void *)&event->attr.id - (void *)event;
mem_bswap_64(event->attr.id, size);
}
static void event__event_type_swap(event_t *self)
static void perf_event__event_type_swap(union perf_event *event)
{
self->event_type.event_type.event_id =
bswap_64(self->event_type.event_type.event_id);
event->event_type.event_type.event_id =
bswap_64(event->event_type.event_type.event_id);
}
static void event__tracing_data_swap(event_t *self)
static void perf_event__tracing_data_swap(union perf_event *event)
{
self->tracing_data.size = bswap_32(self->tracing_data.size);
event->tracing_data.size = bswap_32(event->tracing_data.size);
}
typedef void (*event__swap_op)(event_t *self);
typedef void (*perf_event__swap_op)(union perf_event *event);
static event__swap_op event__swap_ops[] = {
[PERF_RECORD_MMAP] = event__mmap_swap,
[PERF_RECORD_COMM] = event__comm_swap,
[PERF_RECORD_FORK] = event__task_swap,
[PERF_RECORD_EXIT] = event__task_swap,
[PERF_RECORD_LOST] = event__all64_swap,
[PERF_RECORD_READ] = event__read_swap,
[PERF_RECORD_SAMPLE] = event__all64_swap,
[PERF_RECORD_HEADER_ATTR] = event__attr_swap,
[PERF_RECORD_HEADER_EVENT_TYPE] = event__event_type_swap,
[PERF_RECORD_HEADER_TRACING_DATA] = event__tracing_data_swap,
[PERF_RECORD_HEADER_BUILD_ID] = NULL,
[PERF_RECORD_HEADER_MAX] = NULL,
static perf_event__swap_op perf_event__swap_ops[] = {
[PERF_RECORD_MMAP] = perf_event__mmap_swap,
[PERF_RECORD_COMM] = perf_event__comm_swap,
[PERF_RECORD_FORK] = perf_event__task_swap,
[PERF_RECORD_EXIT] = perf_event__task_swap,
[PERF_RECORD_LOST] = perf_event__all64_swap,
[PERF_RECORD_READ] = perf_event__read_swap,
[PERF_RECORD_SAMPLE] = perf_event__all64_swap,
[PERF_RECORD_HEADER_ATTR] = perf_event__attr_swap,
[PERF_RECORD_HEADER_EVENT_TYPE] = perf_event__event_type_swap,
[PERF_RECORD_HEADER_TRACING_DATA] = perf_event__tracing_data_swap,
[PERF_RECORD_HEADER_BUILD_ID] = NULL,
[PERF_RECORD_HEADER_MAX] = NULL,
};
struct sample_queue {
u64 timestamp;
u64 file_offset;
event_t *event;
union perf_event *event;
struct list_head list;
};
@@ -474,7 +474,7 @@ static void perf_session_free_sample_buffers(struct perf_session *session)
}
static int perf_session_deliver_event(struct perf_session *session,
event_t *event,
union perf_event *event,
struct perf_sample *sample,
struct perf_event_ops *ops,
u64 file_offset);
@@ -552,7 +552,7 @@ static void flush_sample_queue(struct perf_session *s,
* Flush every events below timestamp 7
* etc...
*/
static int process_finished_round(event_t *event __used,
static int process_finished_round(union perf_event *event __used,
struct perf_session *session,
struct perf_event_ops *ops)
{
@@ -609,7 +609,7 @@ static void __queue_event(struct sample_queue *new, struct perf_session *s)
#define MAX_SAMPLE_BUFFER (64 * 1024 / sizeof(struct sample_queue))
static int perf_session_queue_event(struct perf_session *s, event_t *event,
static int perf_session_queue_event(struct perf_session *s, union perf_event *event,
struct perf_sample *sample, u64 file_offset)
{
struct ordered_samples *os = &s->ordered_samples;
@@ -662,7 +662,7 @@ static void callchain__printf(struct perf_sample *sample)
}
static void perf_session__print_tstamp(struct perf_session *session,
event_t *event,
union perf_event *event,
struct perf_sample *sample)
{
if (event->header.type != PERF_RECORD_SAMPLE &&
@@ -678,7 +678,7 @@ static void perf_session__print_tstamp(struct perf_session *session,
printf("%" PRIu64 " ", sample->time);
}
static void dump_event(struct perf_session *session, event_t *event,
static void dump_event(struct perf_session *session, union perf_event *event,
u64 file_offset, struct perf_sample *sample)
{
if (!dump_trace)
@@ -693,10 +693,10 @@ static void dump_event(struct perf_session *session, event_t *event,
perf_session__print_tstamp(session, event, sample);
printf("%#" PRIx64 " [%#x]: PERF_RECORD_%s", file_offset,
event->header.size, event__get_event_name(event->header.type));
event->header.size, perf_event__name(event->header.type));
}
static void dump_sample(struct perf_session *session, event_t *event,
static void dump_sample(struct perf_session *session, union perf_event *event,
struct perf_sample *sample)
{
if (!dump_trace)
@@ -711,7 +711,7 @@ static void dump_sample(struct perf_session *session, event_t *event,
}
static int perf_session_deliver_event(struct perf_session *session,
event_t *event,
union perf_event *event,
struct perf_sample *sample,
struct perf_event_ops *ops,
u64 file_offset)
@@ -745,7 +745,7 @@ static int perf_session_deliver_event(struct perf_session *session,
}
static int perf_session__preprocess_sample(struct perf_session *session,
event_t *event, struct perf_sample *sample)
union perf_event *event, struct perf_sample *sample)
{
if (event->header.type != PERF_RECORD_SAMPLE ||
!(session->sample_type & PERF_SAMPLE_CALLCHAIN))
@@ -760,7 +760,7 @@ static int perf_session__preprocess_sample(struct perf_session *session,
return 0;
}
static int perf_session__process_user_event(struct perf_session *session, event_t *event,
static int perf_session__process_user_event(struct perf_session *session, union perf_event *event,
struct perf_event_ops *ops, u64 file_offset)
{
dump_event(session, event, file_offset, NULL);
@@ -785,15 +785,16 @@ static int perf_session__process_user_event(struct perf_session *session, event_
}
static int perf_session__process_event(struct perf_session *session,
event_t *event,
union perf_event *event,
struct perf_event_ops *ops,
u64 file_offset)
{
struct perf_sample sample;
int ret;
if (session->header.needs_swap && event__swap_ops[event->header.type])
event__swap_ops[event->header.type](event);
if (session->header.needs_swap &&
perf_event__swap_ops[event->header.type])
perf_event__swap_ops[event->header.type](event);
if (event->header.type >= PERF_RECORD_HEADER_MAX)
return -EINVAL;
@@ -845,7 +846,7 @@ static struct thread *perf_session__register_idle_thread(struct perf_session *se
static void perf_session__warn_about_errors(const struct perf_session *session,
const struct perf_event_ops *ops)
{
if (ops->lost == event__process_lost &&
if (ops->lost == perf_event__process_lost &&
session->hists.stats.total_lost != 0) {
ui__warning("Processed %" PRIu64 " events and LOST %" PRIu64
"!\n\nCheck IO/CPU overload!\n\n",
@@ -877,7 +878,7 @@ volatile int session_done;
static int __perf_session__process_pipe_events(struct perf_session *self,
struct perf_event_ops *ops)
{
event_t event;
union perf_event event;
uint32_t size;
int skip = 0;
u64 head;
@@ -958,7 +959,7 @@ int __perf_session__process_events(struct perf_session *session,
struct ui_progress *progress;
size_t page_size, mmap_size;
char *buf, *mmaps[8];
event_t *event;
union perf_event *event;
uint32_t size;
perf_event_ops__fill_defaults(ops);
@@ -1003,7 +1004,7 @@ remap:
file_pos = file_offset + head;
more:
event = (event_t *)(buf + head);
event = (union perf_event *)(buf + head);
if (session->header.needs_swap)
perf_event_header__bswap(&event->header);