• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /asuswrt-rt-n18u-9.0.0.4.380.2695/release/src-rt-6.x.4708/linux/linux-2.6.36/tools/perf/util/

Lines Matching refs:pev

157 static int try_to_find_probe_trace_events(struct perf_probe_event *pev,
161 bool need_dwarf = perf_probe_event_need_dwarf(pev);
175 ntevs = find_probe_trace_events(fd, pev, tevs, max_tevs);
185 synthesize_perf_probe_point(&pev->point));
395 static int try_to_find_probe_trace_events(struct perf_probe_event *pev,
399 if (perf_probe_event_need_dwarf(pev)) {
479 static int parse_perf_probe_point(char *arg, struct perf_probe_event *pev)
481 struct perf_probe_point *pp = &pev->point;
505 pev->event = strdup(arg);
506 if (pev->event == NULL)
508 pev->group = NULL;
730 int parse_perf_probe_command(const char *cmd, struct perf_probe_event *pev)
746 ret = parse_perf_probe_point(argv[0], pev);
751 pev->nargs = argc - 1;
752 pev->args = zalloc(sizeof(struct perf_probe_arg) * pev->nargs);
753 if (pev->args == NULL) {
757 for (i = 0; i < pev->nargs && ret >= 0; i++) {
758 ret = parse_perf_probe_arg(argv[i + 1], &pev->args[i]);
760 is_c_varname(pev->args[i].var) && pev->point.retprobe) {
773 bool perf_probe_event_need_dwarf(struct perf_probe_event *pev)
777 if (pev->point.file || pev->point.line || pev->point.lazy_line)
780 for (i = 0; i < pev->nargs; i++)
781 if (is_c_varname(pev->args[i].var))
1065 struct perf_probe_event *pev)
1071 pev->event = strdup(tev->event);
1072 pev->group = strdup(tev->group);
1073 if (pev->event == NULL || pev->group == NULL)
1077 ret = kprobe_convert_to_perf_probe(&tev->point, &pev->point);
1082 pev->nargs = tev->nargs;
1083 pev->args = zalloc(sizeof(struct perf_probe_arg) * pev->nargs);
1084 if (pev->args == NULL)
1088 pev->args[i].name = strdup(tev->args[i].name);
1092 pev->args[i].name = strdup(buf);
1094 if (pev->args[i].name == NULL && ret >= 0)
1099 clear_perf_probe_event(pev);
1104 void clear_perf_probe_event(struct perf_probe_event *pev)
1106 struct perf_probe_point *pp = &pev->point;
1110 if (pev->event)
1111 free(pev->event);
1112 if (pev->group)
1113 free(pev->group);
1120 for (i = 0; i < pev->nargs; i++) {
1121 if (pev->args[i].name)
1122 free(pev->args[i].name);
1123 if (pev->args[i].var)
1124 free(pev->args[i].var);
1125 if (pev->args[i].type)
1126 free(pev->args[i].type);
1127 field = pev->args[i].field;
1136 if (pev->args)
1137 free(pev->args);
1138 memset(pev, 0, sizeof(*pev));
1236 static int show_perf_probe_event(struct perf_probe_event *pev)
1243 place = synthesize_perf_probe_point(&pev->point);
1247 ret = e_snprintf(buf, 128, "%s:%s", pev->group, pev->event);
1253 if (pev->nargs > 0) {
1255 for (i = 0; i < pev->nargs; i++) {
1256 ret = synthesize_perf_probe_arg(&pev->args[i],
1273 struct perf_probe_event pev;
1283 memset(&pev, 0, sizeof(pev));
1297 ret = convert_to_perf_probe_event(&tev, &pev);
1299 ret = show_perf_probe_event(&pev);
1301 clear_perf_probe_event(&pev);
1406 static int __add_probe_trace_events(struct perf_probe_event *pev,
1430 if (pev->event)
1431 event = pev->event;
1433 if (pev->point.function)
1434 event = pev->point.function;
1437 if (pev->group)
1438 group = pev->group;
1462 event = pev->event;
1463 group = pev->group;
1464 pev->event = tev->event;
1465 pev->group = tev->group;
1466 show_perf_probe_event(pev);
1468 pev->event = (char *)event;
1469 pev->group = (char *)group;
1492 static int convert_to_probe_trace_events(struct perf_probe_event *pev,
1501 ret = try_to_find_probe_trace_events(pev, tevs, max_tevs);
1511 tev->point.symbol = strdup(pev->point.function);
1516 tev->point.offset = pev->point.offset;
1517 tev->point.retprobe = pev->point.retprobe;
1518 tev->nargs = pev->nargs;
1527 if (pev->args[i].name) {
1528 tev->args[i].name = strdup(pev->args[i].name);
1534 tev->args[i].value = strdup(pev->args[i].var);
1539 if (pev->args[i].type) {
1540 tev->args[i].type = strdup(pev->args[i].type);
1568 struct perf_probe_event *pev;
1592 pkgs[i].pev = &pevs[i];
1594 ret = convert_to_probe_trace_events(pkgs[i].pev,
1603 ret = __add_probe_trace_events(pkgs[i].pev, pkgs[i].tevs,