Re: [PATCH 1/4] perf report: Do not extend sample type of bpf-output event

Arnaldo Carvalho de Melo
2022-05-10T16:50:05Z

Em Fri, May 06, 2022 at 01:16:24PM -0700, Namhyung Kim escreveu:
> Currently evsel__new_idx() sets more sample_type bits when it finds a
> BPF-output event. But it should honor what's recorded in the perf
> data file rather than blindly sets the bits. Otherwise it could lead
> to a parse error when it recorded with a modified sample_type.

Can you please try to provide a Fixes: tag for this? This way reviewing
gets simpler by looking at who introduced this, if there was some reason
or if it was a plain oversight.

It also helps to get this fix propabated to the stable trees.

- Arnaldo

> Signed-off-by: Namhyung Kim <namhyung@kernel.org>
> ---
> tools/perf/util/evsel.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/tools/perf/util/evsel.c b/tools/perf/util/evsel.c
> index d38722560e80..63a8b832b822 100644
> --- a/tools/perf/util/evsel.c
> +++ b/tools/perf/util/evsel.c
> @@ -269,8 +269,8 @@ struct evsel *evsel__new_idx(struct perf_event_attr *attr, int idx)
> return NULL;
> evsel__init(evsel, attr, idx);
>
> - if (evsel__is_bpf_output(evsel)) {
> - evsel->core.attr.sample_type |= (PERF_SAMPLE_RAW | PERF_SAMPLE_TIME |
> + if (evsel__is_bpf_output(evsel) && !attr->sample_type) {
> + evsel->core.attr.sample_type = (PERF_SAMPLE_RAW | PERF_SAMPLE_TIME |
> PERF_SAMPLE_CPU | PERF_SAMPLE_PERIOD),
> evsel->core.attr.sample_period = 1;
> }
> --
> 2.36.0.512.ge40c2bad7a-goog

--

- Arnaldo