The perf ftrace test case runs:
perf ftrace profile --graph-opts depth=5 sleep 0.1
and checks that the output contains a *clock_nanosleep function with a
count of 1.
This fails on a risc-v system that uses musl as its C library. musl's
nanosleep syscall wrapper uses either the nanosleep or the
clock_nanosleep syscall.
Filter for sys_*nanosleep to allow both syscalls.
Signed-off-by: Martin Kaiser <martin@kaiser.cx>
Acked-by: Namhyung Kim <namhyung@kernel.org>
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
grep ^# "${output}"
time_re="[[:space:]]+1[[:digit:]]{5}\.[[:digit:]]{3}"
# 100283.000 100283.000 100283.000 1 __x64_sys_clock_nanosleep
- # Check for one *clock_nanosleep line with a Count of just 1 that takes a bit more than 0.1 seconds
- # Strip the _x64_sys part to work with other architectures
- grep -E "^${time_re}${time_re}${time_re}[[:space:]]+1[[:space:]]+.*clock_nanosleep" "${output}"
+ # Check for one *sys_*nanosleep line with a Count of just 1 that takes a bit more than 0.1 seconds
+ # Strip the _x64_ part to work with other architectures, strip the clock part to support
+ # C libraries that use the nanosleep syscall instead of clock_nanosleep
+ grep -E "^${time_re}${time_re}${time_re}[[:space:]]+1[[:space:]]+.*sys_.*nanosleep" "${output}"
echo "perf ftrace profile test [Success]"
}