Messages in this thread | | | From | Namhyung Kim <> | Date | Fri, 5 May 2023 16:43:20 -0700 | Subject | Re: [PATCH 1/2] perf script: Skip aggregation for stat events |
| |
Hello,
On Fri, May 5, 2023 at 3:03 AM Sandipan Das <sandipan.das@amd.com> wrote: > > The script command does not support aggregation modes by itself although > that can be achieved using post-processing scripts. Because of this, it > does not allocate memory for aggregated event values. > > Upon running perf stat record, the aggregation mode is set in the perf > data file. If the mode is AGGR_GLOBAL, the aggregated event values are > accessed and this leads to a segmentation fault since these were never > allocated to begin with. Set the mode to AGGR_NONE explicitly to avoid > this. > > E.g. > > $ perf stat record -e cycles true > $ perf script > > Before: > Segmentation fault (core dumped) > > After: > CPU THREAD VAL ENA RUN TIME EVENT > -1 231919 162831 362069 362069 935289 cycles:u > > Fixes: 8b76a3188b85 ("perf stat: Remove unused perf_counts.aggr field") > Signed-off-by: Sandipan Das <sandipan.das@amd.com> > Cc: stable@vger.kernel.org # v6.2+
Acked-by: Namhyung Kim <namhyung@kernel.org>
Thanks, Namhyung
> --- > tools/perf/builtin-script.c | 7 +++++++ > 1 file changed, 7 insertions(+) > > diff --git a/tools/perf/builtin-script.c b/tools/perf/builtin-script.c > index 006f522d0e7f..c57be48d65bb 100644 > --- a/tools/perf/builtin-script.c > +++ b/tools/perf/builtin-script.c > @@ -3647,6 +3647,13 @@ static int process_stat_config_event(struct perf_session *session __maybe_unused > union perf_event *event) > { > perf_event__read_stat_config(&stat_config, &event->stat_config); > + > + /* > + * Aggregation modes are not used since post-processing scripts are > + * supposed to take care of such requirements > + */ > + stat_config.aggr_mode = AGGR_NONE; > + > return 0; > } > > -- > 2.34.1 >
| |