• Home
  • Raw
  • Download

Lines Matching refs:pev

218 static int try_to_find_probe_trace_events(struct perf_probe_event *pev,  in try_to_find_probe_trace_events()  argument
222 bool need_dwarf = perf_probe_event_need_dwarf(pev); in try_to_find_probe_trace_events()
236 ntevs = find_probe_trace_events(fd, pev, tevs, max_tevs); in try_to_find_probe_trace_events()
245 synthesize_perf_probe_point(&pev->point)); in try_to_find_probe_trace_events()
451 static int show_available_vars_at(int fd, struct perf_probe_event *pev, in show_available_vars_at() argument
461 buf = synthesize_perf_probe_point(&pev->point); in show_available_vars_at()
466 ret = find_available_vars_at(fd, pev, &vls, max_vls, externs); in show_available_vars_at()
549 static int try_to_find_probe_trace_events(struct perf_probe_event *pev, in try_to_find_probe_trace_events() argument
553 if (perf_probe_event_need_dwarf(pev)) { in try_to_find_probe_trace_events()
682 static int parse_perf_probe_point(char *arg, struct perf_probe_event *pev) in parse_perf_probe_point() argument
684 struct perf_probe_point *pp = &pev->point; in parse_perf_probe_point()
708 pev->event = strdup(arg); in parse_perf_probe_point()
709 if (pev->event == NULL) in parse_perf_probe_point()
711 pev->group = NULL; in parse_perf_probe_point()
934 int parse_perf_probe_command(const char *cmd, struct perf_probe_event *pev) in parse_perf_probe_command() argument
950 ret = parse_perf_probe_point(argv[0], pev); in parse_perf_probe_command()
955 pev->nargs = argc - 1; in parse_perf_probe_command()
956 pev->args = zalloc(sizeof(struct perf_probe_arg) * pev->nargs); in parse_perf_probe_command()
957 if (pev->args == NULL) { in parse_perf_probe_command()
961 for (i = 0; i < pev->nargs && ret >= 0; i++) { in parse_perf_probe_command()
962 ret = parse_perf_probe_arg(argv[i + 1], &pev->args[i]); in parse_perf_probe_command()
964 is_c_varname(pev->args[i].var) && pev->point.retprobe) { in parse_perf_probe_command()
977 bool perf_probe_event_need_dwarf(struct perf_probe_event *pev) in perf_probe_event_need_dwarf() argument
981 if (pev->point.file || pev->point.line || pev->point.lazy_line) in perf_probe_event_need_dwarf()
984 for (i = 0; i < pev->nargs; i++) in perf_probe_event_need_dwarf()
985 if (is_c_varname(pev->args[i].var)) in perf_probe_event_need_dwarf()
1155 char *synthesize_perf_probe_command(struct perf_probe_event *pev)
1160 buf = synthesize_perf_probe_point(&pev->point);
1165 for (i = 0; i < pev->nargs; i++) {
1167 pev->args[i].name);
1294 struct perf_probe_event *pev) in convert_to_perf_probe_event() argument
1300 pev->event = strdup(tev->event); in convert_to_perf_probe_event()
1301 pev->group = strdup(tev->group); in convert_to_perf_probe_event()
1302 if (pev->event == NULL || pev->group == NULL) in convert_to_perf_probe_event()
1306 ret = kprobe_convert_to_perf_probe(&tev->point, &pev->point); in convert_to_perf_probe_event()
1311 pev->nargs = tev->nargs; in convert_to_perf_probe_event()
1312 pev->args = zalloc(sizeof(struct perf_probe_arg) * pev->nargs); in convert_to_perf_probe_event()
1313 if (pev->args == NULL) in convert_to_perf_probe_event()
1317 pev->args[i].name = strdup(tev->args[i].name); in convert_to_perf_probe_event()
1321 pev->args[i].name = strdup(buf); in convert_to_perf_probe_event()
1323 if (pev->args[i].name == NULL && ret >= 0) in convert_to_perf_probe_event()
1328 clear_perf_probe_event(pev); in convert_to_perf_probe_event()
1333 void clear_perf_probe_event(struct perf_probe_event *pev) in clear_perf_probe_event() argument
1335 struct perf_probe_point *pp = &pev->point; in clear_perf_probe_event()
1339 if (pev->event) in clear_perf_probe_event()
1340 free(pev->event); in clear_perf_probe_event()
1341 if (pev->group) in clear_perf_probe_event()
1342 free(pev->group); in clear_perf_probe_event()
1349 for (i = 0; i < pev->nargs; i++) { in clear_perf_probe_event()
1350 if (pev->args[i].name) in clear_perf_probe_event()
1351 free(pev->args[i].name); in clear_perf_probe_event()
1352 if (pev->args[i].var) in clear_perf_probe_event()
1353 free(pev->args[i].var); in clear_perf_probe_event()
1354 if (pev->args[i].type) in clear_perf_probe_event()
1355 free(pev->args[i].type); in clear_perf_probe_event()
1356 field = pev->args[i].field; in clear_perf_probe_event()
1365 if (pev->args) in clear_perf_probe_event()
1366 free(pev->args); in clear_perf_probe_event()
1367 memset(pev, 0, sizeof(*pev)); in clear_perf_probe_event()
1465 static int show_perf_probe_event(struct perf_probe_event *pev) in show_perf_probe_event() argument
1472 place = synthesize_perf_probe_point(&pev->point); in show_perf_probe_event()
1476 ret = e_snprintf(buf, 128, "%s:%s", pev->group, pev->event); in show_perf_probe_event()
1482 if (pev->nargs > 0) { in show_perf_probe_event()
1484 for (i = 0; i < pev->nargs; i++) { in show_perf_probe_event()
1485 ret = synthesize_perf_probe_arg(&pev->args[i], in show_perf_probe_event()
1502 struct perf_probe_event pev; in show_perf_probe_events() local
1512 memset(&pev, 0, sizeof(pev)); in show_perf_probe_events()
1526 ret = convert_to_perf_probe_event(&tev, &pev); in show_perf_probe_events()
1528 ret = show_perf_probe_event(&pev); in show_perf_probe_events()
1530 clear_perf_probe_event(&pev); in show_perf_probe_events()
1635 static int __add_probe_trace_events(struct perf_probe_event *pev, in __add_probe_trace_events() argument
1659 if (pev->event) in __add_probe_trace_events()
1660 event = pev->event; in __add_probe_trace_events()
1662 if (pev->point.function) in __add_probe_trace_events()
1663 event = pev->point.function; in __add_probe_trace_events()
1666 if (pev->group) in __add_probe_trace_events()
1667 group = pev->group; in __add_probe_trace_events()
1691 event = pev->event; in __add_probe_trace_events()
1692 group = pev->group; in __add_probe_trace_events()
1693 pev->event = tev->event; in __add_probe_trace_events()
1694 pev->group = tev->group; in __add_probe_trace_events()
1695 show_perf_probe_event(pev); in __add_probe_trace_events()
1697 pev->event = (char *)event; in __add_probe_trace_events()
1698 pev->group = (char *)group; in __add_probe_trace_events()
1721 static int convert_to_probe_trace_events(struct perf_probe_event *pev, in convert_to_probe_trace_events() argument
1730 ret = try_to_find_probe_trace_events(pev, tevs, max_tevs, module); in convert_to_probe_trace_events()
1740 tev->point.symbol = strdup(pev->point.function); in convert_to_probe_trace_events()
1745 tev->point.offset = pev->point.offset; in convert_to_probe_trace_events()
1746 tev->point.retprobe = pev->point.retprobe; in convert_to_probe_trace_events()
1747 tev->nargs = pev->nargs; in convert_to_probe_trace_events()
1756 if (pev->args[i].name) { in convert_to_probe_trace_events()
1757 tev->args[i].name = strdup(pev->args[i].name); in convert_to_probe_trace_events()
1763 tev->args[i].value = strdup(pev->args[i].var); in convert_to_probe_trace_events()
1768 if (pev->args[i].type) { in convert_to_probe_trace_events()
1769 tev->args[i].type = strdup(pev->args[i].type); in convert_to_probe_trace_events()
1796 struct perf_probe_event *pev; member
1820 pkgs[i].pev = &pevs[i]; in add_perf_probe_events()
1822 ret = convert_to_probe_trace_events(pkgs[i].pev, in add_perf_probe_events()
1833 ret = __add_probe_trace_events(pkgs[i].pev, pkgs[i].tevs, in add_perf_probe_events()