linux-perf-users.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: carsten.haitzler@foss.arm.com
To: linux-kernel@vger.kernel.org
Cc: coresight@lists.linaro.org, suzuki.poulose@arm.com,
	mathieu.poirier@linaro.org, mike.leach@linaro.org,
	leo.yan@linaro.org, linux-perf-users@vger.kernel.org,
	acme@kernel.org
Subject: [PATCH v7 00/14] perf: test: Add trace data quality tests for CoreSight
Date: Fri, 12 Aug 2022 13:16:27 +0100	[thread overview]
Message-ID: <20220812121641.336465-1-carsten.haitzler@foss.arm.com> (raw)

From: Carsten Haitzler <carsten.haitzler@arm.com>

This is a prelude to adding more tests to shell tests and in order to
support putting those tests into subdirectories, I need to change the
test code that scans/finds and runs them.

To support subdirs I have to recurse so it's time to refactor the code to
allow this and centralize the shell script finding into one location and
only one single scan that builds a list of all the found tests in memory
instead of it being duplicated in 3 places.

This code also optimizes things like knowing the max width of desciption
strings (as we can do that while we scan instead of a whole new pass
of opening files). It also more cleanly filters scripts to see only
*.sh files thus skipping random other files in directories like *~
backup files, other random junk/data files that may appear and the
scripts must be executable to make the cut (this ensures the script
lib dir is not seen as scripts to run). This avoids perf test running
previous older versions of test scripts that are editor backup files
as well as skipping perf.data files that may appear and so on.

Signed-off-by: Carsten Haitzler <carsten.haitzler@arm.com>


Carsten Haitzler (14):
  perf test: Refactor shell tests allowing subdirs
  perf test: Add CoreSight shell lib shared code for future tests
  perf test: Add build infra for perf test tools for CoreSight tests
  perf test: Add asm pureloop test tool
  perf test: Add asm pureloop test shell script
  perf test: Add git ignore for perf data generated by the CoreSight
    tests
  perf test: Add memcpy thread test tool
  perf test: Add memcpy thread test shell script
  perf test: Add thread loop test tool
  perf test: Add thread loop test shell scripts
  perf test: Add unroll thread test tool
  perf test: Add unroll thread test shell script
  perf test: Add git ignore for tmp and output files of CoreSight tests
  perf test: Add relevant documentation about CoreSight testing

 .../trace/coresight/coresight-perf.rst        | 158 +++++++++++++
 MAINTAINERS                                   |   1 +
 tools/perf/.gitignore                         |   6 +-
 .../perf/Documentation/perf-arm-coresight.txt |   5 +
 tools/perf/Makefile.config                    |   2 +
 tools/perf/Makefile.perf                      |  17 +-
 tools/perf/tests/Build                        |   1 +
 tools/perf/tests/builtin-test-list.c          | 207 ++++++++++++++++++
 tools/perf/tests/builtin-test-list.h          |  12 +
 tools/perf/tests/builtin-test.c               | 152 ++-----------
 tools/perf/tests/shell/coresight/Makefile     |  30 +++
 .../tests/shell/coresight/Makefile.miniconfig |  14 ++
 .../tests/shell/coresight/asm_pure_loop.sh    |  18 ++
 .../shell/coresight/asm_pure_loop/.gitignore  |   1 +
 .../shell/coresight/asm_pure_loop/Makefile    |  34 +++
 .../coresight/asm_pure_loop/asm_pure_loop.S   |  28 +++
 .../shell/coresight/memcpy_thread/.gitignore  |   1 +
 .../shell/coresight/memcpy_thread/Makefile    |  33 +++
 .../coresight/memcpy_thread/memcpy_thread.c   |  79 +++++++
 .../shell/coresight/memcpy_thread_16k_10.sh   |  18 ++
 .../shell/coresight/thread_loop/.gitignore    |   1 +
 .../shell/coresight/thread_loop/Makefile      |  33 +++
 .../shell/coresight/thread_loop/thread_loop.c |  86 ++++++++
 .../coresight/thread_loop_check_tid_10.sh     |  19 ++
 .../coresight/thread_loop_check_tid_2.sh      |  19 ++
 .../coresight/unroll_loop_thread/.gitignore   |   1 +
 .../coresight/unroll_loop_thread/Makefile     |  33 +++
 .../unroll_loop_thread/unroll_loop_thread.c   |  74 +++++++
 .../shell/coresight/unroll_loop_thread_10.sh  |  18 ++
 tools/perf/tests/shell/lib/coresight.sh       | 132 +++++++++++
 30 files changed, 1094 insertions(+), 139 deletions(-)
 create mode 100644 Documentation/trace/coresight/coresight-perf.rst
 create mode 100644 tools/perf/Documentation/perf-arm-coresight.txt
 create mode 100644 tools/perf/tests/builtin-test-list.c
 create mode 100644 tools/perf/tests/builtin-test-list.h
 create mode 100644 tools/perf/tests/shell/coresight/Makefile
 create mode 100644 tools/perf/tests/shell/coresight/Makefile.miniconfig
 create mode 100755 tools/perf/tests/shell/coresight/asm_pure_loop.sh
 create mode 100644 tools/perf/tests/shell/coresight/asm_pure_loop/.gitignore
 create mode 100644 tools/perf/tests/shell/coresight/asm_pure_loop/Makefile
 create mode 100644 tools/perf/tests/shell/coresight/asm_pure_loop/asm_pure_loop.S
 create mode 100644 tools/perf/tests/shell/coresight/memcpy_thread/.gitignore
 create mode 100644 tools/perf/tests/shell/coresight/memcpy_thread/Makefile
 create mode 100644 tools/perf/tests/shell/coresight/memcpy_thread/memcpy_thread.c
 create mode 100755 tools/perf/tests/shell/coresight/memcpy_thread_16k_10.sh
 create mode 100644 tools/perf/tests/shell/coresight/thread_loop/.gitignore
 create mode 100644 tools/perf/tests/shell/coresight/thread_loop/Makefile
 create mode 100644 tools/perf/tests/shell/coresight/thread_loop/thread_loop.c
 create mode 100755 tools/perf/tests/shell/coresight/thread_loop_check_tid_10.sh
 create mode 100755 tools/perf/tests/shell/coresight/thread_loop_check_tid_2.sh
 create mode 100644 tools/perf/tests/shell/coresight/unroll_loop_thread/.gitignore
 create mode 100644 tools/perf/tests/shell/coresight/unroll_loop_thread/Makefile
 create mode 100644 tools/perf/tests/shell/coresight/unroll_loop_thread/unroll_loop_thread.c
 create mode 100755 tools/perf/tests/shell/coresight/unroll_loop_thread_10.sh
 create mode 100644 tools/perf/tests/shell/lib/coresight.sh

