File tree Expand file tree Collapse file tree 1 file changed +31
-0
lines changed Expand file tree Collapse file tree 1 file changed +31
-0
lines changed Original file line number Diff line number Diff line change 1+ #! /bin/sh
2+ # perf trace exit race
3+ # SPDX-License-Identifier: GPL-2.0
4+
5+ # Check that the last events of a perf trace'd subprocess are not
6+ # lost. Specifically, trace the exiting syscall of "true" 10 times and ensure
7+ # the output contains 10 correct lines.
8+
9+ # shellcheck source=lib/probe.sh
10+ . " $( dirname $0 ) " /lib/probe.sh
11+
12+ skip_if_no_perf_trace || exit 2
13+
14+ trace_shutdown_race () {
15+ for _ in $( seq 10) ; do
16+ perf trace -e syscalls:sys_enter_exit_group true 2>> $file
17+ done
18+ [ " $( grep -c -E ' +[0-9]+\.[0-9]+ +true/[0-9]+ syscalls:sys_enter_exit_group\(\)$' $file ) " = " 10" ]
19+ }
20+
21+
22+ file=$( mktemp /tmp/temporary_file.XXXXX)
23+
24+ # Do not use whatever ~/.perfconfig file, it may change the output
25+ # via trace.{show_timestamp,show_prefix,etc}
26+ export PERF_CONFIG=/dev/null
27+
28+ trace_shutdown_race
29+ err=$?
30+ rm -f ${file}
31+ exit $err
You can’t perform that action at this time.
0 commit comments