Lines Matching +full:event +full:- +full:name
1 /* SPDX-License-Identifier: GPL-2.0 */
20 /* Used for event string fields when they are NULL */
61 struct trace_event *event);
77 * The trace entry - the most basic unit of tracing. This is what
80 * bash-15816 [01] 235.197585: idle_cpu <- irq_enter
90 ((1 << (sizeof(((struct trace_entry *)0)->type) * 8)) - 1)
93 * Trace iterator - used by printout routines who present trace
145 int flags, struct trace_event *event);
160 extern int register_trace_event(struct trace_event *event);
161 extern int unregister_trace_event(struct trace_event *event);
177 entry->preempt_count = trace_ctx & 0xff; in tracing_generic_entry_update()
178 entry->pid = current->pid; in tracing_generic_entry_update()
179 entry->type = type; in tracing_generic_entry_update()
180 entry->flags = trace_ctx >> 16; in tracing_generic_entry_update()
220 trace_ctx--; in tracing_gen_ctx_dec()
242 int trace_output_call(struct trace_iterator *iter, char *name, char *fmt, ...)
273 const char *name; member
291 int (*reg)(struct trace_event_call *event,
299 extern int trace_event_reg(struct trace_event_call *event,
304 struct ring_buffer_event *event; member
332 * Event flags:
333 * CAP_ANY - Any user can enable for perf
334 * NO_SET_FILTER - Set when filter has error and is to be ignored
335 * IGNORE_ENABLE - For trace internal events, do not enable with debugfs file
336 * TRACEPOINT - Event is a tracepoint
337 * DYNAMIC - Event is a dynamic event (created at run time)
338 * KPROBE - Event is a kprobe
339 * UPROBE - Event is a uprobe
340 * EPROBE - Event is an event probe
341 * FPROBE - Event is an function probe
342 * CUSTOM - Event is a custom event (to be attached to an exsiting tracepoint)
343 * This is set when the custom event has not been attached
345 * TEST_STR - The event has a "%s" that points to a string outside the event
367 const char *name; member
371 struct trace_event event; member
418 if (call->flags & TRACE_EVENT_FL_DYNAMIC) in trace_event_try_get_ref()
421 return try_module_get(call->module); in trace_event_try_get_ref()
426 if (call->flags & TRACE_EVENT_FL_DYNAMIC) in trace_event_put_ref()
429 module_put(call->module); in trace_event_put_ref()
436 * This inline function checks whether call->prog_array in bpf_prog_array_valid()
440 * If this function returns true, and later call->prog_array in bpf_prog_array_valid()
445 * call->prog_array happened to become non-NULL then. in bpf_prog_array_valid()
452 return !!READ_ONCE(call->prog_array); in bpf_prog_array_valid()
459 if (call->flags & TRACE_EVENT_FL_CUSTOM) in trace_event_name()
460 return call->name; in trace_event_name()
461 else if (call->flags & TRACE_EVENT_FL_TRACEPOINT) in trace_event_name()
462 return call->tp ? call->tp->name : NULL; in trace_event_name()
464 return call->name; in trace_event_name()
470 if (!event_call->class->get_fields) in trace_get_fields()
471 return &event_call->class->fields; in trace_get_fields()
472 return event_call->class->get_fields(event_call); in trace_get_fields()
494 const char *event);
520 extern int synth_event_delete(const char *name);
526 const char *name,
529 #define synth_event_gen_cmd_start(cmd, name, mod, ...) \ argument
530 __synth_event_gen_cmd_start(cmd, name, mod, ## __VA_ARGS__, NULL)
534 const char *name; member
538 const char *name,
542 extern int synth_event_create(const char *name,
548 const char *name);
564 struct synth_event *event; member
584 extern int kprobe_event_delete(const char *name);
589 #define kprobe_event_gen_cmd_start(cmd, name, loc, ...) \ argument
590 __kprobe_event_gen_cmd_start(cmd, false, name, loc, ## __VA_ARGS__, NULL)
592 #define kretprobe_event_gen_cmd_start(cmd, name, loc, ...) \ argument
593 __kprobe_event_gen_cmd_start(cmd, true, name, loc, ## __VA_ARGS__, NULL)
597 const char *name,
615 * Event file flags:
616 * ENABLED - The event is enabled
617 * RECORDED_CMD - The comms should be recorded at sched_switch
618 * RECORDED_TGID - The tgids should be recorded at sched_switch
619 * FILTERED - The event has a filter attached
620 * NO_SET_FILTER - Set when filter has error and is to be ignored
621 * SOFT_MODE - The event is enabled/disabled by SOFT_DISABLED
622 * SOFT_DISABLED - When set, do not trace the event (even though its
624 * TRIGGER_MODE - When set, invoke the triggers associated with the event
625 * TRIGGER_COND - When set, one or more triggers has an associated filter
626 * PID_FILTER - When set, the event is filtered based on pid
627 * WAS_ENABLED - Set when enabled to know to clear trace on module removal
628 * FREED - File descriptor is freed, all fields should be considered invalid
668 * caching and such. Which is mostly OK ;-)
672 atomic_t sm_ref; /* soft-mode reference counter */
673 atomic_t tm_ref; /* trigger-mode reference counter */
690 #define __TRACE_EVENT_FLAGS(name, value) \ argument
691 static int __init trace_init_flags_##name(void) \
693 event_##name.flags |= value; \
696 early_initcall(trace_init_flags_##name);
698 #define __TRACE_EVENT_PERF_PERM(name, expr...) \ argument
699 static int perf_perm_##name(struct trace_event_call *tp_event, \
704 static int __init trace_init_perf_perm_##name(void) \
706 event_##name.perf_perm = &perf_perm_##name; \
709 early_initcall(trace_init_perf_perm_##name);
731 struct ring_buffer_event *event);
741 * trace_trigger_soft_disabled - do triggers and test if soft disabled
742 * @file: The file pointer of the event to test
744 * If any triggers without filters are attached to this event, they
745 * will be called here. If the event is soft disabled and has no
752 unsigned long eflags = file->flags; in trace_trigger_soft_disabled()
767 int perf_event_attach_bpf_prog(struct perf_event *event, struct bpf_prog *prog, u64 bpf_cookie);
768 void perf_event_detach_bpf_prog(struct perf_event *event);
769 int perf_event_query_prog_array(struct perf_event *event, void __user *info);
775 struct bpf_raw_event_map *bpf_get_raw_tracepoint(const char *name);
777 int bpf_get_perf_event_info(const struct perf_event *event, u32 *prog_id,
790 perf_event_attach_bpf_prog(struct perf_event *event, struct bpf_prog *prog, u64 bpf_cookie) in perf_event_attach_bpf_prog() argument
792 return -EOPNOTSUPP; in perf_event_attach_bpf_prog()
795 static inline void perf_event_detach_bpf_prog(struct perf_event *event) { } in perf_event_detach_bpf_prog() argument
798 perf_event_query_prog_array(struct perf_event *event, void __user *info) in perf_event_query_prog_array() argument
800 return -EOPNOTSUPP; in perf_event_query_prog_array()
805 return -EOPNOTSUPP; in bpf_probe_register()
809 return -EOPNOTSUPP; in bpf_probe_unregister()
811 static inline struct bpf_raw_event_map *bpf_get_raw_tracepoint(const char *name) in bpf_get_raw_tracepoint() argument
818 static inline int bpf_get_perf_event_info(const struct perf_event *event, in bpf_get_perf_event_info() argument
823 return -EOPNOTSUPP; in bpf_get_perf_event_info()
828 return -EOPNOTSUPP; in bpf_kprobe_multi_link_attach()
833 return -EOPNOTSUPP; in bpf_uprobe_multi_link_attach()
852 const char *name, int offset, int size,
859 int trace_set_clr_event(const char *system, const char *event, int set);
861 const char *event, bool enable);
886 extern int perf_trace_init(struct perf_event *event);
887 extern void perf_trace_destroy(struct perf_event *event);
888 extern int perf_trace_add(struct perf_event *event, int flags);
889 extern void perf_trace_del(struct perf_event *event, int flags);
891 extern int perf_kprobe_init(struct perf_event *event, bool is_retprobe);
892 extern void perf_kprobe_destroy(struct perf_event *event);
893 extern int bpf_get_kprobe_info(const struct perf_event *event,
900 extern int perf_uprobe_init(struct perf_event *event,
902 extern void perf_uprobe_destroy(struct perf_event *event);
903 extern int bpf_get_uprobe_info(const struct perf_event *event,
908 extern int ftrace_profile_set_filter(struct perf_event *event, int event_id,
910 extern void ftrace_profile_free_filter(struct perf_event *event);
914 int perf_event_set_bpf_prog(struct perf_event *event, struct bpf_prog *prog, u64 bpf_cookie);
915 void perf_event_free_bpf_prog(struct perf_event *event);
963 * function. But lets me make it into a macro :-/
982 * trace event headers under one "CREATE_CUSTOM_TRACE_EVENTS" the first include
988 #define DECLARE_CUSTOM_EVENT_CLASS(name, proto, args, tstruct, assign, print) argument
989 #define DEFINE_CUSTOM_EVENT(template, name, proto, args) argument
990 #define TRACE_CUSTOM_EVENT(name, proto, args, struct, assign, print) argument