Lines Matching refs:pev

346 				       struct perf_probe_event *pev,  in get_alternative_probe_event()  argument
352 memcpy(tmp, &pev->point, sizeof(*tmp)); in get_alternative_probe_event()
353 memset(&pev->point, 0, sizeof(pev->point)); in get_alternative_probe_event()
354 ret = find_alternative_probe_point(dinfo, tmp, &pev->point, in get_alternative_probe_event()
355 target, pev->uprobes); in get_alternative_probe_event()
357 memcpy(&pev->point, tmp, sizeof(*tmp)); in get_alternative_probe_event()
591 static int try_to_find_probe_trace_events(struct perf_probe_event *pev, in try_to_find_probe_trace_events() argument
595 bool need_dwarf = perf_probe_event_need_dwarf(pev); in try_to_find_probe_trace_events()
611 ntevs = debuginfo__find_trace_events(dinfo, pev, tevs, max_tevs); in try_to_find_probe_trace_events()
614 ret = get_alternative_probe_event(dinfo, pev, &tmp, target); in try_to_find_probe_trace_events()
616 ntevs = debuginfo__find_trace_events(dinfo, pev, in try_to_find_probe_trace_events()
622 clear_perf_probe_point(&pev->point); in try_to_find_probe_trace_events()
623 memcpy(&pev->point, &tmp, sizeof(tmp)); in try_to_find_probe_trace_events()
632 target, pev->uprobes); in try_to_find_probe_trace_events()
642 synthesize_perf_probe_point(&pev->point)); in try_to_find_probe_trace_events()
811 struct perf_probe_event *pev, in show_available_vars_at() argument
822 buf = synthesize_perf_probe_point(&pev->point); in show_available_vars_at()
827 ret = debuginfo__find_available_vars_at(dinfo, pev, &vls, in show_available_vars_at()
830 ret = get_alternative_probe_event(dinfo, pev, &tmp, target); in show_available_vars_at()
832 ret = debuginfo__find_available_vars_at(dinfo, pev, in show_available_vars_at()
918 static int try_to_find_probe_trace_events(struct perf_probe_event *pev, in try_to_find_probe_trace_events() argument
923 if (perf_probe_event_need_dwarf(pev)) { in try_to_find_probe_trace_events()
1075 static int parse_perf_probe_point(char *arg, struct perf_probe_event *pev) in parse_perf_probe_point() argument
1077 struct perf_probe_point *pp = &pev->point; in parse_perf_probe_point()
1103 pev->event = strdup(arg); in parse_perf_probe_point()
1104 if (pev->event == NULL) in parse_perf_probe_point()
1106 pev->group = NULL; in parse_perf_probe_point()
1329 int parse_perf_probe_command(const char *cmd, struct perf_probe_event *pev) in parse_perf_probe_command() argument
1345 ret = parse_perf_probe_point(argv[0], pev); in parse_perf_probe_command()
1350 pev->nargs = argc - 1; in parse_perf_probe_command()
1351 pev->args = zalloc(sizeof(struct perf_probe_arg) * pev->nargs); in parse_perf_probe_command()
1352 if (pev->args == NULL) { in parse_perf_probe_command()
1356 for (i = 0; i < pev->nargs && ret >= 0; i++) { in parse_perf_probe_command()
1357 ret = parse_perf_probe_arg(argv[i + 1], &pev->args[i]); in parse_perf_probe_command()
1359 is_c_varname(pev->args[i].var) && pev->point.retprobe) { in parse_perf_probe_command()
1372 bool perf_probe_event_need_dwarf(struct perf_probe_event *pev) in perf_probe_event_need_dwarf() argument
1376 if (pev->point.file || pev->point.line || pev->point.lazy_line) in perf_probe_event_need_dwarf()
1379 for (i = 0; i < pev->nargs; i++) in perf_probe_event_need_dwarf()
1380 if (is_c_varname(pev->args[i].var)) in perf_probe_event_need_dwarf()
1580 char *synthesize_perf_probe_command(struct perf_probe_event *pev)
1585 buf = synthesize_perf_probe_point(&pev->point);
1590 for (i = 0; i < pev->nargs; i++) {
1592 pev->args[i].name);
1807 struct perf_probe_event *pev, bool is_kprobe) 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()
1815 if (pev->event == NULL || pev->group == NULL) 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()
1825 pev->args = zalloc(sizeof(struct perf_probe_arg) * pev->nargs); in convert_to_perf_probe_event()
1826 if (pev->args == NULL) in convert_to_perf_probe_event()
1830 pev->args[i].name = strdup(tev->args[i].name); in convert_to_perf_probe_event()
1834 pev->args[i].name = strdup(buf); in convert_to_perf_probe_event()
1836 if (pev->args[i].name == NULL && ret >= 0) in convert_to_perf_probe_event()
1841 clear_perf_probe_event(pev); in convert_to_perf_probe_event()
1846 void clear_perf_probe_event(struct perf_probe_event *pev) in clear_perf_probe_event() argument
1851 free(pev->event); in clear_perf_probe_event()
1852 free(pev->group); in clear_perf_probe_event()
1853 free(pev->target); in clear_perf_probe_event()
1854 clear_perf_probe_point(&pev->point); in clear_perf_probe_event()
1856 for (i = 0; i < pev->nargs; i++) { in clear_perf_probe_event()
1857 free(pev->args[i].name); in clear_perf_probe_event()
1858 free(pev->args[i].var); in clear_perf_probe_event()
1859 free(pev->args[i].type); in clear_perf_probe_event()
1860 field = pev->args[i].field; in clear_perf_probe_event()
1868 free(pev->args); in clear_perf_probe_event()
1869 memset(pev, 0, sizeof(*pev)); in clear_perf_probe_event()
2099 static int show_perf_probe_event(struct perf_probe_event *pev, in show_perf_probe_event() argument
2107 place = synthesize_perf_probe_point(&pev->point); in show_perf_probe_event()
2111 ret = e_snprintf(buf, 128, "%s:%s", pev->group, pev->event); in show_perf_probe_event()
2119 if (pev->nargs > 0) { in show_perf_probe_event()
2121 for (i = 0; i < pev->nargs; i++) { in show_perf_probe_event()
2122 ret = synthesize_perf_probe_arg(&pev->args[i], in show_perf_probe_event()
2138 struct perf_probe_event pev; in __show_perf_probe_events() local
2143 memset(&pev, 0, sizeof(pev)); in __show_perf_probe_events()
2152 ret = convert_to_perf_probe_event(&tev, &pev, in __show_perf_probe_events()
2155 ret = show_perf_probe_event(&pev, in __show_perf_probe_events()
2158 clear_perf_probe_event(&pev); in __show_perf_probe_events()
2324 static int __add_probe_trace_events(struct perf_probe_event *pev, in __add_probe_trace_events() argument
2336 if (pev->uprobes) in __add_probe_trace_events()
2342 print_open_warning(fd, !pev->uprobes); in __add_probe_trace_events()
2353 if (!pev->uprobes) { in __add_probe_trace_events()
2371 if (pev->event) in __add_probe_trace_events()
2372 event = pev->event; in __add_probe_trace_events()
2374 if (pev->point.function) in __add_probe_trace_events()
2375 event = pev->point.function; in __add_probe_trace_events()
2378 if (pev->group) in __add_probe_trace_events()
2379 group = pev->group; in __add_probe_trace_events()
2403 event = pev->event; in __add_probe_trace_events()
2404 group = pev->group; 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()
2409 pev->event = (char *)event; in __add_probe_trace_events()
2410 pev->group = (char *)group; in __add_probe_trace_events()
2420 if (ret == -EINVAL && pev->uprobes) in __add_probe_trace_events()
2456 static int find_probe_trace_events_from_map(struct perf_probe_event *pev, in find_probe_trace_events_from_map() argument
2464 struct perf_probe_point *pp = &pev->point; in find_probe_trace_events_from_map()
2469 map = get_target_map(target, pev->uprobes); in find_probe_trace_events_from_map()
2492 if (!pev->uprobes && !pp->retprobe) { 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()
2546 if (pev->args[i].name) in find_probe_trace_events_from_map()
2548 strdup_or_goto(pev->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()
2553 if (pev->args[i].type) in find_probe_trace_events_from_map()
2555 strdup_or_goto(pev->args[i].type, in find_probe_trace_events_from_map()
2561 put_target_map(map, pev->uprobes); in find_probe_trace_events_from_map()
2572 static int convert_to_probe_trace_events(struct perf_probe_event *pev, in convert_to_probe_trace_events() argument
2578 if (pev->uprobes && !pev->group) { in convert_to_probe_trace_events()
2580 ret = convert_exec_to_group(target, &pev->group); in convert_to_probe_trace_events()
2588 ret = try_to_find_probe_trace_events(pev, tevs, max_tevs, target); in convert_to_probe_trace_events()
2592 return find_probe_trace_events_from_map(pev, tevs, max_tevs, target); in convert_to_probe_trace_events()
2596 struct perf_probe_event *pev; member
2621 pkgs[i].pev = &pevs[i]; in add_perf_probe_events()
2623 ret = convert_to_probe_trace_events(pkgs[i].pev, in add_perf_probe_events()
2626 pkgs[i].pev->target); in add_perf_probe_events()
2634 ret = __add_probe_trace_events(pkgs[i].pev, pkgs[i].tevs, in add_perf_probe_events()