Re: [PATCH v5] perf tools: add support for libpfm4
From: Jiri Olsa <hidden>
Date: 2020-03-24 10:26:15
Also in:
bpf, linux-perf-users, lkml
From: Jiri Olsa <hidden>
Date: 2020-03-24 10:26:15
Also in:
bpf, linux-perf-users, lkml
On Mon, Mar 23, 2020 at 04:58:46PM -0700, Ian Rogers wrote: SNIP
+ /* no event */
+ if (*q == '\0')
+ continue;
+
+ memset(&attr, 0, sizeof(attr));
+ event_attr_init(&attr);
+
+ ret = parse_libpfm_event(q, &attr);
+ if (ret != PFM_SUCCESS) {
+ fprintf(stderr, "failed to parse event %s : %s\n", str, pfm_strerror(ret));
+ goto error;
+ }
+
+ evsel = perf_evsel__new_idx(&attr, evlist->core.nr_entries);
+ if (evsel == NULL)
+ goto error;
+
+ evsel->name = strdup(q);
+ if (!evsel->name) {
+ evsel__delete(evsel);
+ goto error;
+ }
+ evsel->is_libpfm_event = true;
+
+ pmu = perf_pmu__find_by_type((unsigned)attr.type);
+ if (pmu)
+ evsel->core.own_cpus = perf_cpu_map__get(pmu->cpus);I think you need to do more setup in here, like in __add_event function would be great to factor those bits from __add_event function and call it from here, so it's all in one place jirka