perf intel-pt: Add a test for pause / resume
Add a simple sub-test to the "Miscellaneous Intel PT testing" test to check pause / resume. Reviewed-by: Andi Kleen <ak@linux.intel.com> Signed-off-by: Adrian Hunter <adrian.hunter@intel.com> Acked-by: Ian Rogers <irogers@google.com> Tested-by: Arnaldo Carvalho de Melo <acme@redhat.com> Cc: Jiri Olsa <jolsa@kernel.org> Cc: Kan Liang <kan.liang@linux.intel.com> Cc: Leo Yan <leo.yan@arm.com> Cc: Namhyung Kim <namhyung@kernel.org> Link: https://lore.kernel.org/r/20241216070244.14450-8-adrian.hunter@intel.com Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
This commit is contained in:
parent
f8b301e0a4
commit
4c7f9ee2eb
@ -644,6 +644,33 @@ test_pipe()
|
||||
return 0
|
||||
}
|
||||
|
||||
test_pause_resume()
|
||||
{
|
||||
echo "--- Test with pause / resume ---"
|
||||
if ! perf_record_no_decode -o "${perfdatafile}" -e intel_pt/aux-action=start-paused/u uname ; then
|
||||
echo "SKIP: pause / resume is not supported"
|
||||
return 2
|
||||
fi
|
||||
if ! perf_record_no_bpf -o "${perfdatafile}" \
|
||||
-e intel_pt/aux-action=start-paused/u \
|
||||
-e instructions/period=50000,aux-action=resume,name=Resume/u \
|
||||
-e instructions/period=100000,aux-action=pause,name=Pause/u uname ; then
|
||||
echo "perf record with pause / resume failed"
|
||||
return 1
|
||||
fi
|
||||
if ! perf script -i "${perfdatafile}" --itrace=b -Fperiod,event | \
|
||||
awk 'BEGIN {paused=1;branches=0}
|
||||
/Resume/ {paused=0}
|
||||
/branches/ {if (paused) exit 1;branches=1}
|
||||
/Pause/ {paused=1}
|
||||
END {if (!branches) exit 1}' ; then
|
||||
echo "perf record with pause / resume failed"
|
||||
return 1
|
||||
fi
|
||||
echo OK
|
||||
return 0
|
||||
}
|
||||
|
||||
count_result()
|
||||
{
|
||||
if [ "$1" -eq 2 ] ; then
|
||||
@ -672,6 +699,7 @@ test_power_event || ret=$? ; count_result $ret ; ret=0
|
||||
test_no_tnt || ret=$? ; count_result $ret ; ret=0
|
||||
test_event_trace || ret=$? ; count_result $ret ; ret=0
|
||||
test_pipe || ret=$? ; count_result $ret ; ret=0
|
||||
test_pause_resume || ret=$? ; count_result $ret ; ret=0
|
||||
|
||||
cleanup
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user