[PATCHSET 00/12] perf test: Add test workloads (v2)

Namhyung Kim
2022-11-10T18:19:29Z

Hello,

In the shell tests, it needs to run a custom test workload to verify
the behaviors. This requires a working compiler when it runs the
tests. However it's not available in some test environments, making
hard to run those tests.

changes in v2)
* use sig_atomic_t (Arnaldo)
* fix callgraph fp test (Leo)
* fix bulid in sqrtloop (German)
* add tags from Leo Yan

So I've added the test workload to the perf binary directly, so that
we can run them simply like:

$ perf test -w noploop

And convert most of the shell tests need compilers with this workloads.
The buildid test still requires a compiler since it needs to check
different build options to generate different kind of build-IDs.

I've checked perf test result after the changes but could not verify
architecture-specific ones (e.g. for arm64). It'd be nice if anyone
can check it out.

You can find it in 'perf/test-workload-v2' branch in

git://git.kernel.org/pub/scm/linux/kernel/git/namhyung/linux-perf.git

Thanks,
Namhyung

Namhyung Kim (12):
perf test: Add -w/--workload option
perf test: Replace pipe test workload with noploop
perf test: Add 'thloop' test workload
perf test: Replace record test workload with thloop
perf test: Add 'leafloop' test workload
perf test: Replace arm callgraph fp test workload with leafloop
perf test: Add 'sqrtloop' test workload
perf test: Replace arm spe fork test workload with sqrtloop
perf test: Add 'brstack' test workload
perf test: Replace brstack test workload
perf test: Add 'datasym' test workload
perf test: Replace data symbol test workload with datasym

tools/perf/tests/Build | 2 +
tools/perf/tests/builtin-test.c | 29 ++++++++
tools/perf/tests/shell/pipe_test.sh | 55 +++-------------
tools/perf/tests/shell/record.sh | 59 +----------------
.../perf/tests/shell/test_arm_callgraph_fp.sh | 34 +---------
tools/perf/tests/shell/test_arm_spe_fork.sh | 44 +------------
tools/perf/tests/shell/test_brstack.sh | 66 ++++---------------
tools/perf/tests/shell/test_data_symbol.sh | 29 +-------
tools/perf/tests/tests.h | 27 ++++++++
tools/perf/tests/workloads/Build | 12 ++++
tools/perf/tests/workloads/brstack.c | 39 +++++++++++
tools/perf/tests/workloads/datasym.c | 24 +++++++
tools/perf/tests/workloads/leafloop.c | 34 ++++++++++
tools/perf/tests/workloads/noploop.c | 32 +++++++++
tools/perf/tests/workloads/sqrtloop.c | 45 +++++++++++++
tools/perf/tests/workloads/thloop.c | 53 +++++++++++++++
16 files changed, 327 insertions(+), 257 deletions(-)
create mode 100644 tools/perf/tests/workloads/Build
create mode 100644 tools/perf/tests/workloads/brstack.c
create mode 100644 tools/perf/tests/workloads/datasym.c
create mode 100644 tools/perf/tests/workloads/leafloop.c
create mode 100644 tools/perf/tests/workloads/noploop.c
create mode 100644 tools/perf/tests/workloads/sqrtloop.c
create mode 100644 tools/perf/tests/workloads/thloop.c

base-commit: 816815b852216f3aa3a43e2ce91c5510927cd61b
--
2.38.1.493.g58b659f92b-goog