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
114 * from json events in pmu-events.c.
118 * @events_table: The events table for json events in pmu-events.c.
125 /** @sys_json_aliases: Number of json event aliases loaded matching the PMU's identifier. */
130 * @cpu_aliases_added: Have all json events table entries for the PMU
146 /** @list: Element on pmus list in pmu.c. */
150 * @config_masks: Derived from the PMU's format data, bits that are
156 * @missing_features: Features to inhibit when events on this PMU are
168 /** @perf_pmu__fake: A special global PMU used for testing. */
179 const struct perf_pmu *pmu; member
194 void pmu_add_sys_aliases(struct perf_pmu *pmu);
195 int perf_pmu__config(struct perf_pmu *pmu, struct perf_event_attr *attr,
198 int perf_pmu__config_terms(struct perf_pmu *pmu,
202 __u64 perf_pmu__format_bits(struct perf_pmu *pmu, const char *name);
203 int perf_pmu__format_type(struct perf_pmu *pmu, const char *name);
204 int perf_pmu__check_alias(struct perf_pmu *pmu, struct list_head *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(struct perf_pmu *pmu, const char *name);
228 FILE *perf_pmu__open_file_at(struct perf_pmu *pmu, int dirfd, const char *name);
230 int perf_pmu__scan_file(struct perf_pmu *pmu, const char *name, const char *fmt, ...) __scanf(3, 4);
231 int perf_pmu__scan_file_at(struct perf_pmu *pmu, int dirfd, const char *name,
234 bool perf_pmu__file_exists(struct perf_pmu *pmu, const char *name);
238 struct perf_event_attr *perf_pmu__get_default_config(struct perf_pmu *pmu);
239 void pmu_add_cpu_aliases_table(struct perf_pmu *pmu,
242 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);
269 void perf_pmu__delete(struct perf_pmu *pmu);
271 const char *perf_pmu__name_from_config(struct perf_pmu *pmu, u64 config);