perf test: Add test case for record sideband events
Add a new test case to record sideband events for all CPUs when tracing selected CPUs Test result: # ./perf test list 2>&1 | grep 'perf record sideband tests' 95: perf record sideband tests # ./perf test 95 95: perf record sideband tests : Ok Signed-off-by: Yang Jihong <yangjihong1@huawei.com> Tested-by: Ravi Bangoria <ravi.bangoria@amd.com> Cc: Adrian Hunter <adrian.hunter@intel.com> Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com> Cc: Andi Kleen <ak@linux.intel.com> Cc: Anshuman Khandual <anshuman.khandual@arm.com> Cc: Ian Rogers <irogers@google.com> Cc: Ingo Molnar <mingo@redhat.com> Cc: James Clark <james.clark@arm.com> Cc: Jiri Olsa <jolsa@kernel.org> Cc: Kan Liang <kan.liang@linux.intel.com> Cc: Mark Rutland <mark.rutland@arm.com> Cc: Namhyung Kim <namhyung@kernel.org> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Thomas Richter <tmricht@linux.ibm.com> Link: https://lore.kernel.org/r/20230904023340.12707-6-yangjihong1@huawei.com Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
This commit is contained in:
parent
74b4f3ecdf
commit
23b97c7ee9
58
tools/perf/tests/shell/record_sideband.sh
Executable file
58
tools/perf/tests/shell/record_sideband.sh
Executable file
@ -0,0 +1,58 @@
|
||||
#!/bin/sh
|
||||
# perf record sideband tests
|
||||
# SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
set -e
|
||||
|
||||
err=0
|
||||
perfdata=$(mktemp /tmp/__perf_test.perf.data.XXXXX)
|
||||
|
||||
cleanup()
|
||||
{
|
||||
rm -rf ${perfdata}
|
||||
trap - EXIT TERM INT
|
||||
}
|
||||
|
||||
trap_cleanup()
|
||||
{
|
||||
cleanup
|
||||
exit 1
|
||||
}
|
||||
trap trap_cleanup EXIT TERM INT
|
||||
|
||||
can_cpu_wide()
|
||||
{
|
||||
if ! perf record -o ${perfdata} -BN --no-bpf-event -C $1 true 2>&1 >/dev/null
|
||||
then
|
||||
echo "record sideband test [Skipped cannot record cpu$1]"
|
||||
err=2
|
||||
fi
|
||||
|
||||
rm -f ${perfdata}
|
||||
return $err
|
||||
}
|
||||
|
||||
test_system_wide_tracking()
|
||||
{
|
||||
# Need CPU 0 and CPU 1
|
||||
can_cpu_wide 0 || return 0
|
||||
can_cpu_wide 1 || return 0
|
||||
|
||||
# Record on CPU 0 a task running on CPU 1
|
||||
perf record -BN --no-bpf-event -o ${perfdata} -C 0 -- taskset --cpu-list 1 true
|
||||
|
||||
# Should get MMAP events from CPU 1
|
||||
mmap_cnt=`perf script -i ${perfdata} --show-mmap-events -C 1 2>/dev/null | grep MMAP | wc -l`
|
||||
|
||||
if [ ${mmap_cnt} -gt 0 ] ; then
|
||||
return 0
|
||||
fi
|
||||
|
||||
echo "Failed to record MMAP events on CPU 1 when tracing CPU 0"
|
||||
return 1
|
||||
}
|
||||
|
||||
test_system_wide_tracking
|
||||
|
||||
cleanup
|
||||
exit $err
|
Loading…
x
Reference in New Issue
Block a user