On Thu, Oct 04, 2018 at 10:20:39AM +0100, John Garry wrote:
SNIP
We synthesize an update event that needs to touch the evsel
id array, which is not defined at that time. Fixing this by
forcing the id allocation for events with theeir own cpus.
Reported-by: John Garry <john.garry@xxxxxxxxxx>
Link: http://lkml.kernel.org/n/tip-8x4n7o34yheigoxm1jibflm6@xxxxxxxxxxxxxx
Tested-by: John Garry <john.garry@xxxxxxxxxx>
In terms of adding to stable, LT v4.14 is not affected, but 4.18.x is.
Thanks,
John
Arnaldo, could you please pick up this one
thanks,
jirka
Signed-off-by: Jiri Olsa <jolsa@xxxxxxxxxx>
---
tools/perf/builtin-report.c | 1 +
tools/perf/util/evsel.c | 3 +++
2 files changed, 4 insertions(+)
diff --git a/tools/perf/builtin-report.c b/tools/perf/builtin-report.c
index c0703979c51d..257c9c18cb7e 100644
--- a/tools/perf/builtin-report.c
+++ b/tools/perf/builtin-report.c
@@ -980,6 +980,7 @@ int cmd_report(int argc, const char **argv)
.id_index = perf_event__process_id_index,
.auxtrace_info = perf_event__process_auxtrace_info,
.auxtrace = perf_event__process_auxtrace,
+ .event_update = perf_event__process_event_update,
.feature = process_feature_event,
.ordered_events = true,
.ordering_requires_timestamps = true,
diff --git a/tools/perf/util/evsel.c b/tools/perf/util/evsel.c
index ac6cfb8b085e..7a0d5fbaf3c1 100644
--- a/tools/perf/util/evsel.c
+++ b/tools/perf/util/evsel.c
@@ -1088,6 +1088,9 @@ void perf_evsel__config(struct perf_evsel *evsel, struct record_opts *opts,
attr->exclude_user = 1;
}
+ if (evsel->own_cpus)
+ evsel->attr.read_format |= PERF_FORMAT_ID;
+
/*
* Apply event specific term settings,
* it overloads any global configuration.
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@xxxxxxxxxxxxxxxxxxx
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
.