-- 
2.32.0


             reply	other threads:[~2022-08-12 12:16 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-08-12 12:16 carsten.haitzler [this message]
2022-08-12 12:16 ` [PATCH v7 01/14] perf test: Refactor shell tests allowing subdirs carsten.haitzler
2022-08-12 12:16 ` [PATCH v7 02/14] perf test: Add CoreSight shell lib shared code for future tests carsten.haitzler
2022-08-12 12:16 ` [PATCH v7 03/14] perf test: Add build infra for perf test tools for CoreSight tests carsten.haitzler
2022-08-12 12:16 ` [PATCH v7 04/14] perf test: Add asm pureloop test tool carsten.haitzler
2022-08-12 12:16 ` [PATCH v7 05/14] perf test: Add asm pureloop test shell script carsten.haitzler
2022-08-12 12:16 ` [PATCH v7 06/14] perf test: Add git ignore for perf data generated by the CoreSight tests carsten.haitzler
2022-08-12 12:16 ` [PATCH v7 07/14] perf test: Add memcpy thread test tool carsten.haitzler
2022-08-12 12:16 ` [PATCH v7 08/14] perf test: Add memcpy thread test shell script carsten.haitzler
2022-08-12 12:16 ` [PATCH v7 09/14] perf test: Add thread loop test tool carsten.haitzler
2022-08-12 12:16 ` [PATCH v7 10/14] perf test: Add thread loop test shell scripts carsten.haitzler
2022-08-12 12:16 ` [PATCH v7 11/14] perf test: Add unroll thread test tool carsten.haitzler
2022-08-12 12:16 ` [PATCH v7 12/14] perf test: Add unroll thread test shell script carsten.haitzler
2022-08-12 12:16 ` [PATCH v7 13/14] perf test: Add git ignore for tmp and output files of CoreSight tests carsten.haitzler
2022-08-12 12:16 ` [PATCH v7 14/14] perf test: Add relevant documentation about CoreSight testing carsten.haitzler
2022-08-12 18:51 ` [PATCH v7 00/14] perf: test: Add trace data quality tests for CoreSight Arnaldo Carvalho de Melo
2022-08-12 18:53   ` Arnaldo Carvalho de Melo
2022-08-12 18:55     ` Arnaldo Carvalho de Melo
2022-08-12 19:00       ` Arnaldo Carvalho de Melo
2022-08-15  8:00         ` Carsten Haitzler
2022-08-15  8:02     ` Carsten Haitzler
2022-08-12 19:02 ` Arnaldo Carvalho de Melo
2022-08-13 14:17   ` Leo Yan
2022-08-13 18:10     ` Arnaldo Carvalho de Melo
2022-08-13 18:11       ` Arnaldo Carvalho de Melo
2022-08-13 18:14         ` Arnaldo Carvalho de Melo

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20220812121641.336465-1-carsten.haitzler@foss.arm.com \
    --to=carsten.haitzler@foss.arm.com \
    --cc=acme@kernel.org \
    --cc=coresight@lists.linaro.org \
    --cc=leo.yan@linaro.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-perf-users@vger.kernel.org \
    --cc=mathieu.poirier@linaro.org \
    --cc=mike.leach@linaro.org \
    --cc=suzuki.poulose@arm.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).