diff options
Diffstat (limited to 'tools/perf/util/session.c')
| -rw-r--r-- | tools/perf/util/session.c | 165 | 
1 files changed, 83 insertions, 82 deletions
diff --git a/tools/perf/util/session.c b/tools/perf/util/session.c index ee0b6110257..a3a871f7bda 100644 --- a/tools/perf/util/session.c +++ b/tools/perf/util/session.c @@ -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);  |