From: Weilin Wang <weilin.wang@intel.com>
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@intel.com>
---
.../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
--
2.43.0
From: namhyung@google.com
On Wed, 29 May 2024 02:43:24 -0400 weilin.wang@intel.com wrote:
> From: Weilin Wang <weilin.wang@intel.com>
>
> 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@intel.com>
> ---
> .../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:
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
> -----Original Message----- > From: Namhyung Kim <namhyung@gmail.com> > Sent: Sunday, June 2, 2024 4:21 PM > To: Wang, Weilin <weilin.wang@intel.com> > Cc: namhyung@google.com; Namhyung Kim <namhyung@kernel.org>; Ian > Rogers <irogers@google.com>; Arnaldo Carvalho de Melo > <acme@kernel.org>; Peter Zijlstra <peterz@infradead.org>; Ingo Molnar > <mingo@redhat.com>; Alexander Shishkin > <alexander.shishkin@linux.intel.com>; Jiri Olsa <jolsa@kernel.org>; Hunter, > Adrian <adrian.hunter@intel.com>; Kan Liang <kan.liang@linux.intel.com>; > linux-perf-users@vger.kernel.org; linux-kernel@vger.kernel.org; Taylor, Perry > <perry.taylor@intel.com>; Alt, Samantha <samantha.alt@intel.com>; Biggers, > Caleb <caleb.biggers@intel.com> > Subject: Re: [RFC PATCH v10 8/8] perf test: Add test for Intel TPEBS counting > mode > > From: namhyung@google.com > > On Wed, 29 May 2024 02:43:24 -0400 weilin.wang@intel.com wrote: > > > From: Weilin Wang <weilin.wang@intel.com> > > > > 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@intel.com> > > --- > > .../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 >
© 2016 - 2025 Red Hat, Inc.