[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20211216151454.752066-1-tmricht@linux.ibm.com>
Date: Thu, 16 Dec 2021 16:14:54 +0100
From: Thomas Richter <tmricht@...ux.ibm.com>
To: linux-kernel@...r.kernel.org, linux-perf-users@...r.kernel.org,
acme@...nel.org, elver@...gle.com
Cc: svens@...ux.ibm.com, gor@...ux.ibm.com, sumanthk@...ux.ibm.com,
hca@...ux.ibm.com, Thomas Richter <tmricht@...ux.ibm.com>
Subject: [PATCH] perf test: Test 73 Sig_trap fails on s390
In Linux next kernel
Commit 5504f67944484 ("perf test sigtrap: Add basic stress test for sigtrap handling")
introduced the new test which uses breakpoint events.
These events are not supported on s390 and PowerPC and always fail:
# perf test -F 73
73: Sigtrap : FAILED!
#
Fix it the same way as in the breakpoint tests in file
tests/bp_account.c where these type of tests are skipped on
s390 and PowerPC platforms.
With this patch skip this test on both platforms.
Output after:
# ./perf test -F 73
73: Sigtrap
Fixes: 5504f67944484 ("perf test sigtrap: Add basic stress test for sigtrap handling")
Cc: Marco Elver <elver@...gle.com>
Signed-off-by: Thomas Richter <tmricht@...ux.ibm.com>
---
tools/perf/tests/sigtrap.c | 18 ++++++++++++++++++
1 file changed, 18 insertions(+)
diff --git a/tools/perf/tests/sigtrap.c b/tools/perf/tests/sigtrap.c
index 1004bf0e7cc9..1f147fe6595f 100644
--- a/tools/perf/tests/sigtrap.c
+++ b/tools/perf/tests/sigtrap.c
@@ -22,6 +22,19 @@
#include "tests.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
static struct {
@@ -122,6 +135,11 @@ static int test__sigtrap(struct test_suite *test __maybe_unused, int subtest __m
char sbuf[STRERR_BUFSIZE];
int i, fd, ret = TEST_FAIL;
+ if (!BP_ACCOUNT_IS_SUPPORTED) {
+ pr_debug("Test not supported on this architecture");
+ return TEST_SKIP;
+ }
+
pthread_barrier_init(&barrier, NULL, NUM_THREADS + 1);
action.sa_flags = SA_SIGINFO | SA_NODEFER;
--
2.33.1
Powered by blists - more mailing lists