RE: [RFC PATCH v10 8/8] perf test: Add test for Intel TPEBS counting mode

From: Wang, Weilin
Date: Mon Jun 03 2024 - 13:01:06 EST




> -----Original Message-----
> From: Namhyung Kim <namhyung@xxxxxxxxx>
> Sent: Sunday, June 2, 2024 4:21 PM
> To: Wang, Weilin <weilin.wang@xxxxxxxxx>
> Cc: namhyung@xxxxxxxxxx; Namhyung Kim <namhyung@xxxxxxxxxx>; 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 v10 8/8] perf test: Add test for Intel TPEBS counting
> mode
>
> From: namhyung@xxxxxxxxxx
>
> On Wed, 29 May 2024 02:43:24 -0400 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 | 19 +++++++++++++++++++
> > 1 file changed, 19 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..43f75055fee4
> > --- /dev/null
> > +++ b/tools/perf/tests/shell/test_stat_intel_tpebs.sh
> > @@ -0,0 +1,19 @@
> > +#!/bin/bash
> > +# test Intel TPEBS counting mode
> > +# SPDX-License-Identifier: GPL-2.0
> > +
> > +set e
> > +err=0
> > +
> > +# Use this event for testing because it should exist in all platforms
> > +e=cache-misses:R
> > +
> > +# Without this cmd option, default value or zero is returned
> > +echo "Testing without --enable-tpebs-recording"
> > +result=$(perf stat -e "$e" true 2>&1)
> > +[[ "$result" =~ "$e" ]] || exit 1
> > +
> > +# In platforms that do not support TPEBS, it should execute without error.
> > +echo "Testing with --enable-tpebs-recording"
> > +result=$(perf stat -e "$e" --enable-tpebs-recording -a sleep 0.01 2>&1)
> > +[[ "$result" =~ "perf record" && "$result" =~ "$e" ]] || exit 1
>
> I got these build errors:
>
Sorry about the error! I will fix it.

Thanks,
Weilin

> Thanks,
> Namhyung
>
> ---
>
> TEST tests/shell/test_stat_intel_tpebs.sh.shellcheck_log
>
> In tests/shell/test_stat_intel_tpebs.sh line 6:
> err=0
> ^-^ SC2034 (warning): err appears unused. Verify use (or export if used
> externally).
>
>
> In tests/shell/test_stat_intel_tpebs.sh line 14:
> [[ "$result" =~ "$e" ]] || exit 1
> ^--^ SC2076 (warning): Remove quotes from right-hand side of =~ to
> match as a regex rather than literally.
>
>
> In tests/shell/test_stat_intel_tpebs.sh line 19:
> [[ "$result" =~ "perf record" && "$result" =~ "$e" ]] || exit 1
> ^--^ SC2076 (warning): Remove quotes from right-
> hand side of =~ to match as a regex rather than literally.
>
> For more information:
> https://www.shellcheck.net/wiki/SC2034 -- err appears unused. Verify use
> (o...
> https://www.shellcheck.net/wiki/SC2076 -- Remove quotes from right-hand
> sid...
> make[4]: *** [tests/Build:91:
> tests/shell/test_stat_intel_tpebs.sh.shellcheck_log] Error 1
>