Lines Matching refs:m
312 struct metric *m; in metricgroup__setup_events() local
320 list_for_each_entry (m, groups, nd) { in metricgroup__setup_events()
325 hashmap__size(&m->pctx.ids) + 1); in metricgroup__setup_events()
330 evsel = find_evsel_group(perf_evlist, &m->pctx, in metricgroup__setup_events()
332 m->has_constraint, metric_events, in metricgroup__setup_events()
336 m->metric_name, m->metric_expr); in metricgroup__setup_events()
359 if (m->metric_refs_cnt) { in metricgroup__setup_events()
362 metric_refs = zalloc(sizeof(struct metric_ref) * (m->metric_refs_cnt + 1)); in metricgroup__setup_events()
371 list_for_each_entry(ref, &m->metric_refs, list) { in metricgroup__setup_events()
385 expr->metric_expr = m->metric_expr; in metricgroup__setup_events()
386 expr->metric_name = m->metric_name; in metricgroup__setup_events()
387 expr->metric_unit = m->metric_unit; in metricgroup__setup_events()
389 expr->runtime = m->runtime; in metricgroup__setup_events()
407 char *m; in match_metric() local
416 m = strcasestr(n, list); in match_metric()
417 if (!m) in match_metric()
419 if ((m == n || m[-1] == ';' || m[-1] == ' ') && in match_metric()
420 (m[len] == 0 || m[len] == ';')) in match_metric()
791 struct metric *m; in __add_metric() local
798 m = zalloc(sizeof(*m)); in __add_metric()
799 if (!m) in __add_metric()
802 expr__ctx_init(&m->pctx); in __add_metric()
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()
806 m->runtime = runtime; in __add_metric()
807 m->has_constraint = metric_no_group || metricgroup__has_constraint(pe); in __add_metric()
808 INIT_LIST_HEAD(&m->metric_refs); in __add_metric()
809 m->metric_refs_cnt = 0; in __add_metric()
813 free(m); in __add_metric()
819 free(m); in __add_metric()
822 *mp = m; in __add_metric()
829 m = *mp; in __add_metric()
844 list_add(&ref->list, &m->metric_refs); in __add_metric()
845 m->metric_refs_cnt++; in __add_metric()
850 m->pctx.parent = parent; in __add_metric()
856 if (expr__find_other(pe->metric_expr, NULL, &m->pctx, runtime) < 0) { in __add_metric()
857 if (m->metric_refs_cnt == 0) { in __add_metric()
858 expr__ctx_clear(&m->pctx); in __add_metric()
859 free(m); in __add_metric()
869 if (m->metric_refs_cnt) in __add_metric()
873 list_add(&m->nd, metric_list); in __add_metric()
881 if (hashmap__size(&m->pctx.ids) <= in __add_metric()
885 list_add(&m->nd, pos); in __add_metric()
917 static int recursion_check(struct metric *m, const char *id, struct expr_id **parent, in recursion_check() argument
930 ret = expr__get_id(&m->pctx, id, &data); in recursion_check()
968 static int __resolve_metric(struct metric *m, in __resolve_metric() argument
985 hashmap__for_each_entry((&m->pctx.ids), cur, bkt) { in __resolve_metric()
993 ret = recursion_check(m, cur->key, &parent, ids); in __resolve_metric()
999 expr__del_id(&m->pctx, cur->key); in __resolve_metric()
1002 ret = add_metric(metric_list, pe, metric_no_group, &m, parent, ids); in __resolve_metric()
1022 struct metric *m; in resolve_metric() local
1025 list_for_each_entry(m, metric_list, nd) { in resolve_metric()
1026 err = __resolve_metric(m, metric_no_group, metric_list, map, ids); in resolve_metric()
1036 struct metric **m, in add_metric() argument
1040 struct metric *orig = *m; in add_metric()
1046 ret = __add_metric(metric_list, pe, metric_no_group, 1, m, parent, ids); in add_metric()
1057 for (j = 0; j < count && !ret; j++, *m = orig) in add_metric()
1058 ret = __add_metric(metric_list, pe, metric_no_group, j, m, parent, ids); in add_metric()
1068 struct metric *m = NULL; in metricgroup__add_metric_sys_event_iter() local
1074 ret = add_metric(d->metric_list, pe, d->metric_no_group, &m, NULL, d->ids); in metricgroup__add_metric_sys_event_iter()
1097 struct metric *m; in metricgroup__add_metric() local
1104 m = NULL; in metricgroup__add_metric()
1106 ret = add_metric(&list, pe, metric_no_group, &m, NULL, &ids); in metricgroup__add_metric()
1141 list_for_each_entry(m, &list, nd) { in metricgroup__add_metric()
1145 if (m->has_constraint) { in metricgroup__add_metric()
1147 &m->pctx); in metricgroup__add_metric()
1150 &m->pctx); in metricgroup__add_metric()
1209 struct metric *m, *tmp; in metricgroup__free_metrics() local
1211 list_for_each_entry_safe (m, tmp, metric_list, nd) { in metricgroup__free_metrics()
1212 metric__free_refs(m); in metricgroup__free_metrics()
1213 expr__ctx_clear(&m->pctx); in metricgroup__free_metrics()
1214 list_del_init(&m->nd); in metricgroup__free_metrics()
1215 free(m); in metricgroup__free_metrics()