diff options
author | Hangbin Liu <liuhangbin@gmail.com> | 2020-01-17 18:06:56 +0800 |
---|---|---|
committer | Daniel Borkmann <daniel@iogearbox.net> | 2020-01-20 23:26:58 +0100 |
commit | f1c3656c6d9c147d07d16614455aceb34932bdeb (patch) | |
tree | 7473c25bcdbf6fa287f7fc459ce35e0a535c7fff | |
parent | 396b83fa75a3deb9aa68296c090f4eb540917d9d (diff) | |
download | linux-stable-f1c3656c6d9c147d07d16614455aceb34932bdeb.tar.gz linux-stable-f1c3656c6d9c147d07d16614455aceb34932bdeb.tar.bz2 linux-stable-f1c3656c6d9c147d07d16614455aceb34932bdeb.zip |
selftests/bpf: Skip perf hw events test if the setup disabled it
The same with commit 4e59afbbed96 ("selftests/bpf: skip nmi test when perf
hw events are disabled"), it would make more sense to skip the
test_stacktrace_build_id_nmi test if the setup (e.g. virtual machines) has
disabled hardware perf events.
Fixes: 13790d1cc72c ("bpf: add selftest for stackmap with build_id in NMI context")
Signed-off-by: Hangbin Liu <liuhangbin@gmail.com>
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
Acked-by: John Fastabend <john.fastabend@gmail.com>
Link: https://lore.kernel.org/bpf/20200117100656.10359-1-liuhangbin@gmail.com
-rw-r--r-- | tools/testing/selftests/bpf/prog_tests/stacktrace_build_id_nmi.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/tools/testing/selftests/bpf/prog_tests/stacktrace_build_id_nmi.c b/tools/testing/selftests/bpf/prog_tests/stacktrace_build_id_nmi.c index 8974450a4bdb..f002e3090d92 100644 --- a/tools/testing/selftests/bpf/prog_tests/stacktrace_build_id_nmi.c +++ b/tools/testing/selftests/bpf/prog_tests/stacktrace_build_id_nmi.c @@ -49,8 +49,12 @@ retry: pmu_fd = syscall(__NR_perf_event_open, &attr, -1 /* pid */, 0 /* cpu 0 */, -1 /* group id */, 0 /* flags */); - if (CHECK(pmu_fd < 0, "perf_event_open", - "err %d errno %d. Does the test host support PERF_COUNT_HW_CPU_CYCLES?\n", + if (pmu_fd < 0 && errno == ENOENT) { + printf("%s:SKIP:no PERF_COUNT_HW_CPU_CYCLES\n", __func__); + test__skip(); + goto cleanup; + } + if (CHECK(pmu_fd < 0, "perf_event_open", "err %d errno %d\n", pmu_fd, errno)) goto cleanup; |