Lines Matching full:pmu
12 #include "pmu-events/pmu-events.h"
55 /** @name: The name of the PMU such as "cpu". */
58 * @alias_name: Optional alternate name for the PMU determined in
63 * @id: Optional PMU identifier read from
73 * @selectable: Can the PMU name be selected as if it were an event?
77 * @is_core: Is the PMU the core CPU PMU? Determined by the name being
80 * PMU on systems like Intel hybrid.
84 * @is_uncore: Is the PMU not within the CPU core? Determined by the
94 * @formats_checked: Only check PMU's formats are valid for
104 * PMU, read from
110 * initialize PMU specific parts of the perf_event_attr.
112 void (*perf_event_attr_init_default)(const struct perf_pmu *pmu,
129 * from json events in pmu-events.c.
133 * @events_table: The events table for json events in pmu-events.c.
140 /** @sys_json_aliases: Number of json event aliases loaded matching the PMU's identifier. */
150 * @cpu_aliases_added: Have all json events table entries for the PMU
166 /** @list: Element on pmus list in pmu.c. */
170 * @config_masks: Derived from the PMU's format data, bits that are
176 * @missing_features: Features to inhibit when events on this PMU are
208 const struct perf_pmu *pmu; member
226 void pmu_add_sys_aliases(struct perf_pmu *pmu);
227 int perf_pmu__config(struct perf_pmu *pmu, struct perf_event_attr *attr,
231 int perf_pmu__config_terms(const struct perf_pmu *pmu,
236 __u64 perf_pmu__format_bits(struct perf_pmu *pmu, const char *name);
237 int perf_pmu__format_type(struct perf_pmu *pmu, const char *name);
238 int perf_pmu__check_alias(struct perf_pmu *pmu, struct parse_events_terms *head_terms,
241 int perf_pmu__find_event(struct perf_pmu *pmu, const char *event, void *state, pmu_event_callback c…
244 bool perf_pmu__has_format(const struct perf_pmu *pmu, const char *name);
245 int perf_pmu__for_each_format(struct perf_pmu *pmu, void *state, pmu_format_callback cb);
248 bool perf_pmu__supports_legacy_cache(const struct perf_pmu *pmu);
249 bool perf_pmu__auto_merge_stats(const struct perf_pmu *pmu);
250 bool perf_pmu__have_event(struct perf_pmu *pmu, const char *name);
251 size_t perf_pmu__num_events(struct perf_pmu *pmu);
252 int perf_pmu__for_each_event(struct perf_pmu *pmu, bool skip_duplicate_pmus,
254 bool perf_pmu__name_wildcard_match(const struct perf_pmu *pmu, const char *to_match);
255 bool perf_pmu__name_no_suffix_match(const struct perf_pmu *pmu, const char *to_match);
258 * perf_pmu_is_software - is the PMU a software PMU as in it uses the
261 bool perf_pmu__is_software(const struct perf_pmu *pmu);
263 FILE *perf_pmu__open_file(const struct perf_pmu *pmu, const char *name);
264 FILE *perf_pmu__open_file_at(const struct perf_pmu *pmu, int dirfd, const char *name);
266 int perf_pmu__scan_file(const struct perf_pmu *pmu, const char *name, const char *fmt, ...)
268 int perf_pmu__scan_file_at(const struct perf_pmu *pmu, int dirfd, const char *name,
271 bool perf_pmu__file_exists(const struct perf_pmu *pmu, const char *name);
275 void perf_pmu__arch_init(struct perf_pmu *pmu);
276 void pmu_add_cpu_aliases_table(struct perf_pmu *pmu,
283 struct perf_pmu_caps *perf_pmu__get_cap(struct perf_pmu *pmu, const char *name);
285 int perf_pmu__caps_parse(struct perf_pmu *pmu);
287 void perf_pmu__warn_invalid_config(struct perf_pmu *pmu, __u64 config,
290 void perf_pmu__warn_invalid_formats(struct perf_pmu *pmu);
292 bool perf_pmu__wildcard_match(const struct perf_pmu *pmu, const char *wildcard_to_match);
300 int perf_pmu__init(struct perf_pmu *pmu, __u32 type, const char *name);
304 void perf_pmu__delete(struct perf_pmu *pmu);
306 const char *perf_pmu__name_from_config(struct perf_pmu *pmu, u64 config);
307 bool perf_pmu__is_fake(const struct perf_pmu *pmu);