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

From: Namhyung Kim
Date: Wed Nov 16 2022 - 18:39:05 EST


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 v3)
* update brstack to set num_loops (James)
* fix a typo in the brstack test (German)
* add tags rom German and James

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-v3' 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 | 41 ++++++++++++
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, 329 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: 4dd7ff4a0311eee3ac946f0824442de94b34c42e
--
2.38.1.584.g0f3c55d4c2-goog