Lines Matching full:pmu
12 #include "pmu-events/pmu-events.h"
52 /** @name: The name of the PMU such as "cpu". */
55 * @alias_name: Optional alternate name for the PMU determined in
60 * @id: Optional PMU identifier read from
70 * @selectable: Can the PMU name be selected as if it were an event?
74 * @is_core: Is the PMU the core CPU PMU? Determined by the name being
77 * PMU on systems like Intel hybrid.
81 * @is_uncore: Is the PMU not within the CPU core? Determined by the
91 * @formats_checked: Only check PMU's formats are valid for
101 * PMU, read from
107 * initialize PMU specific parts of the perf_event_attr.
109 void (*perf_event_attr_init_default)(const struct perf_pmu *pmu,
126 * from json events in pmu-events.c.
130 * @events_table: The events table for json events in pmu-events.c.
137 /** @sys_json_aliases: Number of json event aliases loaded matching the PMU's identifier. */
147 * @cpu_aliases_added: Have all json events table entries for the PMU
163 /** @list: Element on pmus list in pmu.c. */
167 * @config_masks: Derived from the PMU's format data, bits that are
173 * @missing_features: Features to inhibit when events on this PMU are
202 const struct perf_pmu *pmu; member
220 void pmu_add_sys_aliases(struct perf_pmu *pmu);
221 int perf_pmu__config(struct perf_pmu *pmu, struct perf_event_attr *attr,
225 int perf_pmu__config_terms(const struct perf_pmu *pmu,
230 __u64 perf_pmu__format_bits(struct perf_pmu *pmu, const char *name);
231 int perf_pmu__format_type(struct perf_pmu *pmu, const char *name);
232 int perf_pmu__check_alias(struct perf_pmu *pmu, struct parse_events_terms *head_terms,
235 int perf_pmu__find_event(struct perf_pmu *pmu, const char *event, void *state, pmu_event_callback c…
238 bool perf_pmu__has_format(const struct perf_pmu *pmu, const char *name);
239 int perf_pmu__for_each_format(struct perf_pmu *pmu, void *state, pmu_format_callback cb);
242 bool perf_pmu__supports_legacy_cache(const struct perf_pmu *pmu);
243 bool perf_pmu__auto_merge_stats(const struct perf_pmu *pmu);
244 bool perf_pmu__have_event(struct perf_pmu *pmu, const char *name);
245 size_t perf_pmu__num_events(struct perf_pmu *pmu);
246 int perf_pmu__for_each_event(struct perf_pmu *pmu, bool skip_duplicate_pmus,
248 bool perf_pmu__name_wildcard_match(const struct perf_pmu *pmu, const char *to_match);
249 bool perf_pmu__name_no_suffix_match(const struct perf_pmu *pmu, const char *to_match);
252 * perf_pmu_is_software - is the PMU a software PMU as in it uses the
255 bool perf_pmu__is_software(const struct perf_pmu *pmu);
257 FILE *perf_pmu__open_file(const struct perf_pmu *pmu, const char *name);
258 FILE *perf_pmu__open_file_at(const struct perf_pmu *pmu, int dirfd, const char *name);
260 int perf_pmu__scan_file(const struct perf_pmu *pmu, const char *name, const char *fmt, ...)
262 int perf_pmu__scan_file_at(const struct perf_pmu *pmu, int dirfd, const char *name,
265 bool perf_pmu__file_exists(const struct perf_pmu *pmu, const char *name);
269 void perf_pmu__arch_init(struct perf_pmu *pmu);
270 void pmu_add_cpu_aliases_table(struct perf_pmu *pmu,
277 int perf_pmu__caps_parse(struct perf_pmu *pmu);
279 void perf_pmu__warn_invalid_config(struct perf_pmu *pmu, __u64 config,
282 void perf_pmu__warn_invalid_formats(struct perf_pmu *pmu);
284 bool perf_pmu__wildcard_match(const struct perf_pmu *pmu, const char *wildcard_to_match);
295 void perf_pmu__delete(struct perf_pmu *pmu);
298 const char *perf_pmu__name_from_config(struct perf_pmu *pmu, u64 config);
299 bool perf_pmu__is_fake(const struct perf_pmu *pmu);