Lines Matching refs:tp
194 struct trace_probe tp; member
235 return trace_probe_is_enabled(&tf->tp); in trace_fprobe_is_busy()
248 return trace_probe_match_command_args(&tf->tp, argc, argv); in trace_fprobe_match_command_head()
256 if (event[0] != '\0' && strcmp(trace_probe_name(&tf->tp), event)) in trace_fprobe_match()
259 if (system && strcmp(trace_probe_group_name(&tf->tp), system)) in trace_fprobe_match()
323 struct trace_event_call *call = trace_probe_event_call(&tf->tp); in NOKPROBE_SYMBOL()
333 dsize = __get_data_size(&tf->tp, fregs, NULL); in NOKPROBE_SYMBOL()
336 sizeof(*entry) + tf->tp.size + dsize); in NOKPROBE_SYMBOL()
343 store_trace_args(&entry[1], &tf->tp, fregs, NULL, sizeof(*entry), dsize); in NOKPROBE_SYMBOL()
354 trace_probe_for_each_link_rcu(link, &tf->tp) in fentry_trace_func()
360 void store_fprobe_entry_data(void *edata, struct trace_probe *tp, struct ftrace_regs *fregs) in store_fprobe_entry_data() argument
362 struct probe_entry_arg *earg = tp->entry_arg; in store_fprobe_entry_data()
396 if (tf->tp.entry_arg) in trace_fprobe_entry_handler()
397 store_fprobe_entry_data(entry_data, &tf->tp, fregs); in trace_fprobe_entry_handler()
410 struct trace_event_call *call = trace_probe_event_call(&tf->tp); in NOKPROBE_SYMBOL()
419 dsize = __get_data_size(&tf->tp, fregs, entry_data); in NOKPROBE_SYMBOL()
422 sizeof(*entry) + tf->tp.size + dsize); in NOKPROBE_SYMBOL()
430 store_trace_args(&entry[1], &tf->tp, fregs, entry_data, sizeof(*entry), dsize); in NOKPROBE_SYMBOL()
441 trace_probe_for_each_link_rcu(link, &tf->tp) in fexit_trace_func()
451 struct trace_event_call *call = trace_probe_event_call(&tf->tp); in fentry_perf_func()
462 dsize = __get_data_size(&tf->tp, fregs, NULL); in fentry_perf_func()
463 __size = sizeof(*entry) + tf->tp.size + dsize; in fentry_perf_func()
474 store_trace_args(&entry[1], &tf->tp, fregs, NULL, sizeof(*entry), dsize); in fentry_perf_func()
486 struct trace_event_call *call = trace_probe_event_call(&tf->tp); in fexit_perf_func()
497 dsize = __get_data_size(&tf->tp, fregs, entry_data); in fexit_perf_func()
498 __size = sizeof(*entry) + tf->tp.size + dsize; in fexit_perf_func()
510 store_trace_args(&entry[1], &tf->tp, fregs, entry_data, sizeof(*entry), dsize); in fexit_perf_func()
522 unsigned int flags = trace_probe_load_flag(&tf->tp); in fentry_dispatcher()
541 unsigned int flags = trace_probe_load_flag(&tf->tp); in fexit_dispatcher()
555 trace_probe_cleanup(&tf->tp); in free_trace_fprobe()
578 tf = kzalloc_flex(*tf, tp.args, nargs); in alloc_trace_fprobe()
593 ret = trace_probe_init(&tf->tp, event, group, false, nargs); in alloc_trace_fprobe()
608 if (strcmp(trace_probe_name(&tf->tp), event) == 0 && in find_trace_fprobe()
609 strcmp(trace_probe_group_name(&tf->tp), group) == 0) in find_trace_fprobe()
621 struct trace_probe *tp; in print_fentry_event() local
624 tp = trace_probe_primary_from_call( in print_fentry_event()
626 if (WARN_ON_ONCE(!tp)) in print_fentry_event()
629 trace_seq_printf(s, "%s: (", trace_probe_name(tp)); in print_fentry_event()
636 if (trace_probe_print_args(s, tp->args, tp->nr_args, in print_fentry_event()
651 struct trace_probe *tp; in print_fexit_event() local
654 tp = trace_probe_primary_from_call( in print_fexit_event()
656 if (WARN_ON_ONCE(!tp)) in print_fexit_event()
659 trace_seq_printf(s, "%s: (", trace_probe_name(tp)); in print_fexit_event()
671 if (trace_probe_print_args(s, tp->args, tp->nr_args, in print_fexit_event()
685 struct trace_probe *tp; in fentry_event_define_fields() local
687 tp = trace_probe_primary_from_call(event_call); in fentry_event_define_fields()
688 if (WARN_ON_ONCE(!tp)) in fentry_event_define_fields()
693 return traceprobe_define_arg_fields(event_call, sizeof(field), tp); in fentry_event_define_fields()
700 struct trace_probe *tp; in fexit_event_define_fields() local
702 tp = trace_probe_primary_from_call(event_call); in fexit_event_define_fields()
703 if (WARN_ON_ONCE(!tp)) in fexit_event_define_fields()
709 return traceprobe_define_arg_fields(event_call, sizeof(field), tp); in fexit_event_define_fields()
737 struct trace_event_call *call = trace_probe_event_call(&tf->tp); in init_trace_event_call()
755 return trace_probe_register_event_call(&tf->tp); in register_fprobe_event()
760 return trace_probe_unregister_event_call(&tf->tp); in unregister_fprobe_event()
826 for (i = 0; i < tf->tp.nr_args; i++) { in __register_trace_fprobe()
827 ret = traceprobe_update_arg(&tf->tp.args[i]); in __register_trace_fprobe()
857 if (trace_probe_has_sibling(&tf->tp)) in unregister_trace_fprobe()
861 if (trace_probe_is_enabled(&tf->tp)) in unregister_trace_fprobe()
865 if (trace_event_dyn_busy(trace_probe_event_call(&tf->tp))) in unregister_trace_fprobe()
875 trace_probe_unlink(&tf->tp); in unregister_trace_fprobe()
883 struct trace_probe_event *tpe = orig->tp.event; in trace_fprobe_has_same_fprobe()
886 list_for_each_entry(orig, &tpe->probes, tp.list) { in trace_fprobe_has_same_fprobe()
895 for (i = 0; i < orig->tp.nr_args; i++) { in trace_fprobe_has_same_fprobe()
896 if (strcmp(orig->tp.args[i].comm, in trace_fprobe_has_same_fprobe()
897 comp->tp.args[i].comm)) in trace_fprobe_has_same_fprobe()
901 if (i == orig->tp.nr_args) in trace_fprobe_has_same_fprobe()
918 ret = trace_probe_compare_arg_type(&tf->tp, &to->tp); in append_trace_fprobe_event()
932 ret = trace_probe_append(&tf->tp, &to->tp); in append_trace_fprobe_event()
938 trace_probe_unlink(&tf->tp); in append_trace_fprobe_event()
940 dyn_event_add(&tf->devent, trace_probe_event_call(&tf->tp)); in append_trace_fprobe_event()
953 old_tf = find_trace_fprobe(trace_probe_name(&tf->tp), in register_trace_fprobe_event()
954 trace_probe_group_name(&tf->tp)); in register_trace_fprobe_event()
974 dyn_event_add(&tf->devent, trace_probe_event_call(&tf->tp)); in register_trace_fprobe_event()
985 static void __find_tracepoint_module_cb(struct tracepoint *tp, struct module *mod, void *priv) in __find_tracepoint_module_cb() argument
989 if (!data->tpoint && !strcmp(data->tp_name, tp->name)) { in __find_tracepoint_module_cb()
998 data->tpoint = tp; in __find_tracepoint_module_cb()
1002 static void __find_tracepoint_cb(struct tracepoint *tp, void *priv) in __find_tracepoint_cb() argument
1006 if (!data->tpoint && !strcmp(data->tp_name, tp->name)) in __find_tracepoint_cb()
1007 data->tpoint = tp; in __find_tracepoint_cb()
1359 ret = traceprobe_parse_probe_arg(&tf->tp, i, argv[i], ctx); in trace_fprobe_create_internal()
1364 if (is_return && tf->tp.entry_arg) { in trace_fprobe_create_internal()
1366 tf->fp.entry_data_size = traceprobe_get_entry_data_size(&tf->tp); in trace_fprobe_create_internal()
1374 ret = traceprobe_set_print_fmt(&tf->tp, in trace_fprobe_create_internal()
1438 seq_printf(m, ":%s/%s", trace_probe_group_name(&tf->tp), in trace_fprobe_show()
1439 trace_probe_name(&tf->tp)); in trace_fprobe_show()
1444 for (i = 0; i < tf->tp.nr_args; i++) in trace_fprobe_show()
1445 seq_printf(m, " %s=%s", tf->tp.args[i].name, tf->tp.args[i].comm); in trace_fprobe_show()
1448 trace_probe_dump_args(m, &tf->tp); in trace_fprobe_show()
1460 struct trace_probe *tp; in enable_trace_fprobe() local
1465 tp = trace_probe_primary_from_call(call); in enable_trace_fprobe()
1466 if (WARN_ON_ONCE(!tp)) in enable_trace_fprobe()
1468 enabled = trace_probe_is_enabled(tp); in enable_trace_fprobe()
1472 ret = trace_probe_add_file(tp, file); in enable_trace_fprobe()
1476 trace_probe_set_flag(tp, TP_FLAG_PROFILE); in enable_trace_fprobe()
1479 list_for_each_entry(tf, trace_probe_probe_list(tp), tp.list) { in enable_trace_fprobe()
1490 list_for_each_entry(tf, trace_probe_probe_list(tp), tp.list) in enable_trace_fprobe()
1493 trace_probe_remove_file(tp, file); in enable_trace_fprobe()
1495 trace_probe_clear_flag(tp, TP_FLAG_PROFILE); in enable_trace_fprobe()
1507 struct trace_probe *tp; in disable_trace_fprobe() local
1509 tp = trace_probe_primary_from_call(call); in disable_trace_fprobe()
1510 if (WARN_ON_ONCE(!tp)) in disable_trace_fprobe()
1514 if (!trace_probe_get_file_link(tp, file)) in disable_trace_fprobe()
1516 if (!trace_probe_has_single_file(tp)) in disable_trace_fprobe()
1518 trace_probe_clear_flag(tp, TP_FLAG_TRACE); in disable_trace_fprobe()
1520 trace_probe_clear_flag(tp, TP_FLAG_PROFILE); in disable_trace_fprobe()
1522 if (!trace_probe_is_enabled(tp)) { in disable_trace_fprobe()
1523 list_for_each_entry(tf, trace_probe_probe_list(tp), tp.list) { in disable_trace_fprobe()
1540 trace_probe_remove_file(tp, file); in disable_trace_fprobe()