Lines Matching refs:evsel

188 static int perf_evsel__init_tp_uint_field(struct perf_evsel *evsel,  in perf_evsel__init_tp_uint_field()  argument
192 struct format_field *format_field = perf_evsel__field(evsel, name); in perf_evsel__init_tp_uint_field()
197 return tp_field__init_uint(field, format_field, evsel->needs_swap); in perf_evsel__init_tp_uint_field()
200 #define perf_evsel__init_sc_tp_uint_field(evsel, name) \ argument
201 ({ struct syscall_tp *sc = evsel->priv;\
202 perf_evsel__init_tp_uint_field(evsel, &sc->name, #name); })
204 static int perf_evsel__init_tp_ptr_field(struct perf_evsel *evsel, in perf_evsel__init_tp_ptr_field() argument
208 struct format_field *format_field = perf_evsel__field(evsel, name); in perf_evsel__init_tp_ptr_field()
216 #define perf_evsel__init_sc_tp_ptr_field(evsel, name) \ argument
217 ({ struct syscall_tp *sc = evsel->priv;\
218 perf_evsel__init_tp_ptr_field(evsel, &sc->name, #name); })
220 static void perf_evsel__delete_priv(struct perf_evsel *evsel) in perf_evsel__delete_priv() argument
222 zfree(&evsel->priv); in perf_evsel__delete_priv()
223 perf_evsel__delete(evsel); in perf_evsel__delete_priv()
226 static int perf_evsel__init_syscall_tp(struct perf_evsel *evsel, void *handler) in perf_evsel__init_syscall_tp() argument
228 evsel->priv = malloc(sizeof(struct syscall_tp)); in perf_evsel__init_syscall_tp()
229 if (evsel->priv != NULL) { in perf_evsel__init_syscall_tp()
230 if (perf_evsel__init_sc_tp_uint_field(evsel, id)) in perf_evsel__init_syscall_tp()
233 evsel->handler = handler; in perf_evsel__init_syscall_tp()
240 zfree(&evsel->priv); in perf_evsel__init_syscall_tp()
246 struct perf_evsel *evsel = perf_evsel__newtp("raw_syscalls", direction); in perf_evsel__syscall_newtp() local
249 if (IS_ERR(evsel)) in perf_evsel__syscall_newtp()
250 evsel = perf_evsel__newtp("syscalls", direction); in perf_evsel__syscall_newtp()
252 if (IS_ERR(evsel)) in perf_evsel__syscall_newtp()
255 if (perf_evsel__init_syscall_tp(evsel, handler)) in perf_evsel__syscall_newtp()
258 return evsel; in perf_evsel__syscall_newtp()
261 perf_evsel__delete_priv(evsel); in perf_evsel__syscall_newtp()
265 #define perf_evsel__sc_tp_uint(evsel, name, sample) \ argument
266 ({ struct syscall_tp *fields = evsel->priv; \
269 #define perf_evsel__sc_tp_ptr(evsel, name, sample) \ argument
270 ({ struct syscall_tp *fields = evsel->priv; \
1861 typedef int (*tracepoint_handler)(struct trace *trace, struct perf_evsel *evsel,
1866 struct perf_evsel *evsel, int id) in trace__syscall_info() argument
1884 id, perf_evsel__name(evsel), ++n); in trace__syscall_info()
1957 static int trace__sys_enter(struct trace *trace, struct perf_evsel *evsel, in trace__sys_enter() argument
1965 int id = perf_evsel__sc_tp_uint(evsel, id, sample), err = -1; in trace__sys_enter()
1966 struct syscall *sc = trace__syscall_info(trace, evsel, id); in trace__sys_enter()
1977 args = perf_evsel__sc_tp_ptr(evsel, args, sample); in trace__sys_enter()
2016 static int trace__sys_exit(struct trace *trace, struct perf_evsel *evsel, in trace__sys_exit() argument
2023 int id = perf_evsel__sc_tp_uint(evsel, id, sample), err = -1; in trace__sys_exit()
2024 struct syscall *sc = trace__syscall_info(trace, evsel, id); in trace__sys_exit()
2038 ret = perf_evsel__sc_tp_uint(evsel, ret, sample); in trace__sys_exit()
2093 static int trace__vfs_getname(struct trace *trace, struct perf_evsel *evsel, in trace__vfs_getname() argument
2102 const char *filename = perf_evsel__rawptr(evsel, sample, "pathname"); in trace__vfs_getname()
2150 static int trace__sched_stat_runtime(struct trace *trace, struct perf_evsel *evsel, in trace__sched_stat_runtime() argument
2154 u64 runtime = perf_evsel__intval(evsel, sample, "runtime"); in trace__sched_stat_runtime()
2171 evsel->name, in trace__sched_stat_runtime()
2172 perf_evsel__strval(evsel, sample, "comm"), in trace__sched_stat_runtime()
2173 (pid_t)perf_evsel__intval(evsel, sample, "pid"), in trace__sched_stat_runtime()
2175 perf_evsel__intval(evsel, sample, "vruntime")); in trace__sched_stat_runtime()
2180 static int trace__event_handler(struct trace *trace, struct perf_evsel *evsel, in trace__event_handler() argument
2190 fprintf(trace->output, "%s:", evsel->name); in trace__event_handler()
2192 if (evsel->tp_format) { in trace__event_handler()
2193 event_format__fprintf(evsel->tp_format, sample->cpu, in trace__event_handler()
2220 struct perf_evsel *evsel, in trace__pgfault() argument
2236 if (evsel->attr.config == PERF_COUNT_SW_PAGE_FAULTS_MAJ) in trace__pgfault()
2250 evsel->attr.config == PERF_COUNT_SW_PAGE_FAULTS_MAJ ? in trace__pgfault()
2295 struct perf_evsel *evsel, in trace__process_sample() argument
2301 tracepoint_handler handler = evsel->handler; in trace__process_sample()
2311 handler(trace, evsel, event, sample); in trace__process_sample()
2401 struct perf_evsel *evsel = perf_evsel__newtp("probe", "vfs_getname"); in perf_evlist__add_vfs_getname() local
2403 if (IS_ERR(evsel)) in perf_evlist__add_vfs_getname()
2406 if (perf_evsel__field(evsel, "pathname") == NULL) { in perf_evlist__add_vfs_getname()
2407 perf_evsel__delete(evsel); in perf_evlist__add_vfs_getname()
2411 evsel->handler = trace__vfs_getname; in perf_evlist__add_vfs_getname()
2412 perf_evlist__add(evlist, evsel); in perf_evlist__add_vfs_getname()
2419 struct perf_evsel *evsel; in perf_evlist__add_pgfault() local
2430 evsel = perf_evsel__new(&attr); in perf_evlist__add_pgfault()
2431 if (!evsel) in perf_evlist__add_pgfault()
2434 evsel->handler = trace__pgfault; in perf_evlist__add_pgfault()
2435 perf_evlist__add(evlist, evsel); in perf_evlist__add_pgfault()
2443 struct perf_evsel *evsel; in trace__handle_event() local
2453 evsel = perf_evlist__id2evsel(trace->evlist, sample->id); in trace__handle_event()
2454 if (evsel == NULL) { in trace__handle_event()
2459 if (evsel->attr.type == PERF_TYPE_TRACEPOINT && in trace__handle_event()
2462 perf_evsel__name(evsel), sample->tid, in trace__handle_event()
2465 tracepoint_handler handler = evsel->handler; in trace__handle_event()
2466 handler(trace, evsel, event, sample); in trace__handle_event()
2531 struct perf_evsel *evsel; in trace__run() local
2612 err = perf_evlist__apply_filters(evlist, &evsel); in trace__run()
2721 evsel->filter, perf_evsel__name(evsel), errno, in trace__run()
2745 struct perf_evsel *evsel; in trace__replay() local
2777 evsel = perf_evlist__find_tracepoint_by_name(session->evlist, in trace__replay()
2780 if (evsel == NULL) in trace__replay()
2781 evsel = perf_evlist__find_tracepoint_by_name(session->evlist, in trace__replay()
2784 if (evsel && in trace__replay()
2785 (perf_evsel__init_syscall_tp(evsel, trace__sys_enter) < 0 || in trace__replay()
2786 perf_evsel__init_sc_tp_ptr_field(evsel, args))) { in trace__replay()
2791 evsel = perf_evlist__find_tracepoint_by_name(session->evlist, in trace__replay()
2793 if (evsel == NULL) in trace__replay()
2794 evsel = perf_evlist__find_tracepoint_by_name(session->evlist, in trace__replay()
2796 if (evsel && in trace__replay()
2797 (perf_evsel__init_syscall_tp(evsel, trace__sys_exit) < 0 || in trace__replay()
2798 perf_evsel__init_sc_tp_uint_field(evsel, ret))) { in trace__replay()
2803 evlist__for_each(session->evlist, evsel) { in trace__replay()
2804 if (evsel->attr.type == PERF_TYPE_SOFTWARE && in trace__replay()
2805 (evsel->attr.config == PERF_COUNT_SW_PAGE_FAULTS_MAJ || in trace__replay()
2806 evsel->attr.config == PERF_COUNT_SW_PAGE_FAULTS_MIN || in trace__replay()
2807 evsel->attr.config == PERF_COUNT_SW_PAGE_FAULTS)) in trace__replay()
2808 evsel->handler = trace__pgfault; in trace__replay()
3010 struct perf_evsel *evsel; in evlist__set_evsel_handler() local
3012 evlist__for_each(evlist, evsel) in evlist__set_evsel_handler()
3013 evsel->handler = handler; in evlist__set_evsel_handler()