Lines Matching full:pe

425 static bool match_pe_metric(struct pmu_event *pe, const char *metric)  in match_pe_metric()  argument
427 return match_metric(pe->metric_group, metric) || in match_pe_metric()
428 match_metric(pe->metric_name, metric); in match_pe_metric()
509 static int metricgroup__print_pmu_event(struct pmu_event *pe, in metricgroup__print_pmu_event() argument
518 g = pe->metric_group; in metricgroup__print_pmu_event()
519 if (!g && pe->metric_name) { in metricgroup__print_pmu_event()
520 if (pe->name) in metricgroup__print_pmu_event()
543 s = (char *)pe->metric_name; in metricgroup__print_pmu_event()
546 pe->metric_name, 8, "[", pe->desc) < 0) in metricgroup__print_pmu_event()
550 s, 8, "[", pe->metric_expr) < 0) in metricgroup__print_pmu_event()
584 typedef int (*metricgroup_sys_event_iter_fn)(struct pmu_event *pe, void *);
591 static int metricgroup__sys_event_iter(struct pmu_event *pe, void *data) in metricgroup__sys_event_iter() argument
596 if (!pe->metric_expr || !pe->compat) in metricgroup__sys_event_iter()
601 if (!pmu->id || strcmp(pmu->id, pe->compat)) in metricgroup__sys_event_iter()
604 return d->fn(pe, d->data); in metricgroup__sys_event_iter()
610 static int metricgroup__print_sys_event_iter(struct pmu_event *pe, void *data) in metricgroup__print_sys_event_iter() argument
614 return metricgroup__print_pmu_event(pe, d->metricgroups, d->filter, d->raw, in metricgroup__print_sys_event_iter()
622 struct pmu_event *pe; in metricgroup__print() local
639 pe = &map->table[i]; in metricgroup__print()
641 if (!pe->name && !pe->metric_group && !pe->metric_name) in metricgroup__print()
643 if (!pe->metric_expr) in metricgroup__print()
645 if (metricgroup__print_pmu_event(pe, metricgroups, filter, in metricgroup__print()
754 static bool metricgroup__has_constraint(struct pmu_event *pe) in metricgroup__has_constraint() argument
756 if (!pe->metric_constraint) in metricgroup__has_constraint()
759 if (!strcmp(pe->metric_constraint, "NO_NMI_WATCHDOG") && in metricgroup__has_constraint()
761 metricgroup___watchdog_constraint_hint(pe->metric_name, false); in metricgroup__has_constraint()
768 int __weak arch_get_runtimeparam(struct pmu_event *pe __maybe_unused) in arch_get_runtimeparam()
783 struct pmu_event *pe, in __add_metric() argument
803 m->metric_name = pe->metric_name; in __add_metric()
804 m->metric_expr = pe->metric_expr; in __add_metric()
805 m->metric_unit = pe->unit; in __add_metric()
807 m->has_constraint = metric_no_group || metricgroup__has_constraint(pe); in __add_metric()
817 parent->id = strdup(pe->metric_name); in __add_metric()
837 * from 'pe' object, so they never go away. We don't in __add_metric()
841 ref->metric_name = pe->metric_name; in __add_metric()
842 ref->metric_expr = pe->metric_expr; in __add_metric()
856 if (expr__find_other(pe->metric_expr, NULL, &m->pctx, runtime) < 0) { in __add_metric()
906 struct pmu_event *pe; in metricgroup__find_metric() local
909 map_for_each_event(pe, i, map) { in metricgroup__find_metric()
910 if (match_metric(pe->metric_name, metric)) in metricgroup__find_metric()
911 return pe; in metricgroup__find_metric()
962 struct pmu_event *pe,
987 struct pmu_event *pe; in __resolve_metric() local
989 pe = metricgroup__find_metric(cur->key, map); in __resolve_metric()
990 if (!pe) in __resolve_metric()
1002 ret = add_metric(metric_list, pe, metric_no_group, &m, parent, ids); in __resolve_metric()
1034 struct pmu_event *pe, in add_metric() argument
1043 pr_debug("metric expr %s for %s\n", pe->metric_expr, pe->metric_name); in add_metric()
1045 if (!strstr(pe->metric_expr, "?")) { in add_metric()
1046 ret = __add_metric(metric_list, pe, metric_no_group, 1, m, parent, ids); in add_metric()
1050 count = arch_get_runtimeparam(pe); in add_metric()
1058 ret = __add_metric(metric_list, pe, metric_no_group, j, m, parent, ids); in add_metric()
1064 static int metricgroup__add_metric_sys_event_iter(struct pmu_event *pe, in metricgroup__add_metric_sys_event_iter() argument
1071 if (!match_pe_metric(pe, d->metric)) in metricgroup__add_metric_sys_event_iter()
1074 ret = add_metric(d->metric_list, pe, d->metric_no_group, &m, NULL, d->ids); in metricgroup__add_metric_sys_event_iter()
1096 struct pmu_event *pe; in metricgroup__add_metric() local
1102 map_for_each_metric(pe, i, map, metric) { in metricgroup__add_metric()
1106 ret = add_metric(&list, pe, metric_no_group, &m, NULL, &ids); in metricgroup__add_metric()
1279 struct pmu_event *pe; in metricgroup__has_metric() local
1286 pe = &map->table[i]; in metricgroup__has_metric()
1288 if (!pe->name && !pe->metric_group && !pe->metric_name) in metricgroup__has_metric()
1290 if (!pe->metric_expr) in metricgroup__has_metric()
1292 if (match_metric(pe->metric_name, metric)) in metricgroup__has_metric()