Lines Matching refs:evsel

122 static int perf_evsel__init_tp_uint_field(struct perf_evsel *evsel,  in perf_evsel__init_tp_uint_field()  argument
126 struct format_field *format_field = perf_evsel__field(evsel, name); in perf_evsel__init_tp_uint_field()
131 return tp_field__init_uint(field, format_field, evsel->needs_swap); in perf_evsel__init_tp_uint_field()
134 #define perf_evsel__init_sc_tp_uint_field(evsel, name) \ argument
135 ({ struct syscall_tp *sc = evsel->priv;\
136 perf_evsel__init_tp_uint_field(evsel, &sc->name, #name); })
138 static int perf_evsel__init_tp_ptr_field(struct perf_evsel *evsel, in perf_evsel__init_tp_ptr_field() argument
142 struct format_field *format_field = perf_evsel__field(evsel, name); in perf_evsel__init_tp_ptr_field()
150 #define perf_evsel__init_sc_tp_ptr_field(evsel, name) \ argument
151 ({ struct syscall_tp *sc = evsel->priv;\
152 perf_evsel__init_tp_ptr_field(evsel, &sc->name, #name); })
154 static void perf_evsel__delete_priv(struct perf_evsel *evsel) in perf_evsel__delete_priv() argument
156 zfree(&evsel->priv); in perf_evsel__delete_priv()
157 perf_evsel__delete(evsel); in perf_evsel__delete_priv()
160 static int perf_evsel__init_syscall_tp(struct perf_evsel *evsel, void *handler) in perf_evsel__init_syscall_tp() argument
162 evsel->priv = malloc(sizeof(struct syscall_tp)); in perf_evsel__init_syscall_tp()
163 if (evsel->priv != NULL) { in perf_evsel__init_syscall_tp()
164 if (perf_evsel__init_sc_tp_uint_field(evsel, id)) in perf_evsel__init_syscall_tp()
167 evsel->handler = handler; in perf_evsel__init_syscall_tp()
174 zfree(&evsel->priv); in perf_evsel__init_syscall_tp()
180 struct perf_evsel *evsel = perf_evsel__newtp("raw_syscalls", direction); in perf_evsel__syscall_newtp() local
183 if (evsel == NULL) in perf_evsel__syscall_newtp()
184 evsel = perf_evsel__newtp("syscalls", direction); in perf_evsel__syscall_newtp()
186 if (evsel) { in perf_evsel__syscall_newtp()
187 if (perf_evsel__init_syscall_tp(evsel, handler)) in perf_evsel__syscall_newtp()
191 return evsel; in perf_evsel__syscall_newtp()
194 perf_evsel__delete_priv(evsel); in perf_evsel__syscall_newtp()
198 #define perf_evsel__sc_tp_uint(evsel, name, sample) \ argument
199 ({ struct syscall_tp *fields = evsel->priv; \
202 #define perf_evsel__sc_tp_ptr(evsel, name, sample) \ argument
203 ({ struct syscall_tp *fields = evsel->priv; \
1611 typedef int (*tracepoint_handler)(struct trace *trace, struct perf_evsel *evsel,
1616 struct perf_evsel *evsel, int id) in trace__syscall_info() argument
1634 id, perf_evsel__name(evsel), ++n); in trace__syscall_info()
1707 static int trace__sys_enter(struct trace *trace, struct perf_evsel *evsel, in trace__sys_enter() argument
1715 int id = perf_evsel__sc_tp_uint(evsel, id, sample); in trace__sys_enter()
1716 struct syscall *sc = trace__syscall_info(trace, evsel, id); in trace__sys_enter()
1730 args = perf_evsel__sc_tp_ptr(evsel, args, sample); in trace__sys_enter()
1764 static int trace__sys_exit(struct trace *trace, struct perf_evsel *evsel, in trace__sys_exit() argument
1771 int id = perf_evsel__sc_tp_uint(evsel, id, sample); in trace__sys_exit()
1772 struct syscall *sc = trace__syscall_info(trace, evsel, id); in trace__sys_exit()
1789 ret = perf_evsel__sc_tp_uint(evsel, ret, sample); in trace__sys_exit()
1842 static int trace__vfs_getname(struct trace *trace, struct perf_evsel *evsel, in trace__vfs_getname() argument
1846 trace->last_vfs_getname = perf_evsel__rawptr(evsel, sample, "pathname"); in trace__vfs_getname()
1850 static int trace__sched_stat_runtime(struct trace *trace, struct perf_evsel *evsel, in trace__sched_stat_runtime() argument
1854 u64 runtime = perf_evsel__intval(evsel, sample, "runtime"); in trace__sched_stat_runtime()
1870 evsel->name, in trace__sched_stat_runtime()
1871 perf_evsel__strval(evsel, sample, "comm"), in trace__sched_stat_runtime()
1872 (pid_t)perf_evsel__intval(evsel, sample, "pid"), in trace__sched_stat_runtime()
1874 perf_evsel__intval(evsel, sample, "vruntime")); in trace__sched_stat_runtime()
1878 static int trace__event_handler(struct trace *trace, struct perf_evsel *evsel, in trace__event_handler() argument
1888 fprintf(trace->output, "%s:", evsel->name); in trace__event_handler()
1890 if (evsel->tp_format) { in trace__event_handler()
1891 event_format__fprintf(evsel->tp_format, sample->cpu, in trace__event_handler()
1918 struct perf_evsel *evsel, in trace__pgfault() argument
1933 if (evsel->attr.config == PERF_COUNT_SW_PAGE_FAULTS_MAJ) in trace__pgfault()
1947 evsel->attr.config == PERF_COUNT_SW_PAGE_FAULTS_MAJ ? in trace__pgfault()
1989 struct perf_evsel *evsel, in trace__process_sample() argument
1995 tracepoint_handler handler = evsel->handler; in trace__process_sample()
2005 handler(trace, evsel, event, sample); in trace__process_sample()
2095 struct perf_evsel *evsel = perf_evsel__newtp("probe", "vfs_getname"); in perf_evlist__add_vfs_getname() local
2096 if (evsel == NULL) in perf_evlist__add_vfs_getname()
2099 if (perf_evsel__field(evsel, "pathname") == NULL) { in perf_evlist__add_vfs_getname()
2100 perf_evsel__delete(evsel); in perf_evlist__add_vfs_getname()
2104 evsel->handler = trace__vfs_getname; in perf_evlist__add_vfs_getname()
2105 perf_evlist__add(evlist, evsel); in perf_evlist__add_vfs_getname()
2111 struct perf_evsel *evsel; in perf_evlist__add_pgfault() local
2122 evsel = perf_evsel__new(&attr); in perf_evlist__add_pgfault()
2123 if (!evsel) in perf_evlist__add_pgfault()
2126 evsel->handler = trace__pgfault; in perf_evlist__add_pgfault()
2127 perf_evlist__add(evlist, evsel); in perf_evlist__add_pgfault()
2135 struct perf_evsel *evsel; in trace__handle_event() local
2145 evsel = perf_evlist__id2evsel(trace->evlist, sample->id); in trace__handle_event()
2146 if (evsel == NULL) { in trace__handle_event()
2151 if (evsel->attr.type == PERF_TYPE_TRACEPOINT && in trace__handle_event()
2154 perf_evsel__name(evsel), sample->tid, in trace__handle_event()
2157 tracepoint_handler handler = evsel->handler; in trace__handle_event()
2158 handler(trace, evsel, event, sample); in trace__handle_event()
2358 struct perf_evsel *evsel; in trace__replay() local
2390 evsel = perf_evlist__find_tracepoint_by_name(session->evlist, in trace__replay()
2393 if (evsel == NULL) in trace__replay()
2394 evsel = perf_evlist__find_tracepoint_by_name(session->evlist, in trace__replay()
2397 if (evsel && in trace__replay()
2398 (perf_evsel__init_syscall_tp(evsel, trace__sys_enter) < 0 || in trace__replay()
2399 perf_evsel__init_sc_tp_ptr_field(evsel, args))) { in trace__replay()
2404 evsel = perf_evlist__find_tracepoint_by_name(session->evlist, in trace__replay()
2406 if (evsel == NULL) in trace__replay()
2407 evsel = perf_evlist__find_tracepoint_by_name(session->evlist, in trace__replay()
2409 if (evsel && in trace__replay()
2410 (perf_evsel__init_syscall_tp(evsel, trace__sys_exit) < 0 || in trace__replay()
2411 perf_evsel__init_sc_tp_uint_field(evsel, ret))) { in trace__replay()
2416 evlist__for_each(session->evlist, evsel) { in trace__replay()
2417 if (evsel->attr.type == PERF_TYPE_SOFTWARE && in trace__replay()
2418 (evsel->attr.config == PERF_COUNT_SW_PAGE_FAULTS_MAJ || in trace__replay()
2419 evsel->attr.config == PERF_COUNT_SW_PAGE_FAULTS_MIN || in trace__replay()
2420 evsel->attr.config == PERF_COUNT_SW_PAGE_FAULTS)) in trace__replay()
2421 evsel->handler = trace__pgfault; in trace__replay()
2623 struct perf_evsel *evsel; in evlist__set_evsel_handler() local
2625 evlist__for_each(evlist, evsel) in evlist__set_evsel_handler()
2626 evsel->handler = handler; in evlist__set_evsel_handler()