Lines Matching refs:tev

74 static void clear_probe_trace_event(struct probe_trace_event *tev);
1388 struct probe_trace_event *tev) in parse_probe_trace_command() argument
1390 struct probe_trace_point *tp = &tev->point; in parse_probe_trace_command()
1425 tev->group = strdup(fmt2_str); in parse_probe_trace_command()
1426 tev->event = strdup(fmt3_str); in parse_probe_trace_command()
1427 if (tev->group == NULL || tev->event == NULL) { in parse_probe_trace_command()
1431 pr_debug("Group:%s Event:%s probe:%c\n", tev->group, tev->event, pr); in parse_probe_trace_command()
1459 tev->nargs = argc - 2; in parse_probe_trace_command()
1460 tev->args = zalloc(sizeof(struct probe_trace_arg) * tev->nargs); in parse_probe_trace_command()
1461 if (tev->args == NULL) { in parse_probe_trace_command()
1465 for (i = 0; i < tev->nargs; i++) { in parse_probe_trace_command()
1471 tev->args[i].name = strdup(argv[i + 2]); in parse_probe_trace_command()
1473 tev->args[i].value = strdup(p); in parse_probe_trace_command()
1474 if (tev->args[i].name == NULL || tev->args[i].value == NULL) { in parse_probe_trace_command()
1687 char *synthesize_probe_trace_command(struct probe_trace_event *tev) in synthesize_probe_trace_command() argument
1689 struct probe_trace_point *tp = &tev->point; in synthesize_probe_trace_command()
1698 tev->group, tev->event); in synthesize_probe_trace_command()
1703 if (tev->uprobes && (!tp->address || !tp->module)) in synthesize_probe_trace_command()
1707 if (tev->uprobes) in synthesize_probe_trace_command()
1719 for (i = 0; i < tev->nargs; i++) { in synthesize_probe_trace_command()
1720 ret = synthesize_probe_trace_arg(&tev->args[i], buf + len, in synthesize_probe_trace_command()
1806 static int convert_to_perf_probe_event(struct probe_trace_event *tev, in convert_to_perf_probe_event() argument
1813 pev->event = strdup(tev->event); in convert_to_perf_probe_event()
1814 pev->group = strdup(tev->group); in convert_to_perf_probe_event()
1819 ret = convert_to_perf_probe_point(&tev->point, &pev->point, is_kprobe); in convert_to_perf_probe_event()
1824 pev->nargs = tev->nargs; in convert_to_perf_probe_event()
1828 for (i = 0; i < tev->nargs && ret >= 0; i++) { in convert_to_perf_probe_event()
1829 if (tev->args[i].name) in convert_to_perf_probe_event()
1830 pev->args[i].name = strdup(tev->args[i].name); in convert_to_perf_probe_event()
1832 ret = synthesize_probe_trace_arg(&tev->args[i], in convert_to_perf_probe_event()
1872 static void clear_probe_trace_event(struct probe_trace_event *tev) in clear_probe_trace_event() argument
1877 free(tev->event); in clear_probe_trace_event()
1878 free(tev->group); in clear_probe_trace_event()
1879 free(tev->point.symbol); in clear_probe_trace_event()
1880 free(tev->point.module); in clear_probe_trace_event()
1881 for (i = 0; i < tev->nargs; i++) { in clear_probe_trace_event()
1882 free(tev->args[i].name); in clear_probe_trace_event()
1883 free(tev->args[i].value); in clear_probe_trace_event()
1884 free(tev->args[i].type); in clear_probe_trace_event()
1885 ref = tev->args[i].ref; in clear_probe_trace_event()
1892 free(tev->args); in clear_probe_trace_event()
1893 memset(tev, 0, sizeof(*tev)); in clear_probe_trace_event()
2137 struct probe_trace_event tev; in __show_perf_probe_events() local
2142 memset(&tev, 0, sizeof(tev)); in __show_perf_probe_events()
2150 ret = parse_probe_trace_command(ent->s, &tev); in __show_perf_probe_events()
2152 ret = convert_to_perf_probe_event(&tev, &pev, in __show_perf_probe_events()
2156 tev.point.module); in __show_perf_probe_events()
2159 clear_probe_trace_event(&tev); in __show_perf_probe_events()
2209 struct probe_trace_event tev; in get_probe_trace_event_names() local
2212 memset(&tev, 0, sizeof(tev)); in get_probe_trace_event_names()
2218 ret = parse_probe_trace_command(ent->s, &tev); in get_probe_trace_event_names()
2222 ret = e_snprintf(buf, 128, "%s:%s", tev.group, in get_probe_trace_event_names()
2223 tev.event); in get_probe_trace_event_names()
2227 ret = strlist__add(sl, tev.event); in get_probe_trace_event_names()
2228 clear_probe_trace_event(&tev); in get_probe_trace_event_names()
2241 static int write_probe_trace_event(int fd, struct probe_trace_event *tev) in write_probe_trace_event() argument
2244 char *buf = synthesize_probe_trace_command(tev); in write_probe_trace_event()
2304 static void warn_uprobe_event_compat(struct probe_trace_event *tev) in warn_uprobe_event_compat() argument
2307 char *buf = synthesize_probe_trace_command(tev); in warn_uprobe_event_compat()
2310 if (!tev->uprobes || tev->nargs == 0 || !buf) in warn_uprobe_event_compat()
2313 for (i = 0; i < tev->nargs; i++) in warn_uprobe_event_compat()
2314 if (strglobmatch(tev->args[i].value, "[$@+-]*")) { in warn_uprobe_event_compat()
2317 tev->args[i].value); in warn_uprobe_event_compat()
2329 struct probe_trace_event *tev = NULL; in __add_probe_trace_events() local
2362 tev = &tevs[i]; in __add_probe_trace_events()
2365 tev->point.address); in __add_probe_trace_events()
2377 event = tev->point.symbol; in __add_probe_trace_events()
2390 tev->event = strdup(event); in __add_probe_trace_events()
2391 tev->group = strdup(group); in __add_probe_trace_events()
2392 if (tev->event == NULL || tev->group == NULL) { in __add_probe_trace_events()
2396 ret = write_probe_trace_event(fd, tev); in __add_probe_trace_events()
2405 pev->event = tev->event; in __add_probe_trace_events()
2406 pev->group = tev->group; in __add_probe_trace_events()
2407 show_perf_probe_event(pev, tev->point.module); in __add_probe_trace_events()
2421 warn_uprobe_event_compat(tev); in __add_probe_trace_events()
2424 if (ret >= 0 && tev->event) { in __add_probe_trace_events()
2427 pr_info("\tperf record -e %s:%s -aR sleep 1\n\n", tev->group, in __add_probe_trace_events()
2428 tev->event); in __add_probe_trace_events()
2463 struct probe_trace_event *tev; in find_probe_trace_events_from_map() local
2502 *tevs = zalloc(sizeof(*tev) * num_matched_functions); in find_probe_trace_events_from_map()
2511 tev = (*tevs) + ret; in find_probe_trace_events_from_map()
2512 tp = &tev->point; in find_probe_trace_events_from_map()
2536 tev->point.module = strdup_or_goto(target, nomem_out); in find_probe_trace_events_from_map()
2537 tev->uprobes = pev->uprobes; in find_probe_trace_events_from_map()
2538 tev->nargs = pev->nargs; in find_probe_trace_events_from_map()
2539 if (tev->nargs) { in find_probe_trace_events_from_map()
2540 tev->args = zalloc(sizeof(struct probe_trace_arg) * in find_probe_trace_events_from_map()
2541 tev->nargs); in find_probe_trace_events_from_map()
2542 if (tev->args == NULL) in find_probe_trace_events_from_map()
2545 for (i = 0; i < tev->nargs; i++) { in find_probe_trace_events_from_map()
2547 tev->args[i].name = in find_probe_trace_events_from_map()
2551 tev->args[i].value = strdup_or_goto(pev->args[i].var, in find_probe_trace_events_from_map()
2554 tev->args[i].type = in find_probe_trace_events_from_map()