Lines Matching refs:pmu

15 #include "pmu.h"
32 struct perf_mem_event *perf_pmu__mem_events_ptr(struct perf_pmu *pmu, int i)
34 if (i >= PERF_MEM_EVENTS__MAX || !pmu)
37 return &pmu->mem_events[i];
40 static struct perf_pmu *perf_pmus__scan_mem(struct perf_pmu *pmu)
42 while ((pmu = perf_pmus__scan(pmu)) != NULL) {
43 if (pmu->mem_events)
44 return pmu;
66 * perf_pmu__mem_events_num_mem_pmus - Get the number of mem PMUs since the given pmu
67 * @pmu: Start pmu. If it's NULL, search the entire PMU list.
69 int perf_pmu__mem_events_num_mem_pmus(struct perf_pmu *pmu)
73 while ((pmu = perf_pmus__scan_mem(pmu)) != NULL)
79 static const char *perf_pmu__mem_events_name(int i, struct perf_pmu *pmu)
83 if (i >= PERF_MEM_EVENTS__MAX || !pmu)
86 e = &pmu->mem_events[i];
95 e->name, pmu->name,
100 e->name, pmu->name, pmu->name,
107 e->name, pmu->name);
117 e->name, pmu->name);
126 struct perf_pmu *pmu = leader->pmu;
129 if (!pmu || !pmu->mem_events)
132 e = &pmu->mem_events[PERF_MEM_EVENTS__LOAD];
139 int perf_pmu__mem_events_parse(struct perf_pmu *pmu, const char *str)
157 struct perf_mem_event *e = perf_pmu__mem_events_ptr(pmu, j);
178 static bool perf_pmu__mem_events_supported(const char *mnt, struct perf_pmu *pmu,
187 scnprintf(path, PATH_MAX, "%s/devices/%s/events/%s", mnt, pmu->name, e->event_name);
192 int perf_pmu__mem_events_init(struct perf_pmu *pmu)
202 struct perf_mem_event *e = perf_pmu__mem_events_ptr(pmu, j);
211 e->supported |= perf_pmu__mem_events_supported(mnt, pmu, e);
219 void perf_pmu__mem_events_list(struct perf_pmu *pmu)
224 struct perf_mem_event *e = perf_pmu__mem_events_ptr(pmu, j);
230 e->tag && verbose > 0 ? perf_pmu__mem_events_name(j, pmu) : "",
238 struct perf_pmu *pmu = NULL;
244 while ((pmu = perf_pmus__scan_mem(pmu)) != NULL) {
246 e = perf_pmu__mem_events_ptr(pmu, j);
253 perf_pmu__mem_events_name(j, pmu));
257 s = perf_pmu__mem_events_name(j, pmu);
258 if (!s || !perf_pmu__mem_events_supported(mnt, pmu, e))