Home
last modified time | relevance | path

Searched refs:pmu (Results 1 – 25 of 60) sorted by relevance

123

/tools/perf/util/
Dparse-events-hybrid.c43 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 …]
Dpmu.c337 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 …]
Devlist-hybrid.c22 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 …]
Dpmu.h88 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 …]
Dpmu-hybrid.h13 #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()
Dpmu-hybrid.c53 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()
DBuild72 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
Dparse-events.c368 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 …]
Denv.c329 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()
Dmem-events.c123 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()
Dpfm.c36 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()
Dcputopo.c357 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/
DBuild5 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)
DREADME9 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'.
Dpmu-events.h20 const char *pmu; member
/tools/perf/arch/arm64/util/
Dpmu.c8 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()
Dheader.c80 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()
DBuild4 perf-y += pmu.o
10 perf-$(CONFIG_AUXTRACE) += ../../arm/util/pmu.o \
/tools/perf/arch/arm/util/
Dpmu.c16 *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()
DBuild8 perf-$(CONFIG_AUXTRACE) += pmu.o auxtrace.o cs-etm.o
/tools/perf/tests/
Dpmu-events.c37 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/
Dheader.c11 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/
Dpmu.c29 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.gitignore38 pmu-events/pmu-events.c
39 pmu-events/jevents
/tools/perf/Documentation/
Dintel-hybrid.txt38 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.

123