Messages in this thread | | | Subject | Re: [PATCH] perf tools: Store ids for events with their own cpus perf_event__synthesize_event_update_cpus | From | John Garry <> | Date | Tue, 16 Oct 2018 10:10:20 +0100 |
| |
On 15/10/2018 20:15, Arnaldo Carvalho de Melo wrote: > Em Fri, Oct 12, 2018 at 02:25:49PM +0100, John Garry escreveu: >> On 09/10/2018 11:00, Jiri Olsa wrote: >>> 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. >> >> /s/theeir/their/ >> >>>>> >>>>> Reported-by: John Garry <john.garry@huawei.com> >>>>> Link: http://lkml.kernel.org/n/tip-8x4n7o34yheigoxm1jibflm6@git.kernel.org >>>> >>>> Tested-by: John Garry <john.garry@huawei.com> >>>> >>>> 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 >>> >> >> Just a friendly reminder on this patch. >> >> How about re-send with an updated commit message also? > > I'll fix up the commit message and apply, thanks. >
Much appreciated.
BTW, I think that we should add a fixes tag. But I'm not sure if this patch fixes the commit I bisected to earlier (bfd8f72c2778f5bd63d), or that same commit just exposed some latent bug.
Jirka, Andi, Do you know?
Thanks, John
> - Arnaldo > >> Thanks, >> John >> >>> thanks, >>> jirka >>> >>>> >>>>> Signed-off-by: Jiri Olsa <jolsa@kernel.org> >>>>> --- >>>>> 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@lists.infradead.org >>> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel >>> >>> . >>> >> > > . >
| |