Lines Matching refs:tp
35 struct trace_probe tp; member
39 (offsetof(struct trace_kprobe, tp.args) + \
308 tk->tp.call.class = &tk->tp.class; in alloc_trace_kprobe()
309 tk->tp.call.name = kstrdup(event, GFP_KERNEL); in alloc_trace_kprobe()
310 if (!tk->tp.call.name) in alloc_trace_kprobe()
318 tk->tp.class.system = kstrdup(group, GFP_KERNEL); in alloc_trace_kprobe()
319 if (!tk->tp.class.system) in alloc_trace_kprobe()
323 INIT_LIST_HEAD(&tk->tp.files); in alloc_trace_kprobe()
326 kfree(tk->tp.call.name); in alloc_trace_kprobe()
336 for (i = 0; i < tk->tp.nr_args; i++) in free_trace_kprobe()
337 traceprobe_free_probe_arg(&tk->tp.args[i]); in free_trace_kprobe()
339 kfree(tk->tp.call.class->system); in free_trace_kprobe()
340 kfree(tk->tp.call.name); in free_trace_kprobe()
351 if (strcmp(ftrace_event_name(&tk->tp.call), event) == 0 && in find_trace_kprobe()
352 strcmp(tk->tp.call.class->system, group) == 0) in find_trace_kprobe()
376 list_add_tail_rcu(&link->list, &tk->tp.files); in enable_trace_kprobe()
378 tk->tp.flags |= TP_FLAG_TRACE; in enable_trace_kprobe()
380 tk->tp.flags |= TP_FLAG_PROFILE; in enable_trace_kprobe()
382 if (trace_probe_is_registered(&tk->tp) && !trace_kprobe_has_gone(tk)) { in enable_trace_kprobe()
404 link = find_event_file_link(&tk->tp, file); in disable_trace_kprobe()
412 if (!list_empty(&tk->tp.files)) in disable_trace_kprobe()
415 tk->tp.flags &= ~TP_FLAG_TRACE; in disable_trace_kprobe()
417 tk->tp.flags &= ~TP_FLAG_PROFILE; in disable_trace_kprobe()
419 if (!trace_probe_is_enabled(&tk->tp) && trace_probe_is_registered(&tk->tp)) { in disable_trace_kprobe()
448 if (trace_probe_is_registered(&tk->tp)) in __register_trace_kprobe()
451 for (i = 0; i < tk->tp.nr_args; i++) in __register_trace_kprobe()
452 traceprobe_update_arg(&tk->tp.args[i]); in __register_trace_kprobe()
455 if (trace_probe_is_enabled(&tk->tp)) in __register_trace_kprobe()
466 tk->tp.flags |= TP_FLAG_REGISTERED; in __register_trace_kprobe()
488 if (trace_probe_is_registered(&tk->tp)) { in __unregister_trace_kprobe()
493 tk->tp.flags &= ~TP_FLAG_REGISTERED; in __unregister_trace_kprobe()
504 if (trace_probe_is_enabled(&tk->tp)) in unregister_trace_kprobe()
526 old_tk = find_trace_kprobe(ftrace_event_name(&tk->tp.call), in register_trace_kprobe()
527 tk->tp.call.class->system); in register_trace_kprobe()
575 ftrace_event_name(&tk->tp.call), in trace_kprobe_module_callback()
723 struct probe_arg *parg = &tk->tp.args[i]; in create_trace_kprobe()
726 tk->tp.nr_args++; in create_trace_kprobe()
754 tk->tp.args, i)) { in create_trace_kprobe()
762 ret = traceprobe_parse_probe_arg(arg, &tk->tp.size, parg, in create_trace_kprobe()
789 if (trace_probe_is_enabled(&tk->tp)) { in release_all_trace_kprobes()
831 seq_printf(m, ":%s/%s", tk->tp.call.class->system, in probes_seq_show()
832 ftrace_event_name(&tk->tp.call)); in probes_seq_show()
842 for (i = 0; i < tk->tp.nr_args; i++) in probes_seq_show()
843 seq_printf(m, " %s=%s", tk->tp.args[i].name, tk->tp.args[i].comm); in probes_seq_show()
891 ftrace_event_name(&tk->tp.call), tk->nhit, in probes_profile_seq_show()
927 struct ftrace_event_call *call = &tk->tp.call; in __kprobe_trace_func()
937 dsize = __get_data_size(&tk->tp, regs); in __kprobe_trace_func()
938 size = sizeof(*entry) + tk->tp.size + dsize; in __kprobe_trace_func()
948 store_trace_args(sizeof(*entry), &tk->tp, regs, (u8 *)&entry[1], dsize); in __kprobe_trace_func()
959 list_for_each_entry_rcu(link, &tk->tp.files, list) in kprobe_trace_func()
975 struct ftrace_event_call *call = &tk->tp.call; in __kretprobe_trace_func()
985 dsize = __get_data_size(&tk->tp, regs); in __kretprobe_trace_func()
986 size = sizeof(*entry) + tk->tp.size + dsize; in __kretprobe_trace_func()
997 store_trace_args(sizeof(*entry), &tk->tp, regs, (u8 *)&entry[1], dsize); in __kretprobe_trace_func()
1009 list_for_each_entry_rcu(link, &tk->tp.files, list) in kretprobe_trace_func()
1021 struct trace_probe *tp; in print_kprobe_event() local
1026 tp = container_of(event, struct trace_probe, call.event); in print_kprobe_event()
1028 trace_seq_printf(s, "%s: (", ftrace_event_name(&tp->call)); in print_kprobe_event()
1036 for (i = 0; i < tp->nr_args; i++) in print_kprobe_event()
1037 if (!tp->args[i].type->print(s, tp->args[i].name, in print_kprobe_event()
1038 data + tp->args[i].offset, field)) in print_kprobe_event()
1052 struct trace_probe *tp; in print_kretprobe_event() local
1057 tp = container_of(event, struct trace_probe, call.event); in print_kretprobe_event()
1059 trace_seq_printf(s, "%s: (", ftrace_event_name(&tp->call)); in print_kretprobe_event()
1072 for (i = 0; i < tp->nr_args; i++) in print_kretprobe_event()
1073 if (!tp->args[i].type->print(s, tp->args[i].name, in print_kretprobe_event()
1074 data + tp->args[i].offset, field)) in print_kretprobe_event()
1092 for (i = 0; i < tk->tp.nr_args; i++) { in kprobe_event_define_fields()
1093 struct probe_arg *parg = &tk->tp.args[i]; in kprobe_event_define_fields()
1116 for (i = 0; i < tk->tp.nr_args; i++) { in kretprobe_event_define_fields()
1117 struct probe_arg *parg = &tk->tp.args[i]; in kretprobe_event_define_fields()
1137 struct ftrace_event_call *call = &tk->tp.call; in kprobe_perf_func()
1151 dsize = __get_data_size(&tk->tp, regs); in kprobe_perf_func()
1152 __size = sizeof(*entry) + tk->tp.size + dsize; in kprobe_perf_func()
1162 store_trace_args(sizeof(*entry), &tk->tp, regs, (u8 *)&entry[1], dsize); in kprobe_perf_func()
1172 struct ftrace_event_call *call = &tk->tp.call; in kretprobe_perf_func()
1186 dsize = __get_data_size(&tk->tp, regs); in kretprobe_perf_func()
1187 __size = sizeof(*entry) + tk->tp.size + dsize; in kretprobe_perf_func()
1197 store_trace_args(sizeof(*entry), &tk->tp, regs, (u8 *)&entry[1], dsize); in kretprobe_perf_func()
1242 if (tk->tp.flags & TP_FLAG_TRACE) in kprobe_dispatcher()
1245 if (tk->tp.flags & TP_FLAG_PROFILE) in kprobe_dispatcher()
1259 if (tk->tp.flags & TP_FLAG_TRACE) in kretprobe_dispatcher()
1262 if (tk->tp.flags & TP_FLAG_PROFILE) in kretprobe_dispatcher()
1279 struct ftrace_event_call *call = &tk->tp.call; in register_kprobe_event()
1291 if (set_print_fmt(&tk->tp, trace_kprobe_is_return(tk)) < 0) in register_kprobe_event()
1316 ret = trace_remove_event_call(&tk->tp.call); in unregister_kprobe_event()
1318 kfree(tk->tp.call.print_fmt); in unregister_kprobe_event()
1373 if (file->event_call == &tk->tp.call) in find_trace_probe_file()