Lines Matching full:pmu
12 #include "pmu-events/pmu-events.h"
41 /** @name: The name of the PMU such as "cpu". */
44 * @alias_name: Optional alternate name for the PMU determined in
49 * @id: Optional PMU identifier read from
59 * @selectable: Can the PMU name be selected as if it were an event?
63 * @is_core: Is the PMU the core CPU PMU? Determined by the name being
66 * PMU on systems like Intel hybrid.
70 * @is_uncore: Is the PMU not within the CPU core? Determined by the
80 * @formats_checked: Only check PMU's formats are valid for
90 * PMU, read from
96 * initialize PMU specific parts of the perf_event_attr.
98 void (*perf_event_attr_init_default)(const struct perf_pmu *pmu,
115 * from json events in pmu-events.c.
119 * @events_table: The events table for json events in pmu-events.c.
129 * @cpu_aliases_added: Have all json events table entries for the PMU
145 /** @list: Element on pmus list in pmu.c. */
149 * @config_masks: Derived from the PMU's format data, bits that are
155 * @missing_features: Features to inhibit when events on this PMU are
167 /** @perf_pmu__fake: A special global PMU used for testing. */
178 const struct perf_pmu *pmu; member
193 void pmu_add_sys_aliases(struct perf_pmu *pmu);
194 int perf_pmu__config(struct perf_pmu *pmu, struct perf_event_attr *attr,
197 int perf_pmu__config_terms(const struct perf_pmu *pmu,
201 __u64 perf_pmu__format_bits(struct perf_pmu *pmu, const char *name);
202 int perf_pmu__format_type(struct perf_pmu *pmu, const char *name);
203 int perf_pmu__check_alias(struct perf_pmu *pmu, struct parse_events_terms *head_terms,
206 int perf_pmu__find_event(struct perf_pmu *pmu, const char *event, void *state, pmu_event_callback c…
208 int perf_pmu__format_parse(struct perf_pmu *pmu, int dirfd, bool eager_load);
210 bool perf_pmu__has_format(const struct perf_pmu *pmu, const char *name);
213 bool perf_pmu__supports_legacy_cache(const struct perf_pmu *pmu);
214 bool perf_pmu__auto_merge_stats(const struct perf_pmu *pmu);
215 bool perf_pmu__have_event(struct perf_pmu *pmu, const char *name);
216 size_t perf_pmu__num_events(struct perf_pmu *pmu);
217 int perf_pmu__for_each_event(struct perf_pmu *pmu, bool skip_duplicate_pmus,
219 bool pmu__name_match(const struct perf_pmu *pmu, const char *pmu_name);
222 * perf_pmu_is_software - is the PMU a software PMU as in it uses the
225 bool perf_pmu__is_software(const struct perf_pmu *pmu);
227 FILE *perf_pmu__open_file(const struct perf_pmu *pmu, const char *name);
228 FILE *perf_pmu__open_file_at(const struct perf_pmu *pmu, int dirfd, const char *name);
230 int perf_pmu__scan_file(const struct perf_pmu *pmu, const char *name, const char *fmt, ...)
232 int perf_pmu__scan_file_at(const struct perf_pmu *pmu, int dirfd, const char *name,
235 bool perf_pmu__file_exists(const struct perf_pmu *pmu, const char *name);
239 void perf_pmu__arch_init(struct perf_pmu *pmu);
240 void pmu_add_cpu_aliases_table(struct perf_pmu *pmu,
243 char *perf_pmu__getcpuid(struct perf_pmu *pmu);
249 int perf_pmu__caps_parse(struct perf_pmu *pmu);
251 void perf_pmu__warn_invalid_config(struct perf_pmu *pmu, __u64 config,
254 void perf_pmu__warn_invalid_formats(struct perf_pmu *pmu);
267 void perf_pmu__delete(struct perf_pmu *pmu);