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()
446 const char *pevent_find_function(struct pevent *pevent, unsigned long long addr) in pevent_find_function() argument
450 map = find_func(pevent, addr); in pevent_find_function()
467 pevent_find_function_address(struct pevent *pevent, unsigned long long addr) in pevent_find_function_address() argument
471 map = find_func(pevent, addr); in pevent_find_function_address()
488 int pevent_register_function(struct pevent *pevent, char *func, in pevent_register_function() argument
496 item->next = pevent->funclist; in pevent_register_function()
509 pevent->funclist = item; in pevent_register_function()
510 pevent->func_count++; in pevent_register_function()
529 void pevent_print_funcs(struct pevent *pevent) in pevent_print_funcs() argument
533 if (!pevent->func_map) in pevent_print_funcs()
534 func_map_init(pevent); in pevent_print_funcs()
536 for (i = 0; i < (int)pevent->func_count; i++) { in pevent_print_funcs()
538 pevent->func_map[i].addr, in pevent_print_funcs()
539 pevent->func_map[i].func); in pevent_print_funcs()
540 if (pevent->func_map[i].mod) in pevent_print_funcs()
541 printf(" [%s]\n", pevent->func_map[i].mod); in pevent_print_funcs()
571 static int printk_map_init(struct pevent *pevent) in printk_map_init() argument
578 printk_map = malloc(sizeof(*printk_map) * (pevent->printk_count + 1)); in printk_map_init()
582 printklist = pevent->printklist; in printk_map_init()
594 qsort(printk_map, pevent->printk_count, sizeof(*printk_map), printk_cmp); in printk_map_init()
596 pevent->printk_map = printk_map; in printk_map_init()
597 pevent->printklist = NULL; in printk_map_init()
603 find_printk(struct pevent *pevent, unsigned long long addr) in find_printk() argument
608 if (!pevent->printk_map && printk_map_init(pevent)) in find_printk()
613 printk = bsearch(&key, pevent->printk_map, pevent->printk_count, in find_printk()
614 sizeof(*pevent->printk_map), printk_cmp); in find_printk()
628 int pevent_register_print_string(struct pevent *pevent, const char *fmt, in pevent_register_print_string() argument
637 item->next = pevent->printklist; in pevent_register_print_string()
655 pevent->printklist = item; in pevent_register_print_string()
656 pevent->printk_count++; in pevent_register_print_string()
672 void pevent_print_printk(struct pevent *pevent) in pevent_print_printk() argument
676 if (!pevent->printk_map) in pevent_print_printk()
677 printk_map_init(pevent); in pevent_print_printk()
679 for (i = 0; i < (int)pevent->printk_count; i++) { in pevent_print_printk()
681 pevent->printk_map[i].addr, in pevent_print_printk()
682 pevent->printk_map[i].printk); in pevent_print_printk()
691 static int add_event(struct pevent *pevent, struct event_format *event) in add_event() argument
694 struct event_format **events = realloc(pevent->events, sizeof(event) * in add_event()
695 (pevent->nr_events + 1)); in add_event()
699 pevent->events = events; in add_event()
701 for (i = 0; i < pevent->nr_events; i++) { in add_event()
702 if (pevent->events[i]->id > event->id) in add_event()
705 if (i < pevent->nr_events) in add_event()
706 memmove(&pevent->events[i + 1], in add_event()
707 &pevent->events[i], in add_event()
708 sizeof(event) * (pevent->nr_events - i)); in add_event()
710 pevent->events[i] = event; in add_event()
711 pevent->nr_events++; in add_event()
713 event->pevent = pevent; in add_event()
1563 field->elementsize = event->pevent ? in event_read_fields()
1564 event->pevent->long_size : in event_read_fields()
2779 find_func_handler(struct pevent *pevent, char *func_name) in find_func_handler() argument
2783 if (!pevent) in find_func_handler()
2786 for (func = pevent->func_handlers; func; func = func->next) { in find_func_handler()
2794 static void remove_func_handler(struct pevent *pevent, char *func_name) in remove_func_handler() argument
2799 next = &pevent->func_handlers; in remove_func_handler()
2905 func = find_func_handler(event->pevent, token); in process_function()
3193 unsigned long long pevent_read_number(struct pevent *pevent, in pevent_read_number() argument
3200 return data2host2(pevent, ptr); in pevent_read_number()
3202 return data2host4(pevent, ptr); in pevent_read_number()
3204 return data2host8(pevent, ptr); in pevent_read_number()
3232 *value = pevent_read_number(field->event->pevent, in pevent_read_number_field()
3240 static int get_common_info(struct pevent *pevent, in get_common_info() argument
3250 if (!pevent->events) { in get_common_info()
3255 event = pevent->events[0]; in get_common_info()
3266 static int __parse_common(struct pevent *pevent, void *data, in __parse_common() argument
3272 ret = get_common_info(pevent, name, offset, size); in __parse_common()
3276 return pevent_read_number(pevent, data + *offset, *size); in __parse_common()
3279 static int trace_parse_common_type(struct pevent *pevent, void *data) in trace_parse_common_type() argument
3281 return __parse_common(pevent, data, in trace_parse_common_type()
3282 &pevent->type_size, &pevent->type_offset, in trace_parse_common_type()
3286 static int parse_common_pid(struct pevent *pevent, void *data) in parse_common_pid() argument
3288 return __parse_common(pevent, data, in parse_common_pid()
3289 &pevent->pid_size, &pevent->pid_offset, in parse_common_pid()
3293 static int parse_common_pc(struct pevent *pevent, void *data) in parse_common_pc() argument
3295 return __parse_common(pevent, data, in parse_common_pc()
3296 &pevent->pc_size, &pevent->pc_offset, in parse_common_pc()
3300 static int parse_common_flags(struct pevent *pevent, void *data) in parse_common_flags() argument
3302 return __parse_common(pevent, data, in parse_common_flags()
3303 &pevent->flags_size, &pevent->flags_offset, in parse_common_flags()
3307 static int parse_common_lock_depth(struct pevent *pevent, void *data) in parse_common_lock_depth() argument
3309 return __parse_common(pevent, data, in parse_common_lock_depth()
3310 &pevent->ld_size, &pevent->ld_offset, in parse_common_lock_depth()
3314 static int parse_common_migrate_disable(struct pevent *pevent, void *data) in parse_common_migrate_disable() argument
3316 return __parse_common(pevent, data, in parse_common_migrate_disable()
3317 &pevent->ld_size, &pevent->ld_offset, in parse_common_migrate_disable()
3330 struct event_format *pevent_find_event(struct pevent *pevent, int id) in pevent_find_event() argument
3337 if (pevent->last_event && pevent->last_event->id == id) in pevent_find_event()
3338 return pevent->last_event; in pevent_find_event()
3342 eventptr = bsearch(&pkey, pevent->events, pevent->nr_events, in pevent_find_event()
3343 sizeof(*pevent->events), events_id_cmp); in pevent_find_event()
3346 pevent->last_event = *eventptr; in pevent_find_event()
3363 pevent_find_event_by_name(struct pevent *pevent, in pevent_find_event_by_name() argument
3369 if (pevent->last_event && in pevent_find_event_by_name()
3370 strcmp(pevent->last_event->name, name) == 0 && in pevent_find_event_by_name()
3371 (!sys || strcmp(pevent->last_event->system, sys) == 0)) in pevent_find_event_by_name()
3372 return pevent->last_event; in pevent_find_event_by_name()
3374 for (i = 0; i < pevent->nr_events; i++) { in pevent_find_event_by_name()
3375 event = pevent->events[i]; in pevent_find_event_by_name()
3383 if (i == pevent->nr_events) in pevent_find_event_by_name()
3386 pevent->last_event = event; in pevent_find_event_by_name()
3393 struct pevent *pevent = event->pevent; in eval_num_arg() local
3415 val = pevent_read_number(pevent, data + arg->field.field->offset, in eval_num_arg()
3454 field_size = pevent->long_size; in eval_num_arg()
3458 offset = pevent_read_number(pevent, in eval_num_arg()
3487 val = pevent_read_number(pevent, in eval_num_arg()
3586 offset = pevent_read_number(pevent, in eval_num_arg()
3661 static void print_bitmask_to_seq(struct pevent *pevent, in print_bitmask_to_seq() argument
3693 if (pevent->file_bigendian) in print_bitmask_to_seq()
3719 struct pevent *pevent = event->pevent; in print_str_arg() local
3756 field->size == pevent->long_size) { in print_str_arg()
3771 addr = (pevent->long_size == 8) ? in print_str_arg()
3776 printk = find_printk(pevent, addr); in print_str_arg()
3825 offset = pevent_read_number(pevent, in print_str_arg()
3856 offset = pevent_read_number(pevent, in print_str_arg()
3907 str_offset = data2host4(pevent, data + arg->string.offset); in print_str_arg()
3925 bitmask_offset = data2host4(pevent, data + arg->bitmask.offset); in print_str_arg()
3928 print_bitmask_to_seq(pevent, s, format, len_arg, in print_str_arg()
4060 struct pevent *pevent = event->pevent; in make_bprint_args() local
4068 field = pevent->bprint_buf_field; in make_bprint_args()
4069 ip_field = pevent->bprint_ip_field; in make_bprint_args()
4082 pevent->bprint_buf_field = field; in make_bprint_args()
4083 pevent->bprint_ip_field = ip_field; in make_bprint_args()
4086 ip = pevent_read_number(pevent, data + ip_field->offset, ip_field->size); in make_bprint_args()
4143 vsize = pevent->long_size; in make_bprint_args()
4160 val = pevent_read_number(pevent, bptr, vsize); in make_bprint_args()
4216 struct pevent *pevent = event->pevent; in get_bprint_format() local
4222 field = pevent->bprint_fmt_field; in get_bprint_format()
4230 pevent->bprint_fmt_field = field; in get_bprint_format()
4233 addr = pevent_read_number(pevent, data + field->offset, field->size); in get_bprint_format()
4235 printk = find_printk(pevent, addr); in get_bprint_format()
4627 val = pevent_read_number(event->pevent, data + offset, len); in print_event_fields()
4647 val = pevent_read_number(event->pevent, data + field->offset, in print_event_fields()
4685 struct pevent *pevent = event->pevent; in pretty_print() local
4776 if (pevent->long_size == 4) in pretty_print()
4830 func = find_func(pevent, val); in pretty_print()
4840 if (pevent->long_size == 8 && ls && in pretty_print()
4947 void pevent_data_lat_fmt(struct pevent *pevent, in pevent_data_lat_fmt() argument
4962 lat_flags = parse_common_flags(pevent, data); in pevent_data_lat_fmt()
4963 pc = parse_common_pc(pevent, data); in pevent_data_lat_fmt()
4966 lock_depth = parse_common_lock_depth(pevent, data); in pevent_data_lat_fmt()
4968 lock_depth = parse_common_lock_depth(pevent, data); in pevent_data_lat_fmt()
4977 migrate_disable = parse_common_migrate_disable(pevent, data); in pevent_data_lat_fmt()
4979 migrate_disable = parse_common_migrate_disable(pevent, data); in pevent_data_lat_fmt()
5027 int pevent_data_type(struct pevent *pevent, struct pevent_record *rec) in pevent_data_type() argument
5029 return trace_parse_common_type(pevent, rec->data); in pevent_data_type()
5039 struct event_format *pevent_data_event_from_type(struct pevent *pevent, int type) in pevent_data_event_from_type() argument
5041 return pevent_find_event(pevent, type); in pevent_data_event_from_type()
5051 int pevent_data_pid(struct pevent *pevent, struct pevent_record *rec) in pevent_data_pid() argument
5053 return parse_common_pid(pevent, rec->data); in pevent_data_pid()
5064 const char *pevent_data_comm_from_pid(struct pevent *pevent, int pid) in pevent_data_comm_from_pid() argument
5068 comm = find_cmdline(pevent, pid); in pevent_data_comm_from_pid()
5073 pid_from_cmdlist(struct pevent *pevent, const char *comm, struct cmdline *next) in pid_from_cmdlist() argument
5080 cmdlist = pevent->cmdlist; in pid_from_cmdlist()
5101 struct cmdline *pevent_data_pid_from_comm(struct pevent *pevent, const char *comm, in pevent_data_pid_from_comm() argument
5110 if (!pevent->cmdlines) in pevent_data_pid_from_comm()
5111 return pid_from_cmdlist(pevent, comm, next); in pevent_data_pid_from_comm()
5118 if (next < pevent->cmdlines || in pevent_data_pid_from_comm()
5119 next >= pevent->cmdlines + pevent->cmdline_count) in pevent_data_pid_from_comm()
5126 cmdline = pevent->cmdlines; in pevent_data_pid_from_comm()
5128 while (cmdline < pevent->cmdlines + pevent->cmdline_count) { in pevent_data_pid_from_comm()
5143 int pevent_cmdline_pid(struct pevent *pevent, struct cmdline *cmdline) in pevent_cmdline_pid() argument
5154 if (!pevent->cmdlines || in pevent_cmdline_pid()
5155 cmdline < pevent->cmdlines || in pevent_cmdline_pid()
5156 cmdline >= pevent->cmdlines + pevent->cmdline_count) in pevent_cmdline_pid()
5176 if (event->pevent->print_raw || (event->flags & EVENT_FL_PRINTRAW)) in pevent_event_info()
5204 void pevent_print_event(struct pevent *pevent, struct trace_seq *s, in pevent_print_event() argument
5220 use_usec_format = is_timestamp_in_us(pevent->trace_clock, in pevent_print_event()
5232 type = trace_parse_common_type(pevent, data); in pevent_print_event()
5234 event = pevent_find_event(pevent, type); in pevent_print_event()
5240 pid = parse_common_pid(pevent, data); in pevent_print_event()
5241 comm = find_cmdline(pevent, pid); in pevent_print_event()
5243 if (pevent->latency_format) { in pevent_print_event()
5246 pevent_data_lat_fmt(pevent, s, record); in pevent_print_event()
5251 if (pevent->flags & PEVENT_NSEC_OUTPUT) { in pevent_print_event()
5321 struct event_format **pevent_list_events(struct pevent *pevent, enum event_sort_type sort_type) in pevent_list_events() argument
5326 events = pevent->sort_events; in pevent_list_events()
5328 if (events && pevent->last_type == sort_type) in pevent_list_events()
5332 events = malloc(sizeof(*events) * (pevent->nr_events + 1)); in pevent_list_events()
5336 memcpy(events, pevent->events, sizeof(*events) * pevent->nr_events); in pevent_list_events()
5337 events[pevent->nr_events] = NULL; in pevent_list_events()
5339 pevent->sort_events = events; in pevent_list_events()
5343 pevent->last_type = sort_type; in pevent_list_events()
5362 qsort(events, pevent->nr_events, sizeof(*events), sort); in pevent_list_events()
5363 pevent->last_type = sort_type; in pevent_list_events()
5625 int pevent_parse_header_page(struct pevent *pevent, char *buf, unsigned long size, in pevent_parse_header_page() argument
5635 pevent->header_page_ts_size = sizeof(long long); in pevent_parse_header_page()
5636 pevent->header_page_size_size = long_size; in pevent_parse_header_page()
5637 pevent->header_page_data_offset = sizeof(long long) + long_size; in pevent_parse_header_page()
5638 pevent->old_format = 1; in pevent_parse_header_page()
5643 parse_header_field("timestamp", &pevent->header_page_ts_offset, in pevent_parse_header_page()
5644 &pevent->header_page_ts_size, 1); in pevent_parse_header_page()
5645 parse_header_field("commit", &pevent->header_page_size_offset, in pevent_parse_header_page()
5646 &pevent->header_page_size_size, 1); in pevent_parse_header_page()
5647 parse_header_field("overwrite", &pevent->header_page_overwrite, in pevent_parse_header_page()
5649 parse_header_field("data", &pevent->header_page_data_offset, in pevent_parse_header_page()
5650 &pevent->header_page_data_size, 1); in pevent_parse_header_page()
5678 static int find_event_handle(struct pevent *pevent, struct event_format *event) in find_event_handle() argument
5682 for (next = &pevent->handlers; *next; in find_event_handle()
5720 struct pevent *pevent, const char *buf, in __pevent_parse_format() argument
5763 event->pevent = pevent; in __pevent_parse_format()
5775 if (pevent && find_event_handle(pevent, event)) in __pevent_parse_format()
5827 __pevent_parse_event(struct pevent *pevent, in __pevent_parse_event() argument
5832 int ret = __pevent_parse_format(eventp, pevent, buf, size, sys); in __pevent_parse_event()
5838 if (pevent && add_event(pevent, event)) { in __pevent_parse_event()
5869 enum pevent_errno pevent_parse_format(struct pevent *pevent, in pevent_parse_format() argument
5874 return __pevent_parse_event(pevent, eventp, buf, size, sys); in pevent_parse_format()
5891 enum pevent_errno pevent_parse_event(struct pevent *pevent, const char *buf, in pevent_parse_event() argument
5895 return __pevent_parse_event(pevent, &event, buf, size, sys); in pevent_parse_event()
5905 int pevent_strerror(struct pevent *pevent __maybe_unused, in pevent_strerror()
5991 offset = pevent_read_number(event->pevent, in pevent_get_field_raw()
6124 struct pevent *pevent = event->pevent; in pevent_print_func_field() local
6135 func = find_func(pevent, val); in pevent_print_func_field()
6180 int pevent_register_print_function(struct pevent *pevent, in pevent_register_print_function() argument
6192 func_handle = find_func_handler(pevent, name); in pevent_register_print_function()
6200 remove_func_handler(pevent, name); in pevent_register_print_function()
6247 func_handle->next = pevent->func_handlers; in pevent_register_print_function()
6248 pevent->func_handlers = func_handle; in pevent_register_print_function()
6267 int pevent_unregister_print_function(struct pevent *pevent, in pevent_unregister_print_function() argument
6272 func_handle = find_func_handler(pevent, name); in pevent_unregister_print_function()
6274 remove_func_handler(pevent, name); in pevent_unregister_print_function()
6280 static struct event_format *pevent_search_event(struct pevent *pevent, int id, in pevent_search_event() argument
6288 event = pevent_find_event(pevent, id); in pevent_search_event()
6296 event = pevent_find_event_by_name(pevent, sys_name, event_name); in pevent_search_event()
6320 int pevent_register_event_handler(struct pevent *pevent, int id, in pevent_register_event_handler() argument
6327 event = pevent_search_event(pevent, id, sys_name, event_name); in pevent_register_event_handler()
6362 handle->next = pevent->handlers; in pevent_register_event_handler()
6363 pevent->handlers = handle; in pevent_register_event_handler()
6404 int pevent_unregister_event_handler(struct pevent *pevent, int id, in pevent_unregister_event_handler() argument
6412 event = pevent_search_event(pevent, id, sys_name, event_name); in pevent_unregister_event_handler()
6426 for (next = &pevent->handlers; *next; next = &(*next)->next) { in pevent_unregister_event_handler()
6445 struct pevent *pevent_alloc(void) in pevent_alloc()
6447 struct pevent *pevent = calloc(1, sizeof(*pevent)); in pevent_alloc() local
6449 if (pevent) in pevent_alloc()
6450 pevent->ref_count = 1; in pevent_alloc()
6452 return pevent; in pevent_alloc()
6455 void pevent_ref(struct pevent *pevent) in pevent_ref() argument
6457 pevent->ref_count++; in pevent_ref()
6501 void pevent_free(struct pevent *pevent) in pevent_free() argument
6510 if (!pevent) in pevent_free()
6513 cmdlist = pevent->cmdlist; in pevent_free()
6514 funclist = pevent->funclist; in pevent_free()
6515 printklist = pevent->printklist; in pevent_free()
6517 pevent->ref_count--; in pevent_free()
6518 if (pevent->ref_count) in pevent_free()
6521 if (pevent->cmdlines) { in pevent_free()
6522 for (i = 0; i < pevent->cmdline_count; i++) in pevent_free()
6523 free(pevent->cmdlines[i].comm); in pevent_free()
6524 free(pevent->cmdlines); in pevent_free()
6534 if (pevent->func_map) { in pevent_free()
6535 for (i = 0; i < (int)pevent->func_count; i++) { in pevent_free()
6536 free(pevent->func_map[i].func); in pevent_free()
6537 free(pevent->func_map[i].mod); in pevent_free()
6539 free(pevent->func_map); in pevent_free()
6550 while (pevent->func_handlers) { in pevent_free()
6551 func_handler = pevent->func_handlers; in pevent_free()
6552 pevent->func_handlers = func_handler->next; in pevent_free()
6556 if (pevent->printk_map) { in pevent_free()
6557 for (i = 0; i < (int)pevent->printk_count; i++) in pevent_free()
6558 free(pevent->printk_map[i].printk); in pevent_free()
6559 free(pevent->printk_map); in pevent_free()
6569 for (i = 0; i < pevent->nr_events; i++) in pevent_free()
6570 pevent_free_format(pevent->events[i]); in pevent_free()
6572 while (pevent->handlers) { in pevent_free()
6573 handle = pevent->handlers; in pevent_free()
6574 pevent->handlers = handle->next; in pevent_free()
6578 free(pevent->trace_clock); in pevent_free()
6579 free(pevent->events); in pevent_free()
6580 free(pevent->sort_events); in pevent_free()
6582 free(pevent); in pevent_free()
6585 void pevent_unref(struct pevent *pevent) in pevent_unref() argument
6587 pevent_free(pevent); in pevent_unref()