Commit f268088f authored by John Garry's avatar John Garry Committed by Arnaldo Carvalho de Melo

perf test: Skip failing sigtrap test for arm+aarch64

Skip the Sigtrap test for arm + arm64, same as was done for s390 in
commit a840974e ("perf test: Test 73 Sig_trap fails on s390"). For
this, reuse BP_SIGNAL_IS_SUPPORTED - meaning that the arch can use BP to
generate signals - instead of BP_ACCOUNT_IS_SUPPORTED, which is
appropriate.

As described by Will at [0], in the test we get stuck in a loop of
handling the HW breakpoint exception and never making progress. GDB
handles this by stepping over the faulting instruction, but with perf
the kernel is expected to handle the step (which it doesn't for arm).

Dmitry made an attempt to get this work, also mentioned in the same
thread as [0], which was appreciated. But the best thing to do is skip
the test for now.

[0] https://lore.kernel.org/linux-perf-users/20220118124343.GC98966@leoy-ThinkPad-X240s/T/#m13b06c39d2a5100d340f009435df6f4d8ee57b5a

Fixes: 5504f679 ("perf test sigtrap: Add basic stress test for sigtrap handling")
Signed-off-by: default avatarJohn Garry <john.garry@huawei.com>
Tested-by: default avatarLeo Yan <leo.yan@linaro.org>
Acked-by: default avatarMarco Elver <elver@google.com>
Cc: Dmitriy Vyukov <dvyukov@google.com>
Cc: Ian Rogers <irogers@google.com>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Jiri Olsa <jolsa@kernel.org>
Cc: Marco Elver <elver@google.com>
Cc: Mark Rutland <mark.rutland@arm.com>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Richter <tmricht@linux.ibm.com>
Cc: Will Deacon <will@kernel.org>
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux@armlinux.org.uk
Link: https://lore.kernel.org/r/1645176813-202756-1-git-send-email-john.garry@huawei.comSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
parent 9195e5e0
...@@ -22,19 +22,6 @@ ...@@ -22,19 +22,6 @@
#include "tests.h" #include "tests.h"
#include "../perf-sys.h" #include "../perf-sys.h"
/*
* PowerPC and S390 do not support creation of instruction breakpoints using the
* perf_event interface.
*
* Just disable the test for these architectures until these issues are
* resolved.
*/
#if defined(__powerpc__) || defined(__s390x__)
#define BP_ACCOUNT_IS_SUPPORTED 0
#else
#define BP_ACCOUNT_IS_SUPPORTED 1
#endif
#define NUM_THREADS 5 #define NUM_THREADS 5
static struct { static struct {
...@@ -135,7 +122,7 @@ static int test__sigtrap(struct test_suite *test __maybe_unused, int subtest __m ...@@ -135,7 +122,7 @@ static int test__sigtrap(struct test_suite *test __maybe_unused, int subtest __m
char sbuf[STRERR_BUFSIZE]; char sbuf[STRERR_BUFSIZE];
int i, fd, ret = TEST_FAIL; int i, fd, ret = TEST_FAIL;
if (!BP_ACCOUNT_IS_SUPPORTED) { if (!BP_SIGNAL_IS_SUPPORTED) {
pr_debug("Test not supported on this architecture"); pr_debug("Test not supported on this architecture");
return TEST_SKIP; return TEST_SKIP;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment