@@ -42,6 +42,14 @@ trap_cleanup()
42
42
43
43
trap trap_cleanup EXIT TERM INT
44
44
45
+ # perf record for testing without decoding
46
+ perf_record_no_decode ()
47
+ {
48
+ # Options to speed up recording: no post-processing, no build-id cache update,
49
+ # and no BPF events.
50
+ perf record -B -N --no-bpf-event " $@ "
51
+ }
52
+
45
53
have_workload=false
46
54
cat << _end_of_file_ | /usr/bin/cc -o "${workload} " -xc - -pthread && have_workload=true
47
55
#include <time.h>
@@ -76,7 +84,7 @@ _end_of_file_
76
84
can_cpu_wide ()
77
85
{
78
86
echo " Checking for CPU-wide recording on CPU $1 "
79
- if ! perf record -o " ${tmpfile} " -B -N --no-bpf-event -e dummy:u -C " $1 " true > /dev/null 2>&1 ; then
87
+ if ! perf_record_no_decode -o " ${tmpfile} " -e dummy:u -C " $1 " true > /dev/null 2>&1 ; then
80
88
echo " No so skipping"
81
89
return 2
82
90
fi
@@ -93,7 +101,7 @@ test_system_wide_side_band()
93
101
can_cpu_wide 1 || return $?
94
102
95
103
# Record on CPU 0 a task running on CPU 1
96
- perf record -B -N --no-bpf-event -o " ${perfdatafile} " -e intel_pt//u -C 0 -- taskset --cpu-list 1 uname
104
+ perf_record_no_decode -o " ${perfdatafile} " -e intel_pt//u -C 0 -- taskset --cpu-list 1 uname
97
105
98
106
# Should get MMAP events from CPU 1 because they can be needed to decode
99
107
mmap_cnt=$( perf script -i " ${perfdatafile} " --no-itrace --show-mmap-events -C 1 2> /dev/null | grep -c MMAP)
@@ -109,7 +117,7 @@ test_system_wide_side_band()
109
117
110
118
can_kernel ()
111
119
{
112
- perf record -o " ${tmpfile} " -B -N --no-bpf-event -e dummy:k true > /dev/null 2>&1 || return 2
120
+ perf_record_no_decode -o " ${tmpfile} " -e dummy:k true > /dev/null 2>&1 || return 2
113
121
return 0
114
122
}
115
123
@@ -235,7 +243,7 @@ test_per_thread()
235
243
wait_for_threads ${w1} 2
236
244
wait_for_threads ${w2} 2
237
245
238
- perf record -B -N --no-bpf-event -o " ${perfdatafile} " -e intel_pt//u" ${k} " -vvv --per-thread -p " ${w1} ,${w2} " 2> " ${errfile} " > " ${outfile} " &
246
+ perf_record_no_decode -o " ${perfdatafile} " -e intel_pt//u" ${k} " -vvv --per-thread -p " ${w1} ,${w2} " 2> " ${errfile} " > " ${outfile} " &
239
247
ppid=$!
240
248
echo " perf PID is $ppid "
241
249
wait_for_perf_to_start ${ppid} " ${errfile} " || return 1
0 commit comments