From: Jiri Olsa <jolsa@redhat.com>
To: Arnaldo Carvalho de Melo <acme@kernel.org>
Cc: Jiri Olsa <jolsa@kernel.org>, lkml <linux-kernel@vger.kernel.org>,
Ingo Molnar <mingo@kernel.org>,
Peter Zijlstra <a.p.zijlstra@chello.nl>,
Namhyung Kim <namhyung@kernel.org>,
David Ahern <dsahern@gmail.com>
Subject: [PATCHv2] perf test: Disable breakpoint signal tests for powerpc
Date: Thu, 1 Jun 2017 22:54:50 +0200 [thread overview]
Message-ID: <20170601205450.GA398@krava> (raw)
In-Reply-To: <20170601131007.GA27070@krava>
On Thu, Jun 01, 2017 at 03:10:07PM +0200, Jiri Olsa wrote:
> On Thu, Jun 01, 2017 at 10:04:58AM -0300, Arnaldo Carvalho de Melo wrote:
> > Em Tue, May 16, 2017 at 07:49:42PM +0200, Jiri Olsa escreveu:
> > > Following tests are constantly failing on powerpc:
> > >
> > > # perf test break
> > > 18: Breakpoint overflow signal handler : FAILED!
> > > 19: Breakpoint overflow sampling : FAILED!
> > >
> > > The powerpc so far does not have support to even create
> > > instruction breakpoint using the perf event interface,
> > > so those tests fail early in the config phase.
> > >
> > > I added 'ison' callback to test struct to be able to
> > > disable specific test. It seems better than putting
> > > ifdefs directly to the test array.
> > >
> > > Link: http://lkml.kernel.org/n/tip-erwshbq6f7b7hdtu65z5a25y@git.kernel.org
> > > Signed-off-by: Jiri Olsa <jolsa@kernel.org>
> > > ---
> > > tools/perf/tests/bp_signal.c | 14 ++++++++++++++
> > > tools/perf/tests/builtin-test.c | 7 +++++++
> > > tools/perf/tests/tests.h | 3 +++
> > > 3 files changed, 24 insertions(+)
> > >
> > > diff --git a/tools/perf/tests/bp_signal.c b/tools/perf/tests/bp_signal.c
> > > index e7664fe3bd33..0467c3b6d849 100644
> > > --- a/tools/perf/tests/bp_signal.c
> > > +++ b/tools/perf/tests/bp_signal.c
> > > @@ -288,3 +288,17 @@ int test__bp_signal(int subtest __maybe_unused)
> > > return count1 == 1 && overflows == 3 && count2 == 3 && overflows_2 == 3 && count3 == 2 ?
> > > TEST_OK : TEST_FAIL;
> > > }
> > > +
> > > +bool test__bp_signal_is_on(void)
> >
> > Can you please rename this "_is_on()" thing to "_supported()"?
v2 attached,
jirka
---
Following tests are constantly failing on powerpc:
# perf test break
18: Breakpoint overflow signal handler : FAILED!
19: Breakpoint overflow sampling : FAILED!
The powerpc so far does not have support to even create
instruction breakpoint using the perf event interface,
so those tests fail early in the config phase.
I added 'is_supported' callback to test struct to be able
to disable specific test. It seems better than putting
ifdefs directly to the test array.
Link: http://lkml.kernel.org/n/tip-erwshbq6f7b7hdtu65z5a25y@git.kernel.org
Signed-off-by: Jiri Olsa <jolsa@kernel.org>
---
tools/perf/tests/bp_signal.c | 14 ++++++++++++++
tools/perf/tests/builtin-test.c | 7 +++++++
tools/perf/tests/tests.h | 3 +++
3 files changed, 24 insertions(+)
diff --git a/tools/perf/tests/bp_signal.c b/tools/perf/tests/bp_signal.c
index e7664fe3bd33..8ba2c4618fe9 100644
--- a/tools/perf/tests/bp_signal.c
+++ b/tools/perf/tests/bp_signal.c
@@ -288,3 +288,17 @@ int test__bp_signal(int subtest __maybe_unused)
return count1 == 1 && overflows == 3 && count2 == 3 && overflows_2 == 3 && count3 == 2 ?
TEST_OK : TEST_FAIL;
}
+
+bool test__bp_signal_is_supported(void)
+{
+/*
+ * The powerpc so far does not have support to even create
+ * instruction breakpoint using the perf event interface.
+ * Once it's there we can release this.
+ */
+#ifdef __powerpc__
+ return false;
+#else
+ return true;
+#endif
+}
diff --git a/tools/perf/tests/builtin-test.c b/tools/perf/tests/builtin-test.c
index 9e08d297f1a9..3ccfd58a8c3c 100644
--- a/tools/perf/tests/builtin-test.c
+++ b/tools/perf/tests/builtin-test.c
@@ -97,10 +97,12 @@ static struct test generic_tests[] = {
{
.desc = "Breakpoint overflow signal handler",
.func = test__bp_signal,
+ .is_supported = test__bp_signal_is_supported,
},
{
.desc = "Breakpoint overflow sampling",
.func = test__bp_signal_overflow,
+ .is_supported = test__bp_signal_is_supported,
},
{
.desc = "Number of exit events of a simple workload",
@@ -401,6 +403,11 @@ static int __cmd_test(int argc, const char *argv[], struct intlist *skiplist)
if (!perf_test__matches(t, curr, argc, argv))
continue;
+ if (t->is_supported && !t->is_supported()) {
+ pr_debug("%2d: %-*s: Disabled\n", i, width, t->desc);
+ continue;
+ }
+
pr_info("%2d: %-*s:", i, width, t->desc);
if (intlist__find(skiplist, i)) {
diff --git a/tools/perf/tests/tests.h b/tools/perf/tests/tests.h
index 631859629403..577363809c9b 100644
--- a/tools/perf/tests/tests.h
+++ b/tools/perf/tests/tests.h
@@ -34,6 +34,7 @@ struct test {
int (*get_nr)(void);
const char *(*get_desc)(int subtest);
} subtest;
+ bool (*is_supported)(void);
};
/* Tests */
@@ -99,6 +100,8 @@ const char *test__clang_subtest_get_desc(int subtest);
int test__clang_subtest_get_nr(void);
int test__unit_number__scnprint(int subtest);
+bool test__bp_signal_is_supported(void);
+
#if defined(__arm__) || defined(__aarch64__)
#ifdef HAVE_DWARF_UNWIND_SUPPORT
struct thread;
--
2.9.4
next prev parent reply other threads:[~2017-06-01 20:54 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-05-16 17:49 [PATCH] perf test: Disable breakpoint signal tests for powerpc Jiri Olsa
2017-06-01 13:04 ` Arnaldo Carvalho de Melo
2017-06-01 13:10 ` Jiri Olsa
2017-06-01 20:54 ` Jiri Olsa [this message]
2017-06-02 14:04 ` [PATCHv2] " Arnaldo Carvalho de Melo
2017-06-02 14:05 ` Arnaldo Carvalho de Melo
2017-06-02 14:31 ` Arnaldo Carvalho de Melo
2017-06-04 18:54 ` Jiri Olsa
2017-06-07 15:59 ` [tip:perf/urgent] " tip-bot for Jiri Olsa
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20170601205450.GA398@krava \
--to=jolsa@redhat.com \
--cc=a.p.zijlstra@chello.nl \
--cc=acme@kernel.org \
--cc=dsahern@gmail.com \
--cc=jolsa@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@kernel.org \
--cc=namhyung@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.