Message ID | 20191018085531.6348-2-leo.yan@linaro.org |
---|---|
State | New |
Headers | show |
Series | [v1,1/3] perf tests: Remove needless headers for bp_account | expand |
Em Fri, Oct 18, 2019 at 04:55:30PM +0800, Leo Yan escreveu: > Arm architecture supports the breakpoint accounting but it doesn't > support breakpoint overflow signal handling. The current code uses the > same checking helper, thus it disables both testings (bp_account and > bp_signal) for arm platform. > > For handling two testings separately, this patch adds a dedicated > checking helper is_supported() for breakpoint accounting testing, thus > it allows supporting breakpoint accounting testing on arm platform; the > old helper test__bp_signal_is_supported() is only used to checking for > breakpoint overflow signal testing. Looks sensible, Applied, thanks. - Arnaldo > Signed-off-by: Leo Yan <leo.yan@linaro.org> > --- > tools/perf/tests/bp_account.c | 16 ++++++++++++++++ > tools/perf/tests/builtin-test.c | 2 +- > tools/perf/tests/tests.h | 1 + > 3 files changed, 18 insertions(+), 1 deletion(-) > > diff --git a/tools/perf/tests/bp_account.c b/tools/perf/tests/bp_account.c > index 52ff7a462670..d0b935356274 100644 > --- a/tools/perf/tests/bp_account.c > +++ b/tools/perf/tests/bp_account.c > @@ -188,3 +188,19 @@ int test__bp_accounting(struct test *test __maybe_unused, int subtest __maybe_un > > return bp_accounting(wp_cnt, share); > } > + > +bool test__bp_account_is_supported(void) > +{ > + /* > + * 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__) > + return false; > +#else > + return true; > +#endif > +} > diff --git a/tools/perf/tests/builtin-test.c b/tools/perf/tests/builtin-test.c > index 55774baffc2a..8b286e9b7549 100644 > --- a/tools/perf/tests/builtin-test.c > +++ b/tools/perf/tests/builtin-test.c > @@ -121,7 +121,7 @@ static struct test generic_tests[] = { > { > .desc = "Breakpoint accounting", > .func = test__bp_accounting, > - .is_supported = test__bp_signal_is_supported, > + .is_supported = test__bp_account_is_supported, > }, > { > .desc = "Watchpoint", > diff --git a/tools/perf/tests/tests.h b/tools/perf/tests/tests.h > index 72912eb473cb..9837b6e93023 100644 > --- a/tools/perf/tests/tests.h > +++ b/tools/perf/tests/tests.h > @@ -111,6 +111,7 @@ int test__map_groups__merge_in(struct test *t, int subtest); > int test__time_utils(struct test *t, int subtest); > > bool test__bp_signal_is_supported(void); > +bool test__bp_account_is_supported(void); > bool test__wp_is_supported(void); > > #if defined(__arm__) || defined(__aarch64__) > -- > 2.17.1 -- - Arnaldo
diff --git a/tools/perf/tests/bp_account.c b/tools/perf/tests/bp_account.c index 52ff7a462670..d0b935356274 100644 --- a/tools/perf/tests/bp_account.c +++ b/tools/perf/tests/bp_account.c @@ -188,3 +188,19 @@ int test__bp_accounting(struct test *test __maybe_unused, int subtest __maybe_un return bp_accounting(wp_cnt, share); } + +bool test__bp_account_is_supported(void) +{ + /* + * 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__) + return false; +#else + return true; +#endif +} diff --git a/tools/perf/tests/builtin-test.c b/tools/perf/tests/builtin-test.c index 55774baffc2a..8b286e9b7549 100644 --- a/tools/perf/tests/builtin-test.c +++ b/tools/perf/tests/builtin-test.c @@ -121,7 +121,7 @@ static struct test generic_tests[] = { { .desc = "Breakpoint accounting", .func = test__bp_accounting, - .is_supported = test__bp_signal_is_supported, + .is_supported = test__bp_account_is_supported, }, { .desc = "Watchpoint", diff --git a/tools/perf/tests/tests.h b/tools/perf/tests/tests.h index 72912eb473cb..9837b6e93023 100644 --- a/tools/perf/tests/tests.h +++ b/tools/perf/tests/tests.h @@ -111,6 +111,7 @@ int test__map_groups__merge_in(struct test *t, int subtest); int test__time_utils(struct test *t, int subtest); bool test__bp_signal_is_supported(void); +bool test__bp_account_is_supported(void); bool test__wp_is_supported(void); #if defined(__arm__) || defined(__aarch64__)
Arm architecture supports the breakpoint accounting but it doesn't support breakpoint overflow signal handling. The current code uses the same checking helper, thus it disables both testings (bp_account and bp_signal) for arm platform. For handling two testings separately, this patch adds a dedicated checking helper is_supported() for breakpoint accounting testing, thus it allows supporting breakpoint accounting testing on arm platform; the old helper test__bp_signal_is_supported() is only used to checking for breakpoint overflow signal testing. Signed-off-by: Leo Yan <leo.yan@linaro.org> --- tools/perf/tests/bp_account.c | 16 ++++++++++++++++ tools/perf/tests/builtin-test.c | 2 +- tools/perf/tests/tests.h | 1 + 3 files changed, 18 insertions(+), 1 deletion(-) -- 2.17.1