Skip to content

Commit 557c132

Browse files
author
CKI KWF Bot
committed
Merge: perf test probe_vfs_getname: Skip if no suitable line detected
MR: https://gitlab.com/redhat/centos-stream/src/kernel/centos-stream-10/-/merge_requests/1102 # Merge Request Required Information JIRA: https://issues.redhat.com/browse/RHEL-74228 ## Summary of Changes In some cases when calling function add_probe_vfs_getname, line number can't be detected by 'perf probe -L getname_flags': 78 atomic_set(&result->refcnt, 1); // one of the following lines should have line number // but sometimes it does not because of optimization result->uptr = filename; result->aname = NULL; 81 audit_getname(result); To prevent false failures, skip the affected tests if no suitable line numbers can be detected. Signed-off-by: Jakub Brnak <jbrnak@redhat.com> Approved-by: ashelat <ashelat@redhat.com> Approved-by: Michael Petlan <mpetlan@redhat.com> Approved-by: CKI KWF Bot <cki-ci-bot+kwf-gitlab-com@redhat.com> Merged-by: CKI GitLab Kmaint Pipeline Bot <26919896-cki-kmaint-pipeline-bot@users.noreply.gitlab.com>
2 parents d4653a5 + 4d86b89 commit 557c132

File tree

4 files changed

+28
-5
lines changed

4 files changed

+28
-5
lines changed

tools/perf/tests/shell/lib/probe_vfs_getname.sh

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,14 @@ add_probe_vfs_getname() {
1919
result_aname_re="[[:space:]]+([[:digit:]]+)[[:space:]]+result->aname = NULL;"
2020
line=$(perf probe -L getname_flags 2>&1 | grep -E "$result_aname_re" | sed -r "s/$result_aname_re/\1/")
2121
fi
22+
23+
if [ -z "$line" ] ; then
24+
echo "Could not find probeable line"
25+
return 2
26+
fi
27+
2228
perf probe -q "vfs_getname=getname_flags:${line} pathname=result->name:string" || \
23-
perf probe $add_probe_verbose "vfs_getname=getname_flags:${line} pathname=filename:ustring"
29+
perf probe $add_probe_verbose "vfs_getname=getname_flags:${line} pathname=filename:ustring" || return 1
2430
fi
2531
}
2632

tools/perf/tests/shell/probe_vfs_getname.sh

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,13 @@ skip_if_no_perf_probe || exit 2
1313
# shellcheck source=lib/probe_vfs_getname.sh
1414
. "$(dirname $0)"/lib/probe_vfs_getname.sh
1515

16-
add_probe_vfs_getname || skip_if_no_debuginfo
16+
add_probe_vfs_getname
1717
err=$?
18+
19+
if [ $err -eq 1 ] ; then
20+
skip_if_no_debuginfo
21+
err=$?
22+
fi
23+
1824
cleanup_probe_vfs_getname
1925
exit $err

tools/perf/tests/shell/record+script_probe_vfs_getname.sh

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,8 +35,14 @@ perf_script_filenames() {
3535
grep -E " +touch +[0-9]+ +\[[0-9]+\] +[0-9]+\.[0-9]+: +probe:vfs_getname[_0-9]*: +\([[:xdigit:]]+\) +pathname=\"${file}\""
3636
}
3737

38-
add_probe_vfs_getname || skip_if_no_debuginfo
38+
add_probe_vfs_getname
3939
err=$?
40+
41+
if [ $err -eq 1 ] ; then
42+
skip_if_no_debuginfo
43+
err=$?
44+
fi
45+
4046
if [ $err -ne 0 ] ; then
4147
exit $err
4248
fi

tools/perf/tests/shell/trace+probe_vfs_getname.sh

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,9 +25,14 @@ trace_open_vfs_getname() {
2525
grep -E " +[0-9]+\.[0-9]+ +\( +[0-9]+\.[0-9]+ ms\): +touch/[0-9]+ open(at)?\((dfd: +CWD, +)?filename: +\"?${file}\"?, +flags: CREAT\|NOCTTY\|NONBLOCK\|WRONLY, +mode: +IRUGO\|IWUGO\) += +[0-9]+$"
2626
}
2727

28-
29-
add_probe_vfs_getname || skip_if_no_debuginfo
28+
add_probe_vfs_getname
3029
err=$?
30+
31+
if [ $err -eq 1 ] ; then
32+
skip_if_no_debuginfo
33+
err=$?
34+
fi
35+
3136
if [ $err -ne 0 ] ; then
3237
exit $err
3338
fi

0 commit comments

Comments
 (0)