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:
@@ -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);
|
||||
|
Reference in New Issue
Block a user