| /tools/perf/util/ |
| A D | pmus.c | 336 bool use_core_pmus = !pmu || pmu->is_core; in perf_pmus__scan() 368 bool use_core_pmus = !pmu || pmu->is_core; in perf_pmus__scan_for_event() 407 bool use_core_pmus = !pmu || pmu->is_core; in perf_pmus__scan_matching_wildcard() 456 const char *last_pmu_name = (pmu && pmu->name) ? pmu->name : ""; in perf_pmus__scan_skip_duplicates() 549 if (as->pmu != bs->pmu) { in cmp_sevent() 587 s->pmu = info->pmu; in perf_pmus__print_pmu_events__callback() 621 while ((pmu = scan_fn(pmu)) != NULL) in perf_pmus__print_pmu_events() 635 while ((pmu = scan_fn(pmu)) != NULL) { in perf_pmus__print_pmu_events() 728 while ((pmu = scan_fn(pmu)) != NULL) { in perf_pmus__print_raw_pmu_events() 846 struct perf_pmu *pmu = evsel->pmu; in evsel__find_pmu() local [all …]
|
| A D | pmu.c | 585 if (pe->pmu && strcmp(pe->pmu, "default_core")) in perf_pmu__new_alias() 644 .pmu = pmu, in perf_pmu__new_alias() 1070 pmu_add_cpu_aliases_table(pmu, pmu->events_table); in pmu_add_cpu_aliases() 1216 pmu = zalloc(sizeof(*pmu)); in perf_pmu__lookup() 1217 if (!pmu) in perf_pmu__lookup() 1254 pmu->max_precise = pmu_max_precise(dirfd, pmu); in perf_pmu__lookup() 1277 struct perf_pmu *pmu = zalloc(sizeof(*pmu)); in perf_pmu__create_placeholder_core_pmu() local 1336 return pmu && pmu->auxtrace; in evsel__is_aux_event() 2012 nr = pmu->sysfs_aliases + pmu->sys_json_aliases; in perf_pmu__num_events() 2068 .pmu = pmu, in perf_pmu__for_each_event() [all …]
|
| A D | pmu.h | 208 const struct perf_pmu *pmu; member 226 void pmu_add_sys_aliases(struct perf_pmu *pmu); 231 int perf_pmu__config_terms(const struct perf_pmu *pmu, 251 size_t perf_pmu__num_events(struct perf_pmu *pmu); 261 bool perf_pmu__is_software(const struct perf_pmu *pmu); 275 void perf_pmu__arch_init(struct perf_pmu *pmu); 276 void pmu_add_cpu_aliases_table(struct perf_pmu *pmu, 285 int perf_pmu__caps_parse(struct perf_pmu *pmu); 290 void perf_pmu__warn_invalid_formats(struct perf_pmu *pmu); 304 void perf_pmu__delete(struct perf_pmu *pmu); [all …]
|
| A D | hwmon_pmu.c | 129 return pmu && pmu->type >= PERF_PMU_TYPE_HWMON_START && in perf_pmu__is_hwmon() 244 if (pmu->pmu.sysfs_aliases_loaded) in hwmon_pmu__read_events() 302 pmu->pmu.name, ent->d_name); in hwmon_pmu__read_events() 321 pr_debug2("hwmon_pmu: %s has no events\n", pmu->pmu.name); in hwmon_pmu__read_events() 331 pmu->pmu.name, hwmon_type_strs[key.type], key.num); in hwmon_pmu__read_events() 338 pmu->pmu.sysfs_aliases_loaded = true; in hwmon_pmu__read_events() 390 return &hwm->pmu; in hwmon_pmu__new() 395 struct hwmon_pmu *hwm = container_of(pmu, struct hwmon_pmu, pmu); in hwmon_pmu__exit() 461 struct hwmon_pmu *hwm = container_of(pmu, struct hwmon_pmu, pmu); in hwmon_pmu__for_each_event() 503 .pmu = pmu, in hwmon_pmu__for_each_event() [all …]
|
| A D | drm_pmu.h | 17 void drm_pmu__exit(struct perf_pmu *pmu); 18 bool drm_pmu__have_event(const struct perf_pmu *pmu, const char *name); 19 int drm_pmu__for_each_event(const struct perf_pmu *pmu, void *state, pmu_event_callback cb); 20 size_t drm_pmu__num_events(const struct perf_pmu *pmu); 21 int drm_pmu__config_terms(const struct perf_pmu *pmu, 25 int drm_pmu__check_alias(const struct perf_pmu *pmu, struct parse_events_terms *terms, 29 bool perf_pmu__is_drm(const struct perf_pmu *pmu);
|
| A D | drm_pmu.c | 40 struct perf_pmu pmu; member 63 return pmu && pmu->type >= PERF_PMU_TYPE_DRM_START && in perf_pmu__is_drm() 75 struct perf_pmu *pmu; in add_drm_pmu() local 123 if (!drm->pmu.cpus) { in add_drm_pmu() 254 struct drm_pmu *drm = container_of(pmu, struct drm_pmu, pmu); in drm_pmu__exit() 261 struct drm_pmu *drm = container_of(pmu, struct drm_pmu, pmu); in drm_pmu__have_event() 275 struct drm_pmu *drm = container_of(pmu, struct drm_pmu, pmu); in drm_pmu__for_each_event() 280 .pmu = pmu, in drm_pmu__for_each_event() 304 const struct drm_pmu *drm = container_of(pmu, struct drm_pmu, pmu); in drm_pmu__num_events() 351 struct drm_pmu *drm = container_of(pmu, struct drm_pmu, pmu); in drm_pmu__config_terms() [all …]
|
| A D | mem-events.c | 44 while ((pmu = perf_pmus__scan(pmu)) != NULL) { in perf_pmus__scan_mem() 45 if (pmu->mem_events) in perf_pmus__scan_mem() 46 return pmu; in perf_pmus__scan_mem() 75 while ((pmu = perf_pmus__scan_mem(pmu)) != NULL) in perf_pmu__mem_events_num_mem_pmus() 89 e = &pmu->mem_events[i]; in perf_pmu__mem_events_name() 103 e->name, pmu->name, pmu->name, in perf_pmu__mem_events_name() 120 e->name, pmu->name); in perf_pmu__mem_events_name() 129 struct perf_pmu *pmu = leader->pmu; in is_mem_loads_aux_event() local 132 if (!pmu || !pmu->mem_events) in is_mem_loads_aux_event() 226 while ((pmu = perf_pmus__scan_mem(pmu)) != NULL) { in perf_pmu__mem_events_init() [all …]
|
| A D | perf_event_attr_fprintf.c | 89 return pmu ? pmu->name : "PERF_TYPE_RAW"; in stringify_perf_type_id() 91 return pmu ? pmu->name : NULL; in stringify_perf_type_id() 196 if (pmu == NULL) { in __p_config_hw_id() 203 if (pmu == NULL) in __p_config_hw_id() 224 if (pmu == NULL) { in __p_config_hw_cache_id() 231 if (pmu == NULL) { in __p_config_hw_cache_id() 253 return __p_config_hw_id(buf, size, pmu, config); in __p_config_id() 257 return __p_config_hw_cache_id(buf, size, pmu, config); in __p_config_id() 275 #define p_type_id(val) __p_type_id(buf, BUF_SIZE, pmu, val) 291 struct perf_pmu *pmu = perf_pmus__find_by_type(attr->type); in perf_event_attr__fprintf() local [all …]
|
| A D | tp_pmu.h | 14 bool perf_pmu__is_tracepoint(const struct perf_pmu *pmu); 15 int tp_pmu__for_each_event(struct perf_pmu *pmu, void *state, pmu_event_callback cb); 16 size_t tp_pmu__num_events(struct perf_pmu *pmu); 17 bool tp_pmu__have_event(struct perf_pmu *pmu, const char *name);
|
| A D | tp_pmu.c | 98 bool perf_pmu__is_tracepoint(const struct perf_pmu *pmu) in perf_pmu__is_tracepoint() argument 100 return pmu->type == PERF_TYPE_TRACEPOINT; in perf_pmu__is_tracepoint() 106 const struct perf_pmu *pmu; member 118 .pmu = args->pmu, in for_each_event_cb() 119 .pmu_name = args->pmu->name, in for_each_event_cb() 159 int tp_pmu__for_each_event(struct perf_pmu *pmu, void *state, pmu_event_callback cb) in tp_pmu__for_each_event() argument 164 .pmu = pmu, in tp_pmu__for_each_event() 184 size_t tp_pmu__num_events(struct perf_pmu *pmu __maybe_unused) in tp_pmu__num_events() 192 bool tp_pmu__have_event(struct perf_pmu *pmu __maybe_unused, const char *name) in tp_pmu__have_event()
|
| A D | parse-events.c | 146 if (pmu && perf_cpu_map__is_empty(pmu->cpus)) in get_config_cpu() 232 if (pos->pmu->is_core && (!pmu || pmu->is_core)) { in __add_event() 239 if (pmu) { in __add_event() 256 if (!pmu) in __add_event() 259 if (pmu) { in __add_event() 297 evsel->core.requires_cpu = pmu ? pmu->is_uncore : false; in __add_event() 299 evsel->pmu = pmu; in __add_event() 1442 while ((pmu = perf_pmus__scan_core(pmu)) != NULL) { in parse_events_add_numeric() 1511 pmu->perf_event_attr_init_default(pmu, &attr); in parse_events_add_pmu() 1737 pmu = NULL; in parse_events_multi_pmu_add_or_add_pmu() [all …]
|
| /tools/perf/arch/arm/util/ |
| A D | pmu.c | 26 pmu->auxtrace = true; in perf_pmu__arch_init() 27 pmu->selectable = true; in perf_pmu__arch_init() 31 pmu->auxtrace = true; in perf_pmu__arch_init() 32 pmu->selectable = true; in perf_pmu__arch_init() 33 pmu->is_uncore = false; in perf_pmu__arch_init() 35 if (strstarts(pmu->name, "arm_spe_")) in perf_pmu__arch_init() 36 pmu->mem_events = perf_mem_events_arm; in perf_pmu__arch_init() 38 pmu->auxtrace = true; in perf_pmu__arch_init() 39 pmu->selectable = true; in perf_pmu__arch_init() 46 perf_cpu_map__put(pmu->cpus); in perf_pmu__arch_init() [all …]
|
| /tools/perf/arch/x86/util/ |
| A D | pmu.c | 238 pmu_snc = cha ? uncore_cha_snc(pmu) : uncore_imc_snc(pmu); in gnr_uncore_cha_imc_adjust_cpumask_for_snc() 268 perf_cpu_map__put(pmu->cpus); in gnr_uncore_cha_imc_adjust_cpumask_for_snc() 278 pmu->auxtrace = true; in perf_pmu__arch_init() 279 pmu->selectable = true; in perf_pmu__arch_init() 283 pmu->auxtrace = true; in perf_pmu__arch_init() 284 pmu->selectable = true; in perf_pmu__arch_init() 289 if (strcmp(pmu->name, "ibs_op")) in perf_pmu__arch_init() 292 pmu->mem_events = perf_mem_events_amd; in perf_pmu__arch_init() 294 if (!perf_pmu__caps_parse(pmu)) in perf_pmu__arch_init() 304 if (pmu->is_core) { in perf_pmu__arch_init() [all …]
|
| A D | evsel.c | 25 struct perf_pmu *pmu; in evsel__sys_has_perf_metrics() local 38 pmu = evsel__find_pmu(evsel); in evsel__sys_has_perf_metrics() 39 return pmu && pmu->type == PERF_TYPE_RAW; in evsel__sys_has_perf_metrics() 53 u64 pmu = evsel->core.attr.config >> PERF_PMU_TYPE_SHIFT; in arch_evsel__hw_name() local 62 if (!pmu) in arch_evsel__hw_name() 66 evsel->pmu ? evsel->pmu->name : "cpu", in arch_evsel__hw_name() 111 !(evsel->pmu && !strncmp(evsel->pmu->name, "ibs", 3))) in arch_evsel__open_strerror()
|
| /tools/perf/pmu-events/ |
| A D | Build | 1 pmu-events-y += pmu-events.o 2 JDIR = pmu-events/arch/$(SRCARCH) 5 JDIR_TEST = pmu-events/arch/test 8 JEVENTS_PY = pmu-events/jevents.py 9 METRIC_PY = pmu-events/metric.py 10 METRIC_TEST_PY = pmu-events/metric_test.py 11 EMPTY_PMU_EVENTS_C = pmu-events/empty-pmu-events.c 12 PMU_EVENTS_C = $(OUTPUT)pmu-events/pmu-events.c 14 TEST_EMPTY_PMU_EVENTS_C = $(OUTPUT)pmu-events/test-empty-pmu-events.c 15 EMPTY_PMU_EVENTS_TEST_LOG = $(OUTPUT)pmu-events/empty-pmu-events.log [all …]
|
| A D | empty-pmu-events.c | 402 .pmu = &big_c_string[pmu->pmu_name.offset], in pmu_events_table__for_each_event_pmu() 423 .pmu = &big_c_string[pmu->pmu_name.offset], in pmu_events_table__find_event_pmu() 425 int low = 0, high = pmu->num_entries - 1; in pmu_events_table__find_event_pmu() 469 if (pmu && !perf_pmu__name_wildcard_match(pmu, pmu_name)) in pmu_events_table__for_each_event() 490 if (pmu && !perf_pmu__name_wildcard_match(pmu, pmu_name)) in pmu_events_table__find_event() 522 .pmu = &big_c_string[pmu->pmu_name.offset], in pmu_metrics_table__for_each_metric_pmu() 543 .pmu = &big_c_string[pmu->pmu_name.offset], in pmu_metrics_table__find_metric_pmu() 545 int low = 0, high = pmu->num_entries - 1; in pmu_metrics_table__find_metric_pmu() 604 if (pmu && !perf_pmu__name_wildcard_match(pmu, pmu_name)) in pmu_metrics_table__find_metric() 673 if (pmu) { in map_for_pmu() [all …]
|
| A D | pmu-events.h | 54 const char *pmu; member 64 const char *pmu; member 94 struct perf_pmu *pmu, 105 struct perf_pmu *pmu, 110 struct perf_pmu *pmu); 122 struct perf_pmu *pmu, 127 const struct pmu_events_table *perf_pmu__find_events_table(struct perf_pmu *pmu);
|
| /tools/perf/tests/ |
| A D | pmu-events.c | 49 .pmu = "default_core", 318 if (!is_same(e1->pmu, e2->pmu)) { in compare_pmu_events() 320 e1->name, e1->pmu, e2->pmu); in compare_pmu_events() 532 pmu = zalloc(sizeof(*pmu)); in __test_core_pmu_event_aliases() 533 if (!pmu) in __test_core_pmu_event_aliases() 584 pmu = zalloc(sizeof(*pmu)); in __test_uncore_pmu_event_aliases() 585 if (!pmu) in __test_uncore_pmu_event_aliases() 595 if (!pmu->id) { in __test_uncore_pmu_event_aliases() 631 pmu->name, test_event.matching_pmu, pmu->name); in __test_uncore_pmu_event_aliases() 751 while ((pmu = perf_pmus__scan_core(pmu)) != NULL) { in test__aliases() [all …]
|
| A D | mmap-basic.c | 225 struct perf_pmu *pmu = NULL; in test_stat_user_read() local 236 while ((pmu = perf_pmus__scan_core(pmu)) != NULL) { in test_stat_user_read() 261 if (pmu->cpus != NULL) in test_stat_user_read() 268 pmu->name); in test_stat_user_read() 276 pmu->name); in test_stat_user_read() 284 pmu->name); in test_stat_user_read() 293 pmu->name); in test_stat_user_read() 312 pmu->name, pc->cap_user_rdpmc); in test_stat_user_read() 319 pmu->name, pc->pmc_width); in test_stat_user_read() 347 pmu->name, end, start, last); in test_stat_user_read() [all …]
|
| /tools/perf/bench/ |
| A D | pmu-scan.c | 44 struct perf_pmu *pmu = NULL; in save_result() local 48 while ((pmu = perf_pmus__scan(pmu)) != NULL) { in save_result() 56 r->name = strdup(pmu->name); in save_result() 57 r->is_core = pmu->is_core; in save_result() 58 r->nr_caps = pmu->nr_caps; in save_result() 63 list_for_each(list, &pmu->format) in save_result() 78 struct perf_pmu *pmu; in check_result() local 87 pmu = perf_pmus__find(r->name); in check_result() 88 if (pmu == NULL) { in check_result() 95 pmu->name, r->nr_caps, pmu->nr_caps); in check_result() [all …]
|
| /tools/perf/arch/s390/util/ |
| A D | pmu.c | 16 void perf_pmu__arch_init(struct perf_pmu *pmu) in perf_pmu__arch_init() argument 18 if (!strcmp(pmu->name, S390_PMUPAI_CRYPTO) || in perf_pmu__arch_init() 19 !strcmp(pmu->name, S390_PMUPAI_EXT) || in perf_pmu__arch_init() 20 !strcmp(pmu->name, S390_PMUCPUM_CF)) in perf_pmu__arch_init() 21 pmu->selectable = true; in perf_pmu__arch_init()
|
| /tools/perf/ |
| A D | .gitignore | 39 pmu-events/pmu-events.c 40 pmu-events/jevents 41 pmu-events/metric_test.log 42 pmu-events/empty-pmu-events.log 43 pmu-events/test-empty-pmu-events.c
|
| /tools/perf/tests/shell/ |
| A D | stat+event_uniquifying.sh | 13 pmu="uncore_imc" 48 if ! ${perf_tool} list pmu | grep -q ${pmu}; then 49 echo "Target does not support PMU ${pmu} [Skipped]" 58 done < <(${perf_tool} list -v ${event} | grep ${pmu})
|
| /tools/perf/arch/x86/tests/ |
| A D | topdown.c | 21 snprintf(buf, sizeof(buf), "%s/%s/", info->pmu->name, info->name); in event_cb() 30 bool p_core_pmu = evsel->pmu->type == PERF_TYPE_RAW; in event_cb() 64 struct perf_pmu *pmu = NULL; in test__x86_topdown() local 69 while ((pmu = perf_pmus__scan_core(pmu)) != NULL) { in test__x86_topdown() 70 if (perf_pmu__for_each_event(pmu, /*skip_duplicate_pmus=*/false, &ret, event_cb)) in test__x86_topdown()
|
| /tools/perf/arch/powerpc/util/ |
| A D | pmu.c | 8 void perf_pmu__arch_init(struct perf_pmu *pmu) in perf_pmu__arch_init() argument 10 if (pmu->is_core) in perf_pmu__arch_init() 11 pmu->mem_events = perf_mem_events_power; in perf_pmu__arch_init()
|