/tools/perf/util/ |
D | parse-events-hybrid.c | 43 struct perf_pmu *pmu) in create_event_hybrid() argument 49 config_hybrid_attr(attr, config_type, pmu->type); in create_event_hybrid() 51 pmu, config_terms); in create_event_hybrid() 53 evsel->pmu_name = strdup(pmu->name); in create_event_hybrid() 63 struct perf_pmu *pmu) in pmu_cmp() argument 68 return strcmp(parse_state->hybrid_pmu_name, pmu->name); in pmu_cmp() 75 struct perf_pmu *pmu; in add_hw_hybrid() local 78 perf_pmu__for_each_hybrid_pmu(pmu) { in add_hw_hybrid() 81 if (pmu_cmp(parse_state, pmu)) in add_hw_hybrid() 87 &terms, pmu); in add_hw_hybrid() [all …]
|
D | pmu.c | 337 pmu_name = (char *)pe->pmu; in __perf_pmu__new_alias() 693 static char *perf_pmu__getcpuid(struct perf_pmu *pmu) in perf_pmu__getcpuid() argument 702 cpuid = get_cpuid_str(pmu); in perf_pmu__getcpuid() 713 struct pmu_events_map *perf_pmu__find_map(struct perf_pmu *pmu) in perf_pmu__find_map() argument 716 char *cpuid = perf_pmu__getcpuid(pmu); in perf_pmu__find_map() 826 void pmu_add_cpu_aliases_map(struct list_head *head, struct perf_pmu *pmu, in pmu_add_cpu_aliases_map() argument 830 const char *name = pmu->name; in pmu_add_cpu_aliases_map() 838 const char *pname = pe->pmu ? pe->pmu : cpu_name; in pmu_add_cpu_aliases_map() 846 if (pmu->is_uncore && pmu_uncore_alias_match(pname, name)) in pmu_add_cpu_aliases_map() 860 static void pmu_add_cpu_aliases(struct list_head *head, struct perf_pmu *pmu) in pmu_add_cpu_aliases() argument [all …]
|
D | evlist-hybrid.c | 22 struct perf_pmu *pmu; in evlist__add_default_hybrid() local 26 perf_pmu__for_each_hybrid_pmu(pmu) { in evlist__add_default_hybrid() 28 ((__u64)pmu->type << PERF_PMU_TYPE_SHIFT); in evlist__add_default_hybrid() 34 cpus = perf_cpu_map__get(pmu->cpus); in evlist__add_default_hybrid() 37 evsel->pmu_name = strdup(pmu->name); in evlist__add_default_hybrid() 94 struct perf_pmu *pmu; in evlist__fix_hybrid_cpus() local 116 pmu = perf_pmu__find_hybrid_pmu(evsel->pmu_name); in evlist__fix_hybrid_cpus() 117 if (!pmu) in evlist__fix_hybrid_cpus() 120 ret = perf_pmu__cpus_match(pmu, cpus, &matched_cpus, in evlist__fix_hybrid_cpus() 129 matched_cpus->nr < pmu->cpus->nr)) { in evlist__fix_hybrid_cpus() [all …]
|
D | pmu.h | 88 void pmu_add_sys_aliases(struct list_head *head, struct perf_pmu *pmu); 89 int perf_pmu__config(struct perf_pmu *pmu, struct perf_event_attr *attr, 98 int perf_pmu__check_alias(struct perf_pmu *pmu, struct list_head *head_terms, 100 struct list_head *perf_pmu__alias(struct perf_pmu *pmu, 110 struct perf_pmu *perf_pmu__scan(struct perf_pmu *pmu); 118 int perf_pmu__scan_file(struct perf_pmu *pmu, const char *name, const char *fmt, ...) __scanf(3, 4); 122 struct perf_event_attr *perf_pmu__get_default_config(struct perf_pmu *pmu); 123 void pmu_add_cpu_aliases_map(struct list_head *head, struct perf_pmu *pmu, 126 struct pmu_events_map *perf_pmu__find_map(struct perf_pmu *pmu); 135 int perf_pmu__caps_parse(struct perf_pmu *pmu); [all …]
|
D | pmu-hybrid.h | 13 #define perf_pmu__for_each_hybrid_pmu(pmu) \ argument 14 list_for_each_entry(pmu, &perf_pmu__hybrid_pmus, hybrid_list) 24 struct perf_pmu *pmu; in perf_pmu__hybrid_pmu_num() local 27 perf_pmu__for_each_hybrid_pmu(pmu) in perf_pmu__hybrid_pmu_num()
|
D | pmu-hybrid.c | 53 struct perf_pmu *pmu; in perf_pmu__find_hybrid_pmu() local 58 perf_pmu__for_each_hybrid_pmu(pmu) { in perf_pmu__find_hybrid_pmu() 59 if (!strcmp(name, pmu->name)) in perf_pmu__find_hybrid_pmu() 60 return pmu; in perf_pmu__find_hybrid_pmu()
|
D | Build | 72 perf-y += pmu.o 73 perf-y += pmu-flex.o 74 perf-y += pmu-bison.o 75 perf-y += pmu-hybrid.o 235 $(OUTPUT)util/pmu-flex.c $(OUTPUT)util/pmu-flex.h: util/pmu.l $(OUTPUT)util/pmu-bison.c 237 $(Q)$(call echo-cmd,flex)$(FLEX) -o $(OUTPUT)util/pmu-flex.c \ 238 --header-file=$(OUTPUT)util/pmu-flex.h $(PARSER_DEBUG_FLEX) $< 240 $(OUTPUT)util/pmu-bison.c $(OUTPUT)util/pmu-bison.h: util/pmu.y 243 -o $(OUTPUT)util/pmu-bison.c -p perf_pmu_ 277 $(OUTPUT)util/pmu.o: $(OUTPUT)util/pmu-flex.c $(OUTPUT)util/pmu-bison.c
|
D | parse-events.c | 368 char *name, struct perf_pmu *pmu, in __add_event() argument 373 struct perf_cpu_map *cpus = pmu ? perf_cpu_map__get(pmu->cpus) : in __add_event() 376 if (pmu) in __add_event() 377 perf_pmu__warn_invalid_formats(pmu); in __add_event() 379 if (pmu && attr->type == PERF_TYPE_RAW) in __add_event() 380 perf_pmu__warn_invalid_config(pmu, attr->config, name); in __add_event() 394 evsel->core.system_wide = pmu ? pmu->is_uncore : false; in __add_event() 410 char *name, struct perf_pmu *pmu) in parse_events__add_event() argument 412 return __add_event(NULL, &idx, attr, false, name, pmu, NULL, false, in parse_events__add_event() 1396 static int get_config_chgs(struct perf_pmu *pmu, struct list_head *head_config, in get_config_chgs() argument [all …]
|
D | env.c | 329 struct perf_pmu *pmu = NULL; in perf_env__read_pmu_mappings() local 333 while ((pmu = perf_pmu__scan(pmu))) { in perf_env__read_pmu_mappings() 334 if (!pmu->name) in perf_env__read_pmu_mappings() 347 while ((pmu = perf_pmu__scan(pmu))) { in perf_env__read_pmu_mappings() 348 if (!pmu->name) in perf_env__read_pmu_mappings() 350 if (strbuf_addf(&sb, "%u:%s", pmu->type, pmu->name) < 0) in perf_env__read_pmu_mappings()
|
D | mem-events.c | 123 struct perf_pmu *pmu; in perf_mem_events__init() local 138 perf_pmu__for_each_hybrid_pmu(pmu) { in perf_mem_events__init() 140 e->sysfs_name, pmu->name); in perf_mem_events__init() 172 struct perf_pmu *pmu; in perf_mem_events__print_unsupport_hybrid() local 174 perf_pmu__for_each_hybrid_pmu(pmu) { in perf_mem_events__print_unsupport_hybrid() 176 pmu->name); in perf_mem_events__print_unsupport_hybrid() 179 perf_mem_events__name(idx, pmu->name)); in perf_mem_events__print_unsupport_hybrid() 189 struct perf_pmu *pmu; in perf_mem_events__record_args() local 212 perf_pmu__for_each_hybrid_pmu(pmu) { in perf_mem_events__record_args() 214 s = perf_mem_events__name(j, pmu->name); in perf_mem_events__record_args()
|
D | pfm.c | 36 struct perf_pmu *pmu; in parse_libpfm_events_option() local 88 pmu = perf_pmu__find_by_type((unsigned int)attr.type); in parse_libpfm_events_option() 90 &attr, q, pmu); in parse_libpfm_events_option() 266 if (pinfo.pmu == PFM_PMU_PERF_EVENT) in print_libpfm_events()
|
D | cputopo.c | 357 struct perf_pmu *pmu) in load_hybrid_node() argument 365 node->pmu_name = strdup(pmu->name); in load_hybrid_node() 373 snprintf(path, PATH_MAX, CPUS_TEMPLATE_CPU, sysfs, pmu->name); in load_hybrid_node() 399 struct perf_pmu *pmu; in hybrid_topology__new() local 412 perf_pmu__for_each_hybrid_pmu(pmu) { in hybrid_topology__new() 413 if (load_hybrid_node(&tp->nodes[i], pmu)) { in hybrid_topology__new()
|
/tools/perf/pmu-events/ |
D | Build | 5 pmu-events-y += pmu-events.o 6 JDIR = pmu-events/arch/$(SRCARCH) 9 JDIR_TEST = pmu-events/arch/test 14 # Locate/process JSON files in pmu-events/arch/ 15 # directory and create tables in pmu-events.c. 17 $(OUTPUT)pmu-events/pmu-events.c: $(JSON) $(JSON_TEST) $(JEVENTS) 18 $(Q)$(call echo-cmd,gen)$(JEVENTS) $(SRCARCH) pmu-events/arch $(OUTPUT)pmu-events/pmu-events.c $(V)
|
D | README | 9 tree tools/perf/pmu-events/arch/foo. 33 $ ls tools/perf/pmu-events/arch/x86/silvermont 42 'pmu-events.c', which encodes the two sets of tables: 75 After the 'pmu-events.c' is generated, it is compiled and the resulting 76 'pmu-events.o' is added to 'libperf.a' which is then used to build perf. 83 2. The 'pmu-events.h' has an extern declaration for the mapping table 84 and the generated 'pmu-events.c' defines this table. 146 $ grep silvermont tools/perf/pmu-events/arch/x86/mapfile.csv 152 in the directory 'tools/perf/pmu-events/arch/x86/silvermont'.
|
D | pmu-events.h | 20 const char *pmu; member
|
/tools/perf/arch/arm64/util/ |
D | pmu.c | 8 struct perf_pmu *pmu = NULL; in pmu_events_map__find() local 10 while ((pmu = perf_pmu__scan(pmu))) { in pmu_events_map__find() 11 if (!is_pmu_core(pmu->name)) in pmu_events_map__find() 18 if (pmu->cpus->nr != cpu__max_cpu()) in pmu_events_map__find() 21 return perf_pmu__find_map(pmu); in pmu_events_map__find()
|
D | header.c | 80 char *get_cpuid_str(struct perf_pmu *pmu) in get_cpuid_str() argument 85 if (!pmu || !pmu->cpus) in get_cpuid_str() 93 res = _get_cpuid(buf, MIDR_SIZE, pmu->cpus); in get_cpuid_str() 95 pr_err("failed to get cpuid string for PMU %s\n", pmu->name); in get_cpuid_str()
|
D | Build | 4 perf-y += pmu.o 10 perf-$(CONFIG_AUXTRACE) += ../../arm/util/pmu.o \
|
/tools/perf/arch/arm/util/ |
D | pmu.c | 16 *perf_pmu__get_default_config(struct perf_pmu *pmu __maybe_unused) in perf_pmu__get_default_config() 19 if (!strcmp(pmu->name, CORESIGHT_ETM_PMU_NAME)) { in perf_pmu__get_default_config() 21 pmu->selectable = true; in perf_pmu__get_default_config() 23 } else if (strstarts(pmu->name, ARM_SPE_PMU_NAME)) { in perf_pmu__get_default_config() 24 return arm_spe_pmu_default_config(pmu); in perf_pmu__get_default_config()
|
D | Build | 8 perf-$(CONFIG_AUXTRACE) += pmu.o auxtrace.o cs-etm.o
|
/tools/perf/tests/ |
D | pmu-events.c | 37 struct perf_pmu pmu; member 125 .pmu = "hisi_sccl,ddrc", 139 .pmu = "uncore_cbox", 153 .pmu = "hisi_sccl,l3c", 167 .pmu = "uncore_imc_free_running", 181 .pmu = "uncore_imc", 203 .pmu = "uncore_sys_ddr_pmu", 306 if (!is_same(e1->pmu, e2->pmu)) { in compare_pmu_events() 308 e1->name, e1->pmu, e2->pmu); in compare_pmu_events() 366 if (!is_same(alias->pmu_name, test_event->event.pmu)) { in compare_alias_to_test_event() [all …]
|
/tools/perf/arch/nds32/util/ |
D | header.c | 11 char *get_cpuid_str(struct perf_pmu *pmu) in get_cpuid_str() argument 18 if (!sysfs || !pmu || !pmu->cpus) in get_cpuid_str() 25 cpus = cpu_map__get(pmu->cpus); in get_cpuid_str()
|
/tools/perf/arch/x86/util/ |
D | pmu.c | 29 struct perf_event_attr *perf_pmu__get_default_config(struct perf_pmu *pmu __maybe_unused) in perf_pmu__get_default_config() 32 if (!strcmp(pmu->name, INTEL_PT_PMU_NAME)) in perf_pmu__get_default_config() 33 return intel_pt_pmu_default_config(pmu); in perf_pmu__get_default_config() 34 if (!strcmp(pmu->name, INTEL_BTS_PMU_NAME)) in perf_pmu__get_default_config() 35 pmu->selectable = true; in perf_pmu__get_default_config()
|
/tools/perf/ |
D | .gitignore | 38 pmu-events/pmu-events.c 39 pmu-events/jevents
|
/tools/perf/Documentation/ |
D | intel-hybrid.txt | 38 The 'Unit: xxx' is added to brief description to indicate which pmu 39 the event is belong to. Same event name but with different pmu can 42 Enable hybrid event with a specific pmu 66 can't carry pmu information. So now this type is extended to be PMU aware 90 When enabling a hardware event without specified pmu, such as, 119 0x4 in 0x400000000 indicates it's cpu_core pmu. 120 0x8 in 0x800000000 indicates it's cpu_atom pmu (atom pmu type id is random). 202 hybrid event with a specific pmu.
|