[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <YhV9aXx3VhXUkCcT@kernel.org>
Date: Tue, 22 Feb 2022 21:18:49 -0300
From: Arnaldo Carvalho de Melo <acme@...nel.org>
To: Jiri Olsa <olsajiri@...il.com>
Cc: German Gomez <german.gomez@....com>, linux-kernel@...r.kernel.org,
linux-perf-users@...r.kernel.org,
Mark Rutland <mark.rutland@....com>,
Alexander Shishkin <alexander.shishkin@...ux.intel.com>,
Jiri Olsa <jolsa@...nel.org>,
Namhyung Kim <namhyung@...nel.org>
Subject: Re: [PATCH] perf script: Fix error when printing 'weight' field
Em Mon, Feb 21, 2022 at 08:46:32PM +0100, Jiri Olsa escreveu:
> On Mon, Feb 21, 2022 at 05:17:06PM +0000, German Gomez wrote:
> > In SPE traces the 'weight' field can't be printed in perf-script because
> > the 'dummy:u' event doesn't have the WEIGHT attribute set.
> >
> > Use evsel__do_check_stype(..) to check this field, as it's done with
> > other fields such as "phys_addr".
> >
> > Before:
> >
> > $ perf record -e arm_spe_0// -- sleep 1
> > $ perf script -F event,ip,weight
> > Samples for 'dummy:u' event do not have WEIGHT attribute set. Cannot print 'weight' field.
> >
> > After:
> >
> > $ perf script -F event,ip,weight
> > l1d-access: 12 ffffaf629d4cb320
> > tlb-access: 12 ffffaf629d4cb320
> > memory: 12 ffffaf629d4cb320
> >
> > Fixes: b0fde9c6e291 ("perf arm-spe: Add SPE total latency as PERF_SAMPLE_WEIGHT")
> > Signed-off-by: German Gomez <german.gomez@....com>
>
> Acked-by: Jiri Olsa <jolsa@...nel.org>
Thanks, applied to perf/urgent.
- Arnaldo
> thanks,
> jirka
>
> > ---
> > tools/perf/builtin-script.c | 2 +-
> > 1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/tools/perf/builtin-script.c b/tools/perf/builtin-script.c
> > index 9e032343f..6ce581067 100644
> > --- a/tools/perf/builtin-script.c
> > +++ b/tools/perf/builtin-script.c
> > @@ -463,7 +463,7 @@ static int evsel__check_attr(struct evsel *evsel, struct perf_session *session)
> > return -EINVAL;
> >
> > if (PRINT_FIELD(WEIGHT) &&
> > - evsel__check_stype(evsel, PERF_SAMPLE_WEIGHT_TYPE, "WEIGHT", PERF_OUTPUT_WEIGHT))
> > + evsel__do_check_stype(evsel, PERF_SAMPLE_WEIGHT_TYPE, "WEIGHT", PERF_OUTPUT_WEIGHT, allow_user_set))
> > return -EINVAL;
> >
> > if (PRINT_FIELD(SYM) &&
> > --
> > 2.25.1
> >
--
- Arnaldo
Powered by blists - more mailing lists