[PATCHSET,0/8] perf test: Improve perf record tests (v2)

Message ID 20221020172643.3458767-1-namhyung@kernel.org
Headers
Series perf test: Improve perf record tests (v2) |

Message

Namhyung Kim Oct. 20, 2022, 5:26 p.m. UTC
  Hello,

This patchset improves the perf record tests to check more cases so that it
can find problems early.  The motivation was a failure per-thread mmap with
multi-threaded targets which Adrian is working on the fix.

Changes in v2)
 * fix shellcheck issues
 * drop unsupported --per-thread and --threads combination
 * do not use initial delay (-D option); instead it runs the target
   and wait for it separately using the recent waiting.sh library
 * add Adrian's Reviewed-by tags

I added a custom test program and more combinations like system-wide and
command line workload (in per-process mode) testing with multi-threaded
recording mode.

Currently it succeeds every tests when running as root!

  $ sudo ./perf test -v 91
   91: perf record tests                                               :
  --- start ---
  test child forked, pid 108975
  Build a test program
  Basic --per-thread mode test
  Basic --per-thread mode test [Success]
  Register capture test
  Register capture test [Success]
  Basic --system-wide mode test
  Basic --system-wide mode test [Success]
  Basic target workload test
  Basic target workload test [Success]
  test child finished with 0
  ---- end ----
  perf record tests: Ok

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

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

Thanks,
Namhyung


Namhyung Kim (8):
  perf test: Do not use instructions:u explicitly
  perf test: Fix shellcheck issues in the record test
  perf test: Use a test program in perf record tests
  perf test: Wait for a new thread when testing --per-thread record
  perf test: Add system-wide mode in perf record tests
  perf test: Add target workload test in perf record tests
  perf test: Test record with --threads option
  perf test: Do not set TEST_SKIP for record subtests

 tools/perf/tests/shell/record.sh | 180 +++++++++++++++++++++++++++----
 1 file changed, 158 insertions(+), 22 deletions(-)


base-commit: a3a365655a28f12f07eddf4f3fd596987b175e1d
  

Comments

Arnaldo Carvalho de Melo Oct. 26, 2022, 2:15 p.m. UTC | #1
Em Thu, Oct 20, 2022 at 10:26:35AM -0700, Namhyung Kim escreveu:
> Hello,
> 
> This patchset improves the perf record tests to check more cases so that it
> can find problems early.  The motivation was a failure per-thread mmap with
> multi-threaded targets which Adrian is working on the fix.
> 
> Changes in v2)
>  * fix shellcheck issues
>  * drop unsupported --per-thread and --threads combination
>  * do not use initial delay (-D option); instead it runs the target
>    and wait for it separately using the recent waiting.sh library
>  * add Adrian's Reviewed-by tags
> 
> I added a custom test program and more combinations like system-wide and
> command line workload (in per-process mode) testing with multi-threaded
> recording mode.

Thanks, applied to perf/core.

- Arnaldo

 
> Currently it succeeds every tests when running as root!
> 
>   $ sudo ./perf test -v 91
>    91: perf record tests                                               :
>   --- start ---
>   test child forked, pid 108975
>   Build a test program
>   Basic --per-thread mode test
>   Basic --per-thread mode test [Success]
>   Register capture test
>   Register capture test [Success]
>   Basic --system-wide mode test
>   Basic --system-wide mode test [Success]
>   Basic target workload test
>   Basic target workload test [Success]
>   test child finished with 0
>   ---- end ----
>   perf record tests: Ok
> 
> You can find it in 'perf/record-test-v2' branch in
> 
>   git://git.kernel.org/pub/scm/linux/kernel/git/namhyung/linux-perf.git
> 
> Thanks,
> Namhyung
> 
> 
> Namhyung Kim (8):
>   perf test: Do not use instructions:u explicitly
>   perf test: Fix shellcheck issues in the record test
>   perf test: Use a test program in perf record tests
>   perf test: Wait for a new thread when testing --per-thread record
>   perf test: Add system-wide mode in perf record tests
>   perf test: Add target workload test in perf record tests
>   perf test: Test record with --threads option
>   perf test: Do not set TEST_SKIP for record subtests
> 
>  tools/perf/tests/shell/record.sh | 180 +++++++++++++++++++++++++++----
>  1 file changed, 158 insertions(+), 22 deletions(-)
> 
> 
> base-commit: a3a365655a28f12f07eddf4f3fd596987b175e1d
> -- 
> 2.38.0.135.g90850a2211-goog