Re: [RFC PATCH v16 8/8] perf test: Add test for Intel TPEBS counting mode

From: Namhyung Kim
Date: Tue Jul 09 2024 - 01:04:00 EST


On Mon, Jul 8, 2024 at 9:58 PM Wang, Weilin <weilin.wang@xxxxxxxxx> wrote:
>
>
>
> > -----Original Message-----
> > From: Namhyung Kim <namhyung@xxxxxxxxxx>
> > Sent: Monday, July 8, 2024 9:44 PM
> > To: Wang, Weilin <weilin.wang@xxxxxxxxx>
> > Cc: Ian Rogers <irogers@xxxxxxxxxx>; Arnaldo Carvalho de Melo
> > <acme@xxxxxxxxxx>; Peter Zijlstra <peterz@xxxxxxxxxxxxx>; Ingo Molnar
> > <mingo@xxxxxxxxxx>; Alexander Shishkin
> > <alexander.shishkin@xxxxxxxxxxxxxxx>; Jiri Olsa <jolsa@xxxxxxxxxx>; Hunter,
> > Adrian <adrian.hunter@xxxxxxxxx>; Kan Liang <kan.liang@xxxxxxxxxxxxxxx>;
> > linux-perf-users@xxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx; Taylor, Perry
> > <perry.taylor@xxxxxxxxx>; Alt, Samantha <samantha.alt@xxxxxxxxx>; Biggers,
> > Caleb <caleb.biggers@xxxxxxxxx>
> > Subject: Re: [RFC PATCH v16 8/8] perf test: Add test for Intel TPEBS counting
> > mode
> >
> > Hello Weilin,
> >
> > On Sat, Jul 6, 2024 at 4:30 PM <weilin.wang@xxxxxxxxx> wrote:
> > >
> > > From: Weilin Wang <weilin.wang@xxxxxxxxx>
> > >
> > > Intel TPEBS sampling mode is supported through perf record. The counting
> > mode
> > > code uses perf record to capture retire_latency value and use it in metric
> > > calculation. This test checks the counting mode code.
> > >
> > > Signed-off-by: Weilin Wang <weilin.wang@xxxxxxxxx>
> > > ---
> > > .../perf/tests/shell/test_stat_intel_tpebs.sh | 18 ++++++++++++++++++
> > > 1 file changed, 18 insertions(+)
> > > create mode 100755 tools/perf/tests/shell/test_stat_intel_tpebs.sh
> > >
> > > diff --git a/tools/perf/tests/shell/test_stat_intel_tpebs.sh
> > b/tools/perf/tests/shell/test_stat_intel_tpebs.sh
> > > new file mode 100755
> > > index 000000000000..fea8cb1b8367
> > > --- /dev/null
> > > +++ b/tools/perf/tests/shell/test_stat_intel_tpebs.sh
> > > @@ -0,0 +1,18 @@
> > > +#!/bin/bash
> > > +# test Intel TPEBS counting mode
> > > +# SPDX-License-Identifier: GPL-2.0
> > > +
> > > +set -e
> > > +
> > > +# Use this event for testing because it should exist in all platforms
> > > +event=cache-misses:R
> > > +
> > > +# Without this cmd option, default value or zero is returned
> > > +echo "Testing without --record-tpebs"
> > > +result=$(perf stat -e "$event" true 2>&1)
> > > +[[ "$result" =~ $event ]] || exit 1
> > > +
> > > +# In platforms that do not support TPEBS, it should execute without error.
> > > +echo "Testing with --record-tpebs"
> > > +result=$(perf stat -e "$event" --record-tpebs -a sleep 0.01 2>&1)
> >
> > It never finishes on my AMD machine.
> >
> Hi Namhyung,
>
> Do you see any message while it executes? Is the perf record forked successfully
> but failed to return?

I don't know.. all I can get is like below:

$ sudo ./perf test tpebs -vv
121: test Intel TPEBS counting mode:
--- start ---
test child forked, pid 583475
Testing without --record-tpebs
Testing with --record-tpebs
^C