Lines Matching refs:alias
140 static int perf_pmu__parse_scale(struct perf_pmu_alias *alias, char *dir, char *name) in perf_pmu__parse_scale() argument
166 ret = convert_scale(scale, NULL, &alias->scale); in perf_pmu__parse_scale()
172 static int perf_pmu__parse_unit(struct perf_pmu_alias *alias, char *dir, char *name) in perf_pmu__parse_unit() argument
184 sret = read(fd, alias->unit, UNIT_MAX_LEN); in perf_pmu__parse_unit()
190 if (alias->unit[sret - 1] == '\n') in perf_pmu__parse_unit()
191 alias->unit[sret - 1] = '\0'; in perf_pmu__parse_unit()
193 alias->unit[sret] = '\0'; in perf_pmu__parse_unit()
198 alias->unit[0] = '\0'; in perf_pmu__parse_unit()
203 perf_pmu__parse_per_pkg(struct perf_pmu_alias *alias, char *dir, char *name) in perf_pmu__parse_per_pkg() argument
216 alias->per_pkg = true; in perf_pmu__parse_per_pkg()
220 static int perf_pmu__parse_snapshot(struct perf_pmu_alias *alias, in perf_pmu__parse_snapshot() argument
232 alias->snapshot = true; in perf_pmu__parse_snapshot()
313 struct perf_pmu_alias *alias; in __perf_pmu__new_alias() local
318 alias = malloc(sizeof(*alias)); in __perf_pmu__new_alias()
319 if (!alias) in __perf_pmu__new_alias()
322 INIT_LIST_HEAD(&alias->terms); in __perf_pmu__new_alias()
323 alias->scale = 1.0; in __perf_pmu__new_alias()
324 alias->unit[0] = '\0'; in __perf_pmu__new_alias()
325 alias->per_pkg = false; in __perf_pmu__new_alias()
326 alias->snapshot = false; in __perf_pmu__new_alias()
328 ret = parse_events_terms(&alias->terms, val); in __perf_pmu__new_alias()
331 free(alias); in __perf_pmu__new_alias()
344 list_for_each_entry(term, &alias->terms, list) { in __perf_pmu__new_alias()
356 alias->name = strdup(name); in __perf_pmu__new_alias()
361 perf_pmu__parse_unit(alias, dir, name); in __perf_pmu__new_alias()
362 perf_pmu__parse_scale(alias, dir, name); in __perf_pmu__new_alias()
363 perf_pmu__parse_per_pkg(alias, dir, name); in __perf_pmu__new_alias()
364 perf_pmu__parse_snapshot(alias, dir, name); in __perf_pmu__new_alias()
367 alias->metric_expr = metric_expr ? strdup(metric_expr) : NULL; in __perf_pmu__new_alias()
368 alias->metric_name = metric_name ? strdup(metric_name): NULL; in __perf_pmu__new_alias()
369 alias->desc = desc ? strdup(desc) : NULL; in __perf_pmu__new_alias()
370 alias->long_desc = long_desc ? strdup(long_desc) : in __perf_pmu__new_alias()
372 alias->topic = topic ? strdup(topic) : NULL; in __perf_pmu__new_alias()
374 if (convert_scale(unit, &unit, &alias->scale) < 0) in __perf_pmu__new_alias()
376 snprintf(alias->unit, sizeof(alias->unit), "%s", unit); in __perf_pmu__new_alias()
378 alias->per_pkg = perpkg && sscanf(perpkg, "%d", &num) == 1 && num == 1; in __perf_pmu__new_alias()
379 alias->str = strdup(newval); in __perf_pmu__new_alias()
381 if (!perf_pmu_merge_alias(alias, list)) in __perf_pmu__new_alias()
382 list_add_tail(&alias->list, list); in __perf_pmu__new_alias()
491 static int pmu_alias_terms(struct perf_pmu_alias *alias, in pmu_alias_terms() argument
498 list_for_each_entry(term, &alias->terms, list) { in pmu_alias_terms()
1139 struct perf_pmu_alias *alias; in pmu_find_alias() local
1159 list_for_each_entry(alias, &pmu->aliases, list) { in pmu_find_alias()
1160 if (!strcasecmp(alias->name, name)) in pmu_find_alias()
1161 return alias; in pmu_find_alias()
1167 static int check_info_data(struct perf_pmu_alias *alias, in check_info_data() argument
1175 if ((info->unit && alias->unit[0]) || in check_info_data()
1176 (info->scale && alias->scale) || in check_info_data()
1177 (info->snapshot && alias->snapshot)) in check_info_data()
1180 if (alias->unit[0]) in check_info_data()
1181 info->unit = alias->unit; in check_info_data()
1183 if (alias->scale) in check_info_data()
1184 info->scale = alias->scale; in check_info_data()
1186 if (alias->snapshot) in check_info_data()
1187 info->snapshot = alias->snapshot; in check_info_data()
1200 struct perf_pmu_alias *alias; in perf_pmu__check_alias() local
1216 alias = pmu_find_alias(pmu, term); in perf_pmu__check_alias()
1217 if (!alias) in perf_pmu__check_alias()
1219 ret = pmu_alias_terms(alias, &term->list); in perf_pmu__check_alias()
1223 ret = check_info_data(alias, info); in perf_pmu__check_alias()
1227 if (alias->per_pkg) in perf_pmu__check_alias()
1229 info->metric_expr = alias->metric_expr; in perf_pmu__check_alias()
1230 info->metric_name = alias->metric_name; in perf_pmu__check_alias()
1287 struct perf_pmu_alias *alias) in format_alias() argument
1290 int used = snprintf(buf, len, "%s/%s", pmu->name, alias->name); in format_alias()
1292 list_for_each_entry(term, &alias->terms, list) { in format_alias()
1313 struct perf_pmu_alias *alias) in format_alias_or() argument
1315 snprintf(buf, len, "%s OR %s/%s/", alias->name, pmu->name, alias->name); in format_alias_or()
1371 struct perf_pmu_alias *alias; in print_pmu_events() local
1383 list_for_each_entry(alias, &pmu->aliases, list) in print_pmu_events()
1394 list_for_each_entry(alias, &pmu->aliases, list) { in print_pmu_events()
1395 char *name = alias->desc ? alias->name : in print_pmu_events()
1396 format_alias(buf, sizeof(buf), pmu, alias); in print_pmu_events()
1401 (!is_cpu && strglobmatch_nocase(alias->name, in print_pmu_events()
1403 (alias->topic && in print_pmu_events()
1404 strglobmatch_nocase(alias->topic, event_glob)))) in print_pmu_events()
1407 if (is_cpu && !name_only && !alias->desc) in print_pmu_events()
1408 name = format_alias_or(buf, sizeof(buf), pmu, alias); in print_pmu_events()
1411 if (is_cpu && !name_only && !alias->desc) in print_pmu_events()
1414 pmu, alias); in print_pmu_events()
1419 aliases[j].desc = long_desc ? alias->long_desc : in print_pmu_events()
1420 alias->desc; in print_pmu_events()
1421 aliases[j].topic = alias->topic; in print_pmu_events()
1422 aliases[j].str = alias->str; in print_pmu_events()
1424 aliases[j].metric_expr = alias->metric_expr; in print_pmu_events()
1425 aliases[j].metric_name = alias->metric_name; in print_pmu_events()
1489 struct perf_pmu_alias *alias; in pmu_have_event() local
1495 list_for_each_entry(alias, &pmu->aliases, list) in pmu_have_event()
1496 if (!strcmp(alias->name, name)) in pmu_have_event()