Lines Matching refs:pevent

160 static int cmdline_init(struct pevent *pevent)  in cmdline_init()  argument
162 struct cmdline_list *cmdlist = pevent->cmdlist; in cmdline_init()
167 cmdlines = malloc(sizeof(*cmdlines) * pevent->cmdline_count); in cmdline_init()
181 qsort(cmdlines, pevent->cmdline_count, sizeof(*cmdlines), cmdline_cmp); in cmdline_init()
183 pevent->cmdlines = cmdlines; in cmdline_init()
184 pevent->cmdlist = NULL; in cmdline_init()
189 static const char *find_cmdline(struct pevent *pevent, int pid) in find_cmdline() argument
197 if (!pevent->cmdlines && cmdline_init(pevent)) in find_cmdline()
202 comm = bsearch(&key, pevent->cmdlines, pevent->cmdline_count, in find_cmdline()
203 sizeof(*pevent->cmdlines), cmdline_cmp); in find_cmdline()
218 int pevent_pid_is_registered(struct pevent *pevent, int pid) in pevent_pid_is_registered() argument
226 if (!pevent->cmdlines && cmdline_init(pevent)) in pevent_pid_is_registered()
231 comm = bsearch(&key, pevent->cmdlines, pevent->cmdline_count, in pevent_pid_is_registered()
232 sizeof(*pevent->cmdlines), cmdline_cmp); in pevent_pid_is_registered()
244 static int add_new_comm(struct pevent *pevent, const char *comm, int pid) in add_new_comm() argument
246 struct cmdline *cmdlines = pevent->cmdlines; in add_new_comm()
256 cmdline = bsearch(&key, pevent->cmdlines, pevent->cmdline_count, in add_new_comm()
257 sizeof(*pevent->cmdlines), cmdline_cmp); in add_new_comm()
263 cmdlines = realloc(cmdlines, sizeof(*cmdlines) * (pevent->cmdline_count + 1)); in add_new_comm()
269 cmdlines[pevent->cmdline_count].comm = strdup(comm); in add_new_comm()
270 if (!cmdlines[pevent->cmdline_count].comm) { in add_new_comm()
276 cmdlines[pevent->cmdline_count].pid = pid; in add_new_comm()
278 if (cmdlines[pevent->cmdline_count].comm) in add_new_comm()
279 pevent->cmdline_count++; in add_new_comm()
281 qsort(cmdlines, pevent->cmdline_count, sizeof(*cmdlines), cmdline_cmp); in add_new_comm()
282 pevent->cmdlines = cmdlines; in add_new_comm()
296 int pevent_register_comm(struct pevent *pevent, const char *comm, int pid) in pevent_register_comm() argument
300 if (pevent->cmdlines) in pevent_register_comm()
301 return add_new_comm(pevent, comm, pid); in pevent_register_comm()
316 item->next = pevent->cmdlist; in pevent_register_comm()
318 pevent->cmdlist = item; in pevent_register_comm()
319 pevent->cmdline_count++; in pevent_register_comm()
324 int pevent_register_trace_clock(struct pevent *pevent, const char *trace_clock) in pevent_register_trace_clock() argument
326 pevent->trace_clock = strdup(trace_clock); in pevent_register_trace_clock()
327 if (!pevent->trace_clock) { in pevent_register_trace_clock()
381 static int func_map_init(struct pevent *pevent) in func_map_init() argument
388 func_map = malloc(sizeof(*func_map) * (pevent->func_count + 1)); in func_map_init()
392 funclist = pevent->funclist; in func_map_init()
405 qsort(func_map, pevent->func_count, sizeof(*func_map), func_cmp); in func_map_init()
410 func_map[pevent->func_count].func = NULL; in func_map_init()
411 func_map[pevent->func_count].addr = 0; in func_map_init()
412 func_map[pevent->func_count].mod = NULL; in func_map_init()
414 pevent->func_map = func_map; in func_map_init()
415 pevent->funclist = NULL; in func_map_init()
421 __find_func(struct pevent *pevent, unsigned long long addr) in __find_func() argument
426 if (!pevent->func_map) in __find_func()
427 func_map_init(pevent); in __find_func()
431 func = bsearch(&key, pevent->func_map, pevent->func_count, in __find_func()
432 sizeof(*pevent->func_map), func_bcmp); in __find_func()
453 int pevent_set_function_resolver(struct pevent *pevent, in pevent_set_function_resolver() argument
464 free(pevent->func_resolver); in pevent_set_function_resolver()
465 pevent->func_resolver = resolver; in pevent_set_function_resolver()
477 void pevent_reset_function_resolver(struct pevent *pevent) in pevent_reset_function_resolver() argument
479 free(pevent->func_resolver); in pevent_reset_function_resolver()
480 pevent->func_resolver = NULL; in pevent_reset_function_resolver()
484 find_func(struct pevent *pevent, unsigned long long addr) in find_func() argument
488 if (!pevent->func_resolver) in find_func()
489 return __find_func(pevent, addr); in find_func()
491 map = &pevent->func_resolver->map; in find_func()
494 map->func = pevent->func_resolver->func(pevent->func_resolver->priv, in find_func()
511 const char *pevent_find_function(struct pevent *pevent, unsigned long long addr) in pevent_find_function() argument
515 map = find_func(pevent, addr); in pevent_find_function()
532 pevent_find_function_address(struct pevent *pevent, unsigned long long addr) in pevent_find_function_address() argument
536 map = find_func(pevent, addr); in pevent_find_function_address()
553 int pevent_register_function(struct pevent *pevent, char *func, in pevent_register_function() argument
561 item->next = pevent->funclist; in pevent_register_function()
574 pevent->funclist = item; in pevent_register_function()
575 pevent->func_count++; in pevent_register_function()
594 void pevent_print_funcs(struct pevent *pevent) in pevent_print_funcs() argument
598 if (!pevent->func_map) in pevent_print_funcs()
599 func_map_init(pevent); in pevent_print_funcs()
601 for (i = 0; i < (int)pevent->func_count; i++) { in pevent_print_funcs()
603 pevent->func_map[i].addr, in pevent_print_funcs()
604 pevent->func_map[i].func); in pevent_print_funcs()
605 if (pevent->func_map[i].mod) in pevent_print_funcs()
606 printf(" [%s]\n", pevent->func_map[i].mod); in pevent_print_funcs()
636 static int printk_map_init(struct pevent *pevent) in printk_map_init() argument
643 printk_map = malloc(sizeof(*printk_map) * (pevent->printk_count + 1)); in printk_map_init()
647 printklist = pevent->printklist; in printk_map_init()
659 qsort(printk_map, pevent->printk_count, sizeof(*printk_map), printk_cmp); in printk_map_init()
661 pevent->printk_map = printk_map; in printk_map_init()
662 pevent->printklist = NULL; in printk_map_init()
668 find_printk(struct pevent *pevent, unsigned long long addr) in find_printk() argument
673 if (!pevent->printk_map && printk_map_init(pevent)) in find_printk()
678 printk = bsearch(&key, pevent->printk_map, pevent->printk_count, in find_printk()
679 sizeof(*pevent->printk_map), printk_cmp); in find_printk()
693 int pevent_register_print_string(struct pevent *pevent, const char *fmt, in pevent_register_print_string() argument
702 item->next = pevent->printklist; in pevent_register_print_string()
720 pevent->printklist = item; in pevent_register_print_string()
721 pevent->printk_count++; in pevent_register_print_string()
737 void pevent_print_printk(struct pevent *pevent) in pevent_print_printk() argument
741 if (!pevent->printk_map) in pevent_print_printk()
742 printk_map_init(pevent); in pevent_print_printk()
744 for (i = 0; i < (int)pevent->printk_count; i++) { in pevent_print_printk()
746 pevent->printk_map[i].addr, in pevent_print_printk()
747 pevent->printk_map[i].printk); in pevent_print_printk()
756 static int add_event(struct pevent *pevent, struct event_format *event) in add_event() argument
759 struct event_format **events = realloc(pevent->events, sizeof(event) * in add_event()
760 (pevent->nr_events + 1)); in add_event()
764 pevent->events = events; in add_event()
766 for (i = 0; i < pevent->nr_events; i++) { in add_event()
767 if (pevent->events[i]->id > event->id) in add_event()
770 if (i < pevent->nr_events) in add_event()
771 memmove(&pevent->events[i + 1], in add_event()
772 &pevent->events[i], in add_event()
773 sizeof(event) * (pevent->nr_events - i)); in add_event()
775 pevent->events[i] = event; in add_event()
776 pevent->nr_events++; in add_event()
778 event->pevent = pevent; in add_event()
1629 field->elementsize = event->pevent ? in event_read_fields()
1630 event->pevent->long_size : in event_read_fields()
2890 find_func_handler(struct pevent *pevent, char *func_name) in find_func_handler() argument
2894 if (!pevent) in find_func_handler()
2897 for (func = pevent->func_handlers; func; func = func->next) { in find_func_handler()
2905 static void remove_func_handler(struct pevent *pevent, char *func_name) in remove_func_handler() argument
2910 next = &pevent->func_handlers; in remove_func_handler()
3020 func = find_func_handler(event->pevent, token); in process_function()
3308 unsigned long long pevent_read_number(struct pevent *pevent, in pevent_read_number() argument
3315 return data2host2(pevent, ptr); in pevent_read_number()
3317 return data2host4(pevent, ptr); in pevent_read_number()
3319 return data2host8(pevent, ptr); in pevent_read_number()
3347 *value = pevent_read_number(field->event->pevent, in pevent_read_number_field()
3355 static int get_common_info(struct pevent *pevent, in get_common_info() argument
3365 if (!pevent->events) { in get_common_info()
3370 event = pevent->events[0]; in get_common_info()
3381 static int __parse_common(struct pevent *pevent, void *data, in __parse_common() argument
3387 ret = get_common_info(pevent, name, offset, size); in __parse_common()
3391 return pevent_read_number(pevent, data + *offset, *size); in __parse_common()
3394 static int trace_parse_common_type(struct pevent *pevent, void *data) in trace_parse_common_type() argument
3396 return __parse_common(pevent, data, in trace_parse_common_type()
3397 &pevent->type_size, &pevent->type_offset, in trace_parse_common_type()
3401 static int parse_common_pid(struct pevent *pevent, void *data) in parse_common_pid() argument
3403 return __parse_common(pevent, data, in parse_common_pid()
3404 &pevent->pid_size, &pevent->pid_offset, in parse_common_pid()
3408 static int parse_common_pc(struct pevent *pevent, void *data) in parse_common_pc() argument
3410 return __parse_common(pevent, data, in parse_common_pc()
3411 &pevent->pc_size, &pevent->pc_offset, in parse_common_pc()
3415 static int parse_common_flags(struct pevent *pevent, void *data) in parse_common_flags() argument
3417 return __parse_common(pevent, data, in parse_common_flags()
3418 &pevent->flags_size, &pevent->flags_offset, in parse_common_flags()
3422 static int parse_common_lock_depth(struct pevent *pevent, void *data) in parse_common_lock_depth() argument
3424 return __parse_common(pevent, data, in parse_common_lock_depth()
3425 &pevent->ld_size, &pevent->ld_offset, in parse_common_lock_depth()
3429 static int parse_common_migrate_disable(struct pevent *pevent, void *data) in parse_common_migrate_disable() argument
3431 return __parse_common(pevent, data, in parse_common_migrate_disable()
3432 &pevent->ld_size, &pevent->ld_offset, in parse_common_migrate_disable()
3445 struct event_format *pevent_find_event(struct pevent *pevent, int id) in pevent_find_event() argument
3452 if (pevent->last_event && pevent->last_event->id == id) in pevent_find_event()
3453 return pevent->last_event; in pevent_find_event()
3457 eventptr = bsearch(&pkey, pevent->events, pevent->nr_events, in pevent_find_event()
3458 sizeof(*pevent->events), events_id_cmp); in pevent_find_event()
3461 pevent->last_event = *eventptr; in pevent_find_event()
3478 pevent_find_event_by_name(struct pevent *pevent, in pevent_find_event_by_name() argument
3484 if (pevent->last_event && in pevent_find_event_by_name()
3485 strcmp(pevent->last_event->name, name) == 0 && in pevent_find_event_by_name()
3486 (!sys || strcmp(pevent->last_event->system, sys) == 0)) in pevent_find_event_by_name()
3487 return pevent->last_event; in pevent_find_event_by_name()
3489 for (i = 0; i < pevent->nr_events; i++) { in pevent_find_event_by_name()
3490 event = pevent->events[i]; in pevent_find_event_by_name()
3498 if (i == pevent->nr_events) in pevent_find_event_by_name()
3501 pevent->last_event = event; in pevent_find_event_by_name()
3508 struct pevent *pevent = event->pevent; in eval_num_arg() local
3530 val = pevent_read_number(pevent, data + arg->field.field->offset, in eval_num_arg()
3569 field_size = pevent->long_size; in eval_num_arg()
3573 offset = pevent_read_number(pevent, in eval_num_arg()
3602 val = pevent_read_number(pevent, in eval_num_arg()
3700 offset = pevent_read_number(pevent, in eval_num_arg()
3712 offset = pevent_read_number(pevent, in eval_num_arg()
3787 static void print_bitmask_to_seq(struct pevent *pevent, in print_bitmask_to_seq() argument
3819 if (pevent->file_bigendian) in print_bitmask_to_seq()
3845 struct pevent *pevent = event->pevent; in print_str_arg() local
3882 field->size == pevent->long_size) { in print_str_arg()
3897 addr = (pevent->long_size == 8) ? in print_str_arg()
3902 printk = find_printk(pevent, addr); in print_str_arg()
3951 offset = pevent_read_number(pevent, in print_str_arg()
3982 offset = pevent_read_number(pevent, in print_str_arg()
4033 str_offset = data2host4(pevent, data + arg->string.offset); in print_str_arg()
4051 bitmask_offset = data2host4(pevent, data + arg->bitmask.offset); in print_str_arg()
4054 print_bitmask_to_seq(pevent, s, format, len_arg, in print_str_arg()
4186 struct pevent *pevent = event->pevent; in make_bprint_args() local
4194 field = pevent->bprint_buf_field; in make_bprint_args()
4195 ip_field = pevent->bprint_ip_field; in make_bprint_args()
4208 pevent->bprint_buf_field = field; in make_bprint_args()
4209 pevent->bprint_ip_field = ip_field; in make_bprint_args()
4212 ip = pevent_read_number(pevent, data + ip_field->offset, ip_field->size); in make_bprint_args()
4269 vsize = pevent->long_size; in make_bprint_args()
4286 val = pevent_read_number(pevent, bptr, vsize); in make_bprint_args()
4342 struct pevent *pevent = event->pevent; in get_bprint_format() local
4348 field = pevent->bprint_fmt_field; in get_bprint_format()
4356 pevent->bprint_fmt_field = field; in get_bprint_format()
4359 addr = pevent_read_number(pevent, data + field->offset, field->size); in get_bprint_format()
4361 printk = find_printk(pevent, addr); in get_bprint_format()
4753 val = pevent_read_number(event->pevent, data + offset, len); in print_event_fields()
4773 val = pevent_read_number(event->pevent, data + field->offset, in print_event_fields()
4811 struct pevent *pevent = event->pevent; in pretty_print() local
4903 if (pevent->long_size == 4) in pretty_print()
4957 func = find_func(pevent, val); in pretty_print()
4967 if (pevent->long_size == 8 && ls && in pretty_print()
5074 void pevent_data_lat_fmt(struct pevent *pevent, in pevent_data_lat_fmt() argument
5089 lat_flags = parse_common_flags(pevent, data); in pevent_data_lat_fmt()
5090 pc = parse_common_pc(pevent, data); in pevent_data_lat_fmt()
5093 lock_depth = parse_common_lock_depth(pevent, data); in pevent_data_lat_fmt()
5095 lock_depth = parse_common_lock_depth(pevent, data); in pevent_data_lat_fmt()
5104 migrate_disable = parse_common_migrate_disable(pevent, data); in pevent_data_lat_fmt()
5106 migrate_disable = parse_common_migrate_disable(pevent, data); in pevent_data_lat_fmt()
5154 int pevent_data_type(struct pevent *pevent, struct pevent_record *rec) in pevent_data_type() argument
5156 return trace_parse_common_type(pevent, rec->data); in pevent_data_type()
5166 struct event_format *pevent_data_event_from_type(struct pevent *pevent, int type) in pevent_data_event_from_type() argument
5168 return pevent_find_event(pevent, type); in pevent_data_event_from_type()
5178 int pevent_data_pid(struct pevent *pevent, struct pevent_record *rec) in pevent_data_pid() argument
5180 return parse_common_pid(pevent, rec->data); in pevent_data_pid()
5191 const char *pevent_data_comm_from_pid(struct pevent *pevent, int pid) in pevent_data_comm_from_pid() argument
5195 comm = find_cmdline(pevent, pid); in pevent_data_comm_from_pid()
5200 pid_from_cmdlist(struct pevent *pevent, const char *comm, struct cmdline *next) in pid_from_cmdlist() argument
5207 cmdlist = pevent->cmdlist; in pid_from_cmdlist()
5228 struct cmdline *pevent_data_pid_from_comm(struct pevent *pevent, const char *comm, in pevent_data_pid_from_comm() argument
5237 if (!pevent->cmdlines) in pevent_data_pid_from_comm()
5238 return pid_from_cmdlist(pevent, comm, next); in pevent_data_pid_from_comm()
5245 if (next < pevent->cmdlines || in pevent_data_pid_from_comm()
5246 next >= pevent->cmdlines + pevent->cmdline_count) in pevent_data_pid_from_comm()
5253 cmdline = pevent->cmdlines; in pevent_data_pid_from_comm()
5255 while (cmdline < pevent->cmdlines + pevent->cmdline_count) { in pevent_data_pid_from_comm()
5270 int pevent_cmdline_pid(struct pevent *pevent, struct cmdline *cmdline) in pevent_cmdline_pid() argument
5281 if (!pevent->cmdlines || in pevent_cmdline_pid()
5282 cmdline < pevent->cmdlines || in pevent_cmdline_pid()
5283 cmdline >= pevent->cmdlines + pevent->cmdline_count) in pevent_cmdline_pid()
5303 if (event->pevent->print_raw || (event->flags & EVENT_FL_PRINTRAW)) in pevent_event_info()
5331 void pevent_print_event(struct pevent *pevent, struct trace_seq *s, in pevent_print_event() argument
5347 use_usec_format = is_timestamp_in_us(pevent->trace_clock, in pevent_print_event()
5359 type = trace_parse_common_type(pevent, data); in pevent_print_event()
5361 event = pevent_find_event(pevent, type); in pevent_print_event()
5367 pid = parse_common_pid(pevent, data); in pevent_print_event()
5368 comm = find_cmdline(pevent, pid); in pevent_print_event()
5370 if (pevent->latency_format) { in pevent_print_event()
5373 pevent_data_lat_fmt(pevent, s, record); in pevent_print_event()
5378 if (pevent->flags & PEVENT_NSEC_OUTPUT) { in pevent_print_event()
5448 struct event_format **pevent_list_events(struct pevent *pevent, enum event_sort_type sort_type) in pevent_list_events() argument
5453 events = pevent->sort_events; in pevent_list_events()
5455 if (events && pevent->last_type == sort_type) in pevent_list_events()
5459 events = malloc(sizeof(*events) * (pevent->nr_events + 1)); in pevent_list_events()
5463 memcpy(events, pevent->events, sizeof(*events) * pevent->nr_events); in pevent_list_events()
5464 events[pevent->nr_events] = NULL; in pevent_list_events()
5466 pevent->sort_events = events; in pevent_list_events()
5470 pevent->last_type = sort_type; in pevent_list_events()
5489 qsort(events, pevent->nr_events, sizeof(*events), sort); in pevent_list_events()
5490 pevent->last_type = sort_type; in pevent_list_events()
5752 int pevent_parse_header_page(struct pevent *pevent, char *buf, unsigned long size, in pevent_parse_header_page() argument
5762 pevent->header_page_ts_size = sizeof(long long); in pevent_parse_header_page()
5763 pevent->header_page_size_size = long_size; in pevent_parse_header_page()
5764 pevent->header_page_data_offset = sizeof(long long) + long_size; in pevent_parse_header_page()
5765 pevent->old_format = 1; in pevent_parse_header_page()
5770 parse_header_field("timestamp", &pevent->header_page_ts_offset, in pevent_parse_header_page()
5771 &pevent->header_page_ts_size, 1); in pevent_parse_header_page()
5772 parse_header_field("commit", &pevent->header_page_size_offset, in pevent_parse_header_page()
5773 &pevent->header_page_size_size, 1); in pevent_parse_header_page()
5774 parse_header_field("overwrite", &pevent->header_page_overwrite, in pevent_parse_header_page()
5776 parse_header_field("data", &pevent->header_page_data_offset, in pevent_parse_header_page()
5777 &pevent->header_page_data_size, 1); in pevent_parse_header_page()
5805 static int find_event_handle(struct pevent *pevent, struct event_format *event) in find_event_handle() argument
5809 for (next = &pevent->handlers; *next; in find_event_handle()
5847 struct pevent *pevent, const char *buf, in __pevent_parse_format() argument
5890 event->pevent = pevent; in __pevent_parse_format()
5902 if (pevent && find_event_handle(pevent, event)) in __pevent_parse_format()
5954 __pevent_parse_event(struct pevent *pevent, in __pevent_parse_event() argument
5959 int ret = __pevent_parse_format(eventp, pevent, buf, size, sys); in __pevent_parse_event()
5965 if (pevent && add_event(pevent, event)) { in __pevent_parse_event()
5996 enum pevent_errno pevent_parse_format(struct pevent *pevent, in pevent_parse_format() argument
6001 return __pevent_parse_event(pevent, eventp, buf, size, sys); in pevent_parse_format()
6018 enum pevent_errno pevent_parse_event(struct pevent *pevent, const char *buf, in pevent_parse_event() argument
6022 return __pevent_parse_event(pevent, &event, buf, size, sys); in pevent_parse_event()
6032 int pevent_strerror(struct pevent *pevent __maybe_unused, in pevent_strerror()
6118 offset = pevent_read_number(event->pevent, in pevent_get_field_raw()
6251 struct pevent *pevent = event->pevent; in pevent_print_func_field() local
6262 func = find_func(pevent, val); in pevent_print_func_field()
6307 int pevent_register_print_function(struct pevent *pevent, in pevent_register_print_function() argument
6319 func_handle = find_func_handler(pevent, name); in pevent_register_print_function()
6327 remove_func_handler(pevent, name); in pevent_register_print_function()
6374 func_handle->next = pevent->func_handlers; in pevent_register_print_function()
6375 pevent->func_handlers = func_handle; in pevent_register_print_function()
6394 int pevent_unregister_print_function(struct pevent *pevent, in pevent_unregister_print_function() argument
6399 func_handle = find_func_handler(pevent, name); in pevent_unregister_print_function()
6401 remove_func_handler(pevent, name); in pevent_unregister_print_function()
6407 static struct event_format *pevent_search_event(struct pevent *pevent, int id, in pevent_search_event() argument
6415 event = pevent_find_event(pevent, id); in pevent_search_event()
6423 event = pevent_find_event_by_name(pevent, sys_name, event_name); in pevent_search_event()
6447 int pevent_register_event_handler(struct pevent *pevent, int id, in pevent_register_event_handler() argument
6454 event = pevent_search_event(pevent, id, sys_name, event_name); in pevent_register_event_handler()
6489 handle->next = pevent->handlers; in pevent_register_event_handler()
6490 pevent->handlers = handle; in pevent_register_event_handler()
6531 int pevent_unregister_event_handler(struct pevent *pevent, int id, in pevent_unregister_event_handler() argument
6539 event = pevent_search_event(pevent, id, sys_name, event_name); in pevent_unregister_event_handler()
6553 for (next = &pevent->handlers; *next; next = &(*next)->next) { in pevent_unregister_event_handler()
6572 struct pevent *pevent_alloc(void) in pevent_alloc()
6574 struct pevent *pevent = calloc(1, sizeof(*pevent)); in pevent_alloc() local
6576 if (pevent) in pevent_alloc()
6577 pevent->ref_count = 1; in pevent_alloc()
6579 return pevent; in pevent_alloc()
6582 void pevent_ref(struct pevent *pevent) in pevent_ref() argument
6584 pevent->ref_count++; in pevent_ref()
6630 void pevent_free(struct pevent *pevent) in pevent_free() argument
6639 if (!pevent) in pevent_free()
6642 cmdlist = pevent->cmdlist; in pevent_free()
6643 funclist = pevent->funclist; in pevent_free()
6644 printklist = pevent->printklist; in pevent_free()
6646 pevent->ref_count--; in pevent_free()
6647 if (pevent->ref_count) in pevent_free()
6650 if (pevent->cmdlines) { in pevent_free()
6651 for (i = 0; i < pevent->cmdline_count; i++) in pevent_free()
6652 free(pevent->cmdlines[i].comm); in pevent_free()
6653 free(pevent->cmdlines); in pevent_free()
6663 if (pevent->func_map) { in pevent_free()
6664 for (i = 0; i < (int)pevent->func_count; i++) { in pevent_free()
6665 free(pevent->func_map[i].func); in pevent_free()
6666 free(pevent->func_map[i].mod); in pevent_free()
6668 free(pevent->func_map); in pevent_free()
6679 while (pevent->func_handlers) { in pevent_free()
6680 func_handler = pevent->func_handlers; in pevent_free()
6681 pevent->func_handlers = func_handler->next; in pevent_free()
6685 if (pevent->printk_map) { in pevent_free()
6686 for (i = 0; i < (int)pevent->printk_count; i++) in pevent_free()
6687 free(pevent->printk_map[i].printk); in pevent_free()
6688 free(pevent->printk_map); in pevent_free()
6698 for (i = 0; i < pevent->nr_events; i++) in pevent_free()
6699 pevent_free_format(pevent->events[i]); in pevent_free()
6701 while (pevent->handlers) { in pevent_free()
6702 handle = pevent->handlers; in pevent_free()
6703 pevent->handlers = handle->next; in pevent_free()
6707 free(pevent->trace_clock); in pevent_free()
6708 free(pevent->events); in pevent_free()
6709 free(pevent->sort_events); in pevent_free()
6710 free(pevent->func_resolver); in pevent_free()
6712 free(pevent); in pevent_free()
6715 void pevent_unref(struct pevent *pevent) in pevent_unref() argument
6717 pevent_free(pevent); in pevent_unref()