perf test: Test record with --threads option

The --threads option changed the 'perf record' behavior significantly,
so it'd be nice if we test it separately.  Add --threads options with
different argument in each test supported and check the result.

Also update the cleanup routine because threads recording produces data
in a directory.

Reviewed-by: Adrian Hunter <adrian.hunter@intel.com>
Signed-off-by: Namhyung Kim <namhyung@kernel.org>
Acked-by: Ian Rogers <irogers@google.com>
Cc: Ingo Molnar <mingo@kernel.org>
Cc: Jiri Olsa <jolsa@kernel.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Link: https://lore.kernel.org/r/20221020172643.3458767-8-namhyung@kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
This commit is contained in:
Namhyung Kim 2022-10-20 10:26:42 -07:00 committed by Arnaldo Carvalho de Melo
parent c8c9356774
commit 7f4ed3f0b1
1 changed files with 28 additions and 2 deletions

View File

@ -13,8 +13,8 @@ testprog=$(mktemp /tmp/__perf_test.prog.XXXXXX)
testsym="test_loop"
cleanup() {
rm -f "${perfdata}"
rm -f "${perfdata}".old
rm -rf "${perfdata}"
rm -rf "${perfdata}".old
if [ "${testprog}" != "true" ]; then
rm -f "${testprog}"
@ -171,6 +171,19 @@ test_system_wide() {
err=1
return
fi
if ! perf record -aB --synth=no -e cpu-clock,cs --threads=cpu \
-o "${perfdata}" ${testprog} 2> /dev/null
then
echo "System-wide record [Failed record --threads option]"
err=1
return
fi
if ! perf report -i "${perfdata}" -q | grep -q "${testsym}"
then
echo "System-wide record [Failed --threads missing output]"
err=1
return
fi
echo "Basic --system-wide mode test [Success]"
}
@ -188,6 +201,19 @@ test_workload() {
err=1
return
fi
if ! perf record -e cpu-clock,cs --threads=package \
-o "${perfdata}" ${testprog} 2> /dev/null
then
echo "Workload record [Failed record --threads option]"
err=1
return
fi
if ! perf report -i "${perfdata}" -q | grep -q "${testsym}"
then
echo "Workload record [Failed --threads missing output]"
err=1
return
fi
echo "Basic target workload test [Success]"
}