[PATCH v2] perf test: S390 does not support watchpoints in test 22

From: Thomas Richter
Date: Fri Sep 28 2018 - 03:43:53 EST


S390 does not support the perf_event_open system call for
attribute type PERF_TYPE_BREAKPOINT. This results in test
failure for test 22:

[root@s8360046 perf]# ./perf test 22
22: Watchpoint :
22.1: Read Only Watchpoint : FAILED!
22.2: Write Only Watchpoint : FAILED!
22.3: Read / Write Watchpoint : FAILED!
22.4: Modify Watchpoint : FAILED!
[root@s8360046 perf]#

Add s390 support to avoid these tests being executed on
s390 platform:

[root@s8360046 perf]# ./perf test 22
22: Watchpoint :
22.1: Read Only Watchpoint : Skip
22.2: Write Only Watchpoint : Skip
22.3: Read / Write Watchpoint : Skip
22.4: Modify Watchpoint : Skip
[root@s8360046 perf]#

Signed-off-by: Thomas Richter <tmricht@xxxxxxxxxxxxx>
Reviewed-by: Hendrik Brueckner <brueckner@xxxxxxxxxxxxx>
---
tools/perf/tests/builtin-test.c | 2 +-
tools/perf/tests/wp.c | 4 ++--
2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/tools/perf/tests/builtin-test.c b/tools/perf/tests/builtin-test.c
index 54ca7d87236f..e83c15a95c43 100644
--- a/tools/perf/tests/builtin-test.c
+++ b/tools/perf/tests/builtin-test.c
@@ -124,7 +124,7 @@ static struct test generic_tests[] = {
.desc = "Watchpoint",
.func = test__wp,
.subtest = {
- .skip_if_fail = false,
+ .skip_if_fail = true,
.get_nr = test__wp_subtest_get_nr,
.get_desc = test__wp_subtest_get_desc,
},
diff --git a/tools/perf/tests/wp.c b/tools/perf/tests/wp.c
index 017a99317f94..85c66f978732 100644
--- a/tools/perf/tests/wp.c
+++ b/tools/perf/tests/wp.c
@@ -162,7 +162,7 @@ static int wp_modify_test(void)

static bool wp_ro_supported(void)
{
-#if defined (__x86_64__) || defined (__i386__)
+#if defined(__x86_64__) || defined(__i386__) || defined(__s390x__)
return false;
#else
return true;
@@ -171,7 +171,7 @@ static bool wp_ro_supported(void)

static void wp_ro_skip_msg(void)
{
-#if defined (__x86_64__) || defined (__i386__)
+#if defined(__x86_64__) || defined (__i386__) || defined(__s390x__)
pr_debug("Hardware does not support read only watchpoints.\n");
#endif
}
--
2.17.0