Commit 8b8173b4 authored by Leo Yan's avatar Leo Yan Committed by Arnaldo Carvalho de Melo

perf c2c: Support memory event PERF_MEM_EVENTS__LOAD_STORE

When user doesn't specify event name, perf c2c tool enables both the
load and store events, and this leads to failure for opening the
duplicate PMU device for AUX trace.

After the memory event PERF_MEM_EVENTS__LOAD_STORE is introduced, when
the user doesn't specify event name, this patch converts the required
operation to PERF_MEM_EVENTS__LOAD_STORE if the arch supports it.
Otherwise, the tool still rolls back to enable events
PERF_MEM_EVENTS__LOAD and PERF_MEM_EVENTS__STORE.
Signed-off-by: default avatarLeo Yan <leo.yan@linaro.org>
Acked-by: default avatarJiri Olsa <jolsa@redhat.com>
Link: https://lore.kernel.org/r/20201106094853.21082-5-leo.yan@linaro.orgSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
parent 4ba2452c
...@@ -2895,11 +2895,20 @@ static int perf_c2c__record(int argc, const char **argv) ...@@ -2895,11 +2895,20 @@ static int perf_c2c__record(int argc, const char **argv)
rec_argv[i++] = "record"; rec_argv[i++] = "record";
if (!event_set) { if (!event_set) {
e = perf_mem_events__ptr(PERF_MEM_EVENTS__LOAD); e = perf_mem_events__ptr(PERF_MEM_EVENTS__LOAD_STORE);
e->record = true; /*
* The load and store operations are required, use the event
* PERF_MEM_EVENTS__LOAD_STORE if it is supported.
*/
if (e->tag) {
e->record = true;
} else {
e = perf_mem_events__ptr(PERF_MEM_EVENTS__LOAD);
e->record = true;
e = perf_mem_events__ptr(PERF_MEM_EVENTS__STORE); e = perf_mem_events__ptr(PERF_MEM_EVENTS__STORE);
e->record = true; e->record = true;
}
} }
e = perf_mem_events__ptr(PERF_MEM_EVENTS__LOAD); e = perf_mem_events__ptr(PERF_MEM_EVENTS__LOAD);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